Windows PowerShell实战指南(第2版)

Windows PowerShell实战指南(第2版)

详情
目录
第1章 背景介绍 1 
1.1 为什么要重视PowerShell 1 
1.2 本书适用读者 3 
1.3 如何使用本书 3 
1.4 搭建自己的实验环境 4 
1.5 安装Windows PowerShell 5 
1.6 在线资源 7 
1.7 赶紧使用PowerShell吧 7 

第2章 初识PowerShell 8 
2.1 选择你的“武器” 8 
2.2 重新认识代码输入 13 
2.3 常见误区 15 
2.4 如何查看当前版本 15 
2.5 动手实验 16 
2.6 进一步学习 16 

第3章 使用帮助系统 18 
3.1 帮助系统:发现命令的方法 18 
3.2 可更新的帮助 19 
3.3 查看帮助 21 
3.4 使用帮助找命令 22 
3.5 详解帮助 24 
3.6 访问“关于”主题 30 
3.7 访问在线帮助 31 
3.8 动手实验 32 

第4章 运行命令 33 
4.1 无需脚本,仅仅是运行命令 33 
4.2 剖析一个命令 34 
4.3 Cmdlet命名惯例 35 
4.4 别名:命令的昵称 36 
4.5 使用快捷方式 37 
4.6 小小作弊一下:Show-Command 39 
4.7 对扩展命令的支持 41 
4.8 处理错误 43 
4.9 常见误区 44 
4.10 动手实验 45 

第5章 使用提供程序 46 
5.1 什么是提供程序 46 
5.2 FileSystem的结构 49 
5.3 文件系统——其他数据存储的模板 50 
5.4 使用文件系统 51 
5.5 使用通配符以及绝对路径 52 
5.6 使用其他提供程序 54 
5.7 动手实验 57 
5.8 进一步学习 57 

第6章 管道:连接命令 58 
6.1 一个命令与另外一个命令连接:为你减负 58 
6.2 输出结果到CSV或XML文件 58 
6.3 管道传输到文件或打印机 63 
6.4 转换成HTML 64 
6.5 使用Cmdlets修改系统:终止进程和停止服务 65 
6.6 常见误区 66 
6.7 动手实验 68 

第7章 扩展命令 69 
7.1 如何让一个shell完成所有事情 69 
7.2 关于产品的“管理shell” 70 
7.3 扩展:找到并添加插件 70 
7.4 扩展:找到并添加模块 72 
7.5 命令冲突和移除扩展 75 
7.6 玩转一个新的模块 75 
7.7 配置脚本:在启动shell时预加载扩展 77 
7.8 常见误区 79 
7.9 动手实验 79 

第8章 对象:数据的另一个名称 80 
8.1 什么是对象 80 
8.2 为什么PowerShell使用对象 81 
8.3 探索对象:Get-Member 83 
8.4 对象标签,也就是所谓的“属性” 84 
8.5 对象行为,也就是所谓的“方法” 85 
8.6 排序对象 86 
8.7 选择所需的属性 86 
8.8 在命令结束之前总是对象的形式 87 
8.9 常见误区 89 
8.10 动手实验 89 

第9章 深入理解管道 91 
9.1 管道:更少的输入,更强大的功能 91 
9.2 PowerShell如何传输数据给管道 91 
9.3 方案A:使用ByValue进行管道输入 92 
9.4 方案B:使用ByPropertyName进行管道传输 95 
9.5 数据不对齐时:自定义属性 99 
9.6 括号命令 103 
9.7 提取属性的值 104 
9.8 动手实验 109 
9.9 进一步学习 110 

第10章 格式化及如何正确使用 111 
10.1 格式化:让输出更加美观 111 
10.2 默认格式 111 
10.3 格式化表格 115 
10.4 格式化列表 116 
10.5 宽度的格式化 117 
10.6 定制列和列表记录 118 
10.7 输出到文件、打印机或者主机上 120 
10.8 另外一个输出:网格 121 
10.9 常见误区 122 
10.10 动手实验 124 
10.11 进一步学习 125 

