内容简介
第1章 背景介绍
1.1 为什么要重视PowerShell
1.2 本书适用读者
1.3 如何使用本书
1.4 搭建自己的实验环境
1.5 安装WindowsPowerShell
1.6 在线资源
1.7 赶紧使用PowerShell吧
第2章 初识PowerShell
2.1 选择你的“武器”
2.2 重新认识代码输入
2.3 常见误区
2.4 如何查看当前版本
2.5 动手实验
2.6 进一步学习
第3章 使用帮助系统
3.1 帮助系统:发现命令的方法
3.2 可更新的帮助
3.3 查看帮助
3.4 使用帮助找命令
3.5 详解帮助
3.6 访问“关于”主题
3.7 访问在线帮助
3.8 动手实验
第4章 运行命令
4.1 无需脚本,仅仅是运行命令
4.2 剖析一个命令
4.3 Cmdlet命名惯例
4.4 别名:命令的昵称
4.5 使用快捷方式
4.6 小小作弊一下:Show-Command
4.7 对扩展命令的支持
4.8 处理错误
4.9 常见误区
4.10 动手实验
第5章 使用提供程序
5.1 什么是提供程序
5.2 FileSystem的结构
5.3 文件系统——其他数据存储的模板
5.4 使用文件系统
5.5 使用通配符以及绝对路径
5.6 使用其他提供程序
5.7 动手实验
5.8 进一步学习
第6章 管道:连接命令
6.1 一个命令与另外一个命令连接:为你减负
6.2 输出结果到CSV或XML文件
6.3 管道传输到文件或打印机
6.4 转换成HTML
6.5 使用Cmdlets修改系统:终止进程和停止服务
6.6 常见误区
6.7 动手实验
第7章 扩展命令
7.1 如何让一个shell完成所有事情
7.2 关于产品的“管理shell”
7.3 扩展:找到并添加插件
7.4 扩展:找到并添加模块
7.5 命令冲突和移除扩展
7.6 玩转一个新的模块
7.7 配置脚本:在启动shell时预加载扩展
7.8 常见误区
7.9 动手实验
第8章 对象:数据的另一个名称
8.1 什么是对象
8.2 为什么PowerShell使用对象
8.3 探索对象:Get-Member
8.4 对象标签,也就是所谓的“属性”
8.5 对象行为,也就是所谓的“方法”
8.6 排序对象
8.7 选择所需的属性
8.8 在命令结束之前总是对象的形式
8.9 常见误区
8.10 动手实验
第9章 深入理解管道
9.1 管道:更少的输入,更强大的功能
9.2 PowerShell如何传输数据给管道
9.3 方案A:使用ByValue进行管道输入
9.4 方案B:使用ByProperty Name进行管道传输
9.5 数据不对齐时:自定义属性
9.6 括号命令
9.7 提取属性的值
9.8 动手实验
9.9 进一步学习
第10章 格式化及如何正确使用
10.1 格式化:让输出更加美观
10.2 默认格式
10.3 格式化表格
10.4 格式化列表
10.5 宽度的格式化
10.6 定制列和列表记录
10.7 输出到文件、打印机或者主机上
10.8 另外一个输出:网格
10.9 常见误区
10.10 动手实验
10.11 进一步学习
第11章 过滤和对比
11.1 只获取必要的内容
11.2 左过滤
11.3 对比操作符
11.4 过滤对象的管道
11.5 迭代的命令行模式
11.6 常见误区
11.7 动手实验
11.8 进一步学习
第12章 学以致用
12.1 定义任务
12.2 发现命令
12.3 学习如何使用命令
12.4 自学的一些技巧
12.5 动手实验
第13章 远程处理:一对一及一对多
13.1 PowerShell远程处理的原理
13.2 WinRM概述
13.3 一对一场景的 Enter-PSSession和Exit-PSSession
13.4 一对多场景的 Invoke-Command
13.5 远程命令和本地命令之间的差异
13.6 深入探讨
13.7 远程处理的配置选项
13.8 常见误区
13.9 动手实验
13.10 进一步学习
第14章 Windows管理规范
14.1 WMI概要
14.2 关于WMI的坏消息
14.3 探索WMI
14.4 选择你的武器:WMI 或CIM
14.5 使用Get-WmiObject
14.6 使用Get-CimInstance
14.7 WMI文档
14.8 常见误区
14.9 动手实验
14.10 进一步学习
第15章 多任务后台作业
15.1 利用PowerShell实现多任务同时处理
15.2 同步VS异步
15.3 创建本地作业
15.4 WMI作业
15.5 远程处理作业
15.6 获取作业执行结果
15.7 使用子作业
15.8 管理作业的命令
15.9 调度作业
15.10 常见困惑点
15.11 动手实验
第16章 同时处理多个对象
16.1 对于大量管理的自动化
16.2 首选方法:“批处理”cmdlet
16.3 MI方式:调用WMI方法
16.4 后备计划:枚举对象
16.5 常见误区
16.6 动手实验
第17章 安全警报
17.1 保证Shell安全
17.2 Windows PowerShell的安全目标
17.3 执行策略和代码签名
17.4 其他安全措施
17.5 其他安全漏洞
17.6 安全建议
17.7 动手实验
第18章 变量:一个存放资料的地方
18.1 变量简介
18.2 存储值到变量中
18.3 使用变量:有趣的引号
18.4 存储多个对象在一个变量中
18.5 双引号的其他技巧
18.6 声明变量类型
18.7 与变量相关的命令
18.8 针对变量的最佳实践
18.9 常见误区
18.10 动手实验
18.11 进一步学习
第19章 输入和输出
19.1 提示并显示信息
19.2 Read-Host命令
19.3 Write-Host命令
19.4 Write-Output命令
19.5 其他写入的方式
19.6 动手实验
19.7 进一步学习
第20章 轻松实现远程控制
20.1 PoweShell远程控制稍微容易一点
20.2 创建并使用可重用会话
20.3 利用Fnter-PSSession命令使用会话
20.4 利用Invoke-Command命令使用会话
20.5 隐式远程控制:导入一个会话
20.6 断开会话
20.7 动手实验
20.8 进一步学习
第21章 你把这叫作脚本
21.1 非编程,而更像是批处理文件
21.2 使得命令可重复执行
21.3 参数化命令
21.4 创建一个带参数的脚本
21.5 为脚本添加文档
21.6 一个脚本,一个管道
21.7 作用域初探
21.8 动手实验
第22章 优化可传参脚本
22.1 起点
22.2 让PowerShell去做最难的工作
22.3 将参数定义为强制化参数
22.4 添加参数别名
22.5 验证输入的参数
22.6 通过添加详细输出获得用户友好体验
22.7 动手实验
第23章 高级远程配置
23.1 使用其他端点
23.2 创建自定义端点
23.3 启用多跳远程(multi-hop remoting)
23.4 深入远程身份验证
23.5 动手实验
第24章 使用正则表达式解析文本文件
24.1 正则表达式的目标
24.2 正则表达式入门
24.3 通过-Match使用正则表达式
24.4 通过Select-String使用正则表达式
24.5 动手实验
24.6 进一步学习
第25章 额外的提示、技巧以及技术
25.1 Profile、提示以及颜色:自定义Shell界面
25.2 运算符:-AS,-IS,-Replace,-Join,-Spli,-IN,-Contains
25.3 字符串处理
25.4 日期处理
25.5 处理WMI日期
25.6 设置参数默认值
25.7 学习脚本块
25.8 更多的提示、技巧及技术
第26章 使用他人的脚本
26.1 脚本
26.2 逐行检查
26.3 动手实验
第27章 学无止境
27.1 进一步学习的思想
27.2 既然已经阅读了本书,那么我要从哪里开始呢
27.3 你会喜欢的其他资源
第28章 PowerShell备忘清单
28.1 标点符号
28.2 帮助文档
28.3 运算符
28.4 自定义属性与列的语法
28.5 管道参数输入
28.6 何时使用$
附录 复习实验
实验回顾1:第1—6章
实验回顾2:第1—14章
实验回顾3:第1—19章