微软有价值专家(MVP)多年经验毫无保留分享,一本书完全讲透Windows PowerShell自动化运维所有核心知识点,赠送同步视频学习教程,助你从运维初级工程师转向高级运维工程师!
第1章 走进PowerShell 的自动化运维的世界 1
1.1 程序语言的发展 2
1.2 什么是解释型语言 3
1.3 CMD 让人欢喜让我忧 4
1.4 Python 意外入局 5
1.5 PowerShell入局 6
1.6 PowerShell VS Python 8
1.7 利用PowerShell 快速脱单 10
1.8 利用PowerShell 实现IT自动化运维 14
1.9 章节回顾 17
第2章 PowerShell 发展历史及环境定制 18
2.1 PowerShell 版本发展历史 19
2.2 PowerShell 内置版本升级 22
2.3 PowerShell 7.1 版本安装 22
2.4 PowerShell 7.1 环境配置 23
2.5 PowerShell 版本分支 25
2.6 PowerShell交互环境的进入方式 26
2.7 PowerShell 命令与脚本运行方式 28
2.8 PowerShell 脚本执行策略 31
2.9 PowerShell 执行策略的范围 32
2.10 定制 PowerShell 执行环境 33
2.11 章节回顾 37
2.12 练习与知识巩固 37
第3章 PowerShell 的Provider 38
3.1 PowerShell中的骨架 Provider 39
3.2 PowerShell 原生系统Provider介绍 40
3.3 第三方Provider的安装与启用 46
3.4 PowerShell 第三方常用Provider 47
3.5 PowerShell Provider快捷方式PSDriver 50
3.6 章节回顾 52
3.7 练习与知识巩固 53
第4章 PowerShell Cmdlet命令与帮助 54
4.1 PowerShell Cmdlet 定义 55
4.2 PowerShell Cmdlet 基本参数 57
4.3 PowerShell Cmdlet高级参数 63
4.4 PowerShell Cmdlet 常用命令 70
4.5 PowerShell Cmdlet帮助更新 82
4.6 PowerShell Cmdlet 获取帮助 84
4.7 PowerShell Cmdlet 别名定义 88
4.8 章节回顾 90
4.9 练习与知识巩固 91
第5章 PowerShell管理单元和模块 92
5.1 PowerShell管理单元PSSnapin 93
5.2 PowerShell 管理单元加载 93
5.3 PowerShell 管理单元导出与导入 95
5.4 PowerShell 管理单元的卸载 95
5.5 PowerShell 的模块 95
5.6 PowerShell 模块中的Manifest 文件 98
5.7 PowerShell 模块在线安装 99
5.8 PowerShell 离线安装模块 108
5.9 PowerShell 模块的移除与卸载 110
5.10 章节回顾 113
5.11 练习与知识巩固 113
第6章 PowerShell 的对象 114
6.1 PowerShell 对象 115
6.2 PowerShell 对象的属性 116
6.3 PowerShell 对象的方法 120
6.4 PowerShell 自定义对象的创建 122
6.5 PowerShell 对象自定义属性的添加 124
6.6 PowerShell 对象自定义方法的添加 127
6.7 章节回顾 129
6.8 练习与知识巩固 130
第7章 PowerShell 管道符 131
7.1 PowerShell 管道符是什么 132
7.2 PowerShell 管道符值传递模式 134
7.3 PowerShell 管道符的属性名传递模式 136
7.4 PowerShell 管道符实现批量操作 139
7.5 PowerShell 管道符左过滤 140
7.6 PowerShell 右过滤Where子语句 143
7.7 章节回顾 145
7.8 练习与知识巩固 146
第8章 PowerShell的基本数据类型 147
8.1 什么是基本数据类型 148
8.2 基本数据类型之整型 148
8.3 基本数据类型之浮点型 149
8.4 基本数据类型之字符型 150
8.5 基本数据类型之Math类型 151
8.6 基本数据类型之字符串型 153
8.7 基本数据类型之日期时间类型 154
8.8 基本数据类型之布尔类型 155
8.9 基本数据类型之.Net静态类型 156
8.10 基本数据类型之Switch 类型 157
8.11 PowerShell 数据类型转换 158
8.12 章节回顾 159
8.13 练习与知识巩固 160
第9章 PowerShell 组合数据类型 161
9.1 什么是PowerShell组合数据类型 162
9.2 PowerShell 组合数据类型之数组类型 162
9.3 PowerShell 组合数据类型之哈希表类型 171
9.4 PowerShell 扩展组合类型之XML格式 176
9.5 PowerShell 扩展组合类型之JSON格式 178
9.6 章节回顾 179
9.7 练习与知识巩固 180
第10章 PowerShell 运算符与操作符 181
10.1 整型数据操作符与运算符 182
10.2 浮点数据操作符与运算符 184
10.3 字符型数据的运算符与操作符 187
10.4 逻辑型数据的运算符与操作符 192
10.5 逻辑型数据的布尔运算 203
10.6 数组类型数据的运算符与操作符 205
10.7 哈希表数据类型的运算符与操作符 207
10.8 章节回顾 208
10.9 练习与知识巩固 209
第11章 PowerShell 流程管理 210
11.1 什么是PowerShell 流程管理 211
11.2 PowerShell 简单的流程处理IF 211
11.3 PowerShell 流程处理嵌套IF处理 212
11.4 PowerShell 流程处理之Switch处理 213
11.5 PowerShell 流程处理之While 循环 218
11.6 PowerShell 流程处理之Do...While循环 221
11.7 PowerShell 流程处理之Do...Until循环 224
11.8 PowerShell 流程处理之For 循环 224
11.9 PowerShell 流程处理之ForEach 对象轮询 227
11.10 章节回顾 235
11.11 练习与知识巩固 236
第12章 PowerShell 集成开发环境 237
12.1 PowerShell 集成开发环境 238
12.2 PowerShell ISE——优秀的内置开发平台 240
12.3 PowerShell ISE 快捷工具栏 251
12.4 PowerShell ISE 扩展——自定义菜单定制 257
12.5 PowerShell ISE 常用附加组件(Add-On) 261
12.6 利用PowerShell ISE 进行脚本编写 266
12.7 PowerShell IDE 推荐开发工具——VS Code 282
12.8 PowerShell IDE开发环境中执行环境的切换 290
12.9 章节总结 293
12.10 练习与知识巩固 293
第13章 PowerShell 参数与变量 294
13.1 什么是PowerShell变量 295
13.2 PowerShell 特殊变量 $_ 296
13.3 PowerShell 特殊变量 $ 298
13.4 PowerShell变量的单引号与双引号 299
13.5 PowerShell中的转义字符 299
13.6 PowerShell 中与变量有关的Cmdlet 300
13.7 PowerShell 变量命名最佳实践 300
13.8 PowerShell环境中默认参数 301
13.10 练习与知识巩固 309
第14章 PowerShell 的错误处理 310
14.1 PowerShell 中的错误 311
14.2 PowerShell 错误捕获Try...Catch...Finally 313
14.3 PowerShell 多重错误处理 315
14.4 PowerShell 错误信息保存——$Error信息获取 316
14.5 PowerShell 异常的抛出——Throw 317
14.6 章节回顾 318
14.7 练习与知识巩固 319
第15章 PowerShell 的数据格式化处理 320
15.1 什么是数据的格式化处理 321
15.2 PowerShell数据显示输出 322
15.3 PowerShell数据的多向输出 331
15.4 PowerShell数据Select选择输出 332
15.5 PowerShell实现数据排序 336
15.6 PowerShell 数据统计功能 339
15.7 PowerShell数据分组功能 340
15.8 章节回顾 342
15.9 练习与知识巩固 343
第16章 PowerShell 的数据输入与输出 344
16.1 PowerShell数据的输入与输出 345
16.2 PowerShell 交互式环境数据输入——Read-Host 346
16.3 PowerShell 弹框实现数据输入 347
16.4 PowerShell的文本数据输入——Get-Content 348
16.5 PowerShell的文本数据匹配输入——Select-String 352
16.6 PowerShell CSV数据的输入——Import-CSV 355
16.7 PowerShell 读入层次数据XML 文件 358
16.8 PowerShell 读入层次数据Json语句 360
16.9 PowerShell 无规则内容输出——Set-Content 361
16.10 PowerShell 文件数据输出Out-File 362
16.11 PowerShell 格式化数据输出Export-CSV 363
16.12 PowerShell 输出为HTML 文件 365
16.13 PowerShell以栅格化数据输出 366
16.14 PowerShell 将数据输出到日志中 367
16.15 章节回顾 370
16.16 练习与知识巩固 371
第17章 理解和编写PowerShell 函数 372
17.1 什么是PowerShell函数 373
17.2 PowerShell 函数的形参和实参 375
17.3 PowerShell 函数参数的强类型定义 376
17.4 PowerShell 函数强制参数定义 377
17.5 PowerShell 函数位置参数 378
17.6 PowerShell 函数Switch参数 379
17.7 PowerShell 函数参数值限制 380
17.8 PowerShell 函数参数匹配 381
17.9 PowerShell 函数参数集定义 381
17.10 PowerShell [CmdletBinding] 函数高级功能启用 383
17.11 PowerShell 函数的管道符支持 388
17.12 构建PowerShell 脚本函数 390
17.13 章节回顾 394
17.14 练习与知识巩固 395
第18章 PowerShell Job 和 Scheduled Job 管理 396
18.1 什么是PowerShell Job 397
18.2 PowerShell的Job类型和结构 398
18.3 PowerShell的BackGround Job创建 399
18.4 PowerShell的Job状态获取 403
18.5 PowerShell的Job 等待 405
18.6 PowerShell Job的停止与删除 406
18.7 PowerShell Job 的Debug 406
18.8 PowerShell的Scheduled Job的创建 408
18.9 PowerShell的Scheduled Job的管理 411
18.10 章节回顾 416
18.11 练习与知识巩固 416
第19章 PowerShell 的远程管理 418
19.1 什么是PowerShell远程访问 419
19.2 启用PowerShell 的远程访问 420
19.3 远程访问命令Enter-PsSession的应用 422
19.4 一对多命令执行Invoke-Command 425
19.5 章节回顾 432
19.6 练习与知识巩固 432
第20章 PowerShell Web Access 433
20.1 什么是PowerShell Web Access 434
20.2 PowerShell Web Access的架构与结构 435
20.3 PowerShell Web Access 的访问权限控制 436
20.4 PowerShell Web Access 的部署准备 437
20.5 PowerShell Web Access 的部署 439
20.6 PowerShell Web Access 配置 441
20.7 章节回顾 446