第11章 过滤和对比 126 
11.1 只获取必要的内容 126 
11.2 左过滤 127 
11.3 对比操作符 127 
11.4 过滤对象的管道 129 
11.5 迭代的命令行模式 130 
11.6 常见误区 132 
11.7 动手实验 133 
11.8 进一步学习 133 

第12章 学以致用 134 
12.1 定义任务 134 
12.2 发现命令 134 
12.3 学习如何使用命令 137 
12.4 自学的一些技巧 141 
12.5 动手实验 142 

第13章 远程处理:一对一及一对多 143 
13.1 PowerShell远程处理的原理 143 
13.2 WinRM概述 145 
13.3 一对一场景的Enter-PSSession和 
Exit-PSSession 148 
13.4 一对多场景的Invoke-Command 150 
13.5 远程命令和本地命令之间的差异 153 
13.6 深入探讨 157 
13.7 远程处理的配置选项 157 
13.8 常见误区 158 
13.9 动手实验 159 
13.10 进一步学习 159 

第14章 Windows管理规范 160 
14.1 WMI概要 160 
14.2 关于WMI的坏消息 162 
14.3 探索WMI 163 
14.4 选择你的武器:WMI或CIM 167 
14.5 使用Get-WmiObject 167 
14.6 使用Get-CimInstance 171 
14.7 WMI文档 172 
14.8 常见误区 172 
14.9 动手实验 173 
14.10 进一步学习 173 

第15章 多任务后台作业 174 
15.1 利用PowerShell实现多任务同时处理 174 
15.2 同步VS异步 174 
15.3 创建本地作业 175 
15.4 WMI作业 176 
15.5 远程处理作业 177 
15.6 获取作业执行结果 178 
15.7 使用子作业 181 
15.8 管理作业的命令 183 
15.9 调度作业 185 
15.10 常见困惑点 187 
15.11 动手实验 188 

第16章 同时处理多个对象 189 
16.1 对于大量管理的自动化 189 
16.2 首选方法:“批处理”cmdlet 190 
16.3 MI方式:调用WMI方法 191 
16.4 后备计划:枚举对象 195 
16.5 常见误区 199 
16.6 动手实验 202 

第17章 安全警报 203 
17.1 保证Shell安全 203 
17.2 Windows PowerShell的安全目标 204 
17.3 执行策略和代码签名 205 
17.4 其他安全措施 211 
17.5 其他安全漏洞 211 
17.6 安全建议 212 
17.7 动手实验 213 

第18章 变量:一个存放资料的地方 214 
18.1 变量简介 214 
18.2 存储值到变量中 214 
18.3 使用变量:有趣的引号 217 
18.4 存储多个对象在一个变量中 219 
18.5 双引号的其他技巧 223 
18.6 声明变量类型 225 
18.7 与变量相关的命令 227 
18.8 针对变量的最佳实践 228 
18.9 常见误区 228 
18.10 动手实验 229 
18.11 进一步学习 229 

第19章 输入和输出 230 
19.1 提示并显示信息 230 
19.2 Read-Host命令 231 
19.3 Write-Host命令 234 
19.4 Write-Output命令 235 
19.5 其他写入的方式 237 
19.6 动手实验 238 
19.7 进一步学习 238 

第20章 轻松实现远程控制 239 
20.1 PoweShell远程控制稍微容易一点 239 
20.2 创建并使用可重用会话 239 
20.3 利用Enter-PSSession命令使用会话 241 
20.4 利用Invoke-Command命令使用会话 243 
20.5 隐式远程控制:导入一个会话 244 
20.6 断开会话 245 
20.7 动手实验 247 
20.8 进一步学习 248 

第21章 你把这叫作脚本 249 
21.1 非编程,而更像是批处理文件 249 
21.2 使得命令可重复执行 250 
21.3 参数化命令 251 
21.4 创建一个带参数的脚本 252 
21.5 为脚本添加文档 254 
21.6 一个脚本,一个管道 256 
21.7 作用域初探 259 
21.8 动手实验 261 

第22章 优化可传参脚本 262 
22.1 起点 262 
22.2 让PowerShell去做最难的工作 263 
22.3 将参数定义为强制化参数 264 
22.4 添加参数别名 266 
22.5 验证输入的参数 268 
22.6 通过添加详细输出获得用户友好体验 269 
22.7 动手实验 271 

第23章 高级远程配置 272 
23.1 使用其他端点 272 
23.2 创建自定义端点 273 
23.3 启用多跳远程(multi-hop remoting) 277 
23.4 深入远程身份验证 278 
23.5 动手实验 280 

第24章 使用正则表达式解析文本文件 281 
24.1 正则表达式的目标 281 
24.2 正则表达式入门 282 
24.3 通过-Match使用正则表达式 284 
24.4 通过Select-String使用正则表达式 284 
24.5 动手实验 286 
24.6 进一步学习 287 

第25章 额外的提示、技巧以及技术 288 
25.1 Profile、提示以及颜色:自定义Shell界面 288 
25.2 运算符:-AS,-IS,-Replace,-Join,-Split, -IN,-Contains 292 
25.3 字符串处理 295 
25.4 日期处理 297 
25.5 处理WMI日期 298 
25.6 设置参数默认值 299 
25.7 学习脚本块 300 
25.8 更多的提示、技巧及技术 301 

第26章 使用他人的脚本 302 
26.1 脚本 302 
26.2 逐行检查 307 
26.3 动手实验 308 

第27章 学无止境 311 
27.1 进一步学习的思想 311 
27.2 既然已经阅读了本书,那么我要从哪里开始呢 312 
27.3 你会喜欢的其他资源 313 

第28章 PowerShell备忘清单 314 
28.1 标点符号 314 
28.2 帮助文档 317 
28.3 运算符 318 
28.4 自定义属性与列的语法 318 
28.5 管道参数输入 319 
28.6 何时使用$_ 320 

附录 复习实验 321 
实验回顾1:第1—6章 321 
实验回顾2:第1—14章 324 
实验回顾3:第1—19章 327 


内容介绍

PowerShell既是一门编程语言,同时也是一种管理Shell,通过PowerShell几乎可以管理Windows的方方面面。本书是为忙于运维的管理员所编写的参考指南。只需要一个月、每天花一小时,读者就能够学到让自己的工作变得更轻松的实战技能。本书章节安排合理,每章只需要一个小时,即可以零编程基础开始学习PowerShell。
作者介绍

关于作者 本书作者是PowerShell界的泰斗Don Jones与Jeffery Hicks,他们俩都是多年的PowerShell MVP,并以简洁、易入门的培训和写作风格而著称。Don在PowerShell.org撰写博客,而Jeff的博客则是jdhitsolutions.com/blog。 关于译者 宋沄剑,微软SQL Server MVP,SQL Server 2012 UI审查专家,Professional Association for SQL Server(PASS)北京分会联合发起人,数据库大会、TechED特约讲师,目前就职于易车网,负责易车海量数据平台的运维工作,设计自动化监控运维方案。曾任数据库高级顾问,帮助国内超过50家客户设计高可用/灾备方案。 何文通,新蛋科技有限公司信息系统部数据库管理科科长。曾任职于大型制造业公司,负责数据库运维与管理。加入新蛋后,主要负责MS SQL数据库运维工作,在MS SQL性能优化与故障诊断方面有丰富实战经验。 黄钊吉,近8年数据库相关经验,目前任职于一家大型物流企业,负责数据平台规划和运维工作。主要研究SQL Server性能和高可用技术,是三届SQL Server MVP,CSDN论坛SQL版大版版主,CSDN博客专家,《SQL Server性能优化与管理的艺术》一书作者。 陈畅亮,SQL Server MVP,曾受邀参加2015年DTCC(中国数据库技术大会)作为演讲嘉宾。出版书籍《SQL Server性能调优实战》。主要研究SQL Server、MySQL、NoSQL,以及分布式环境下海量数据存储的设计与开发。
关联推荐

美国亚马逊畅销书作者、PowerShell界泰斗、微软MVP力作!
    发表评论
    拾 减 贰 =
    评论通过审核后显示。