技术教育社区
www.teccses.org

PowerShell实战/图灵程序设计丛书

封面

作者:(美)亚当·伯特伦

页数:254

出版社:人民邮电出版社

出版日期:2022

ISBN:9787115590503

电子书格式:pdf/epub/txt

内容简介

本书通过大量实例带领系统管理员将成千上万的日常任务自动化,构建自定义工具,充分利用神通广大的PowerShell。全书分为三大部分。第一部分概述PowerShell的基本功能和用法,以及一些基本的编程概念,如变量、对象、函数、模块等。第二部分详述日常任务的自动化,内容包括如何解析结构化数据,以及如何构建服务器管理工具。第三部分介绍如何构建模块,内容涉及很好的模块设计策略,以及将测试服务器环境自动化,预置Hyper-V虚拟机,安装操作系统,部署和配置SQL服务器等。

作者简介

亚当·伯特伦(Adam Bertram),微软MVP,拥有20余年信息技术从业经验,专注于系统管理、DevOps、自动化技术等领域,创办了流行信息技术知识服务平台TechSnips,在Pluralsight和LinkedIn的在线学习平台上讲授PowerShell课程,惠及数万学习者。【译者介绍】安道,专注于现代计算机技术书的翻译,译有《流畅的Python》《Flask Web开发》《Python网络编程攻略》《Ruby on Rails教程》等书。

本书特色

PowerShell既是脚本语言,也是执行系统管理任务的shell,可用于控制和自动化IT系统的方方面面。本书由五次荣获微软MVP的PowerShell行家亚当·伯特伦倾情著述,教你使用PowerShell这一省时利器,实现系统管理任务自动化。- 组合命令、控制流、处理错误、编写脚本、远程运行脚本,并使用PowerShell测试框架Pester测试脚本
– 解析XML和JSON等结构化数据,使用常见服务编写实际可用的服务器清点脚本
– 设计并构建PowerShell模块,证明PowerShell并不局限于临时脚本编程
– 使用PowerShell完全自动部署Windows
– 仅用几个ISO文件在Hyper-V主机上构建完整的AD林
– 仅用几行代码创建任意数量的Web服务器和SQL服务器

目录

第 一部分 基础知识

第 1 章 上手体验 2

1.1 打开PowerShell控制台 2

1.2 使用DOS命令 3

1.3 探索PowerShell命令 4

1.4 获取帮助 6

1.4.1 显示文档 6

1.4.2 学习一般主题 7

1.5 更新文档 8

1.6 小结 9

第 2 章 PowerShell基本概念 10

2.1 变量 10

2.1.1 显示及修改变量 10

2.1.2 用户定义的变量 11

2.1.3 自动变量 13

2.2 数据类型 16

2.2.1 布尔值 16

2.2.2 整数和浮点数 16

2.2.3 字符串 18

2.3 对象 20

2.3.1 查看属性 20

2.3.2 使用Get-Member cmdlet 21

2.3.3 调用方法 22

2.4 数据结构 23

2.4.1 数组 23

2.4.2 ArrayList 26

2.4.3 哈希表 27

2.5 自定义对象 30

2.6 小结 31

第 3 章 组合命令 32

3.1 启动一个Windows服务 32

3.2 使用管道 33

3.2.1 通过管道在命令间传递对象 33

3.2.2 通过管道在命令间传递数组 33

3.2.3 参数绑定 34

3.3 编写脚本 36

3.3.1 设置执行策略 37

3.3.2 PowerShell脚本编程 38

3.4 小结 40

第 4 章 控制流 41

4.1 理解控制流 41

4.2 使用条件语句 42

4.2.1 用运算符构建表达式 42

4.2.2 if语句 43

4.2.3 else语句 44

4.2.4 elseif语句 44

4.2.5 switch语句 46

4.3 使用循环 47

4.3.1 foreach循环 47

4.3.2 for循环 50

4.3.3 while循环 51

4.3.4 do/while循环和do/until循环 51

4.4 小结 52

第 5 章 错误处理 53

5.1 了解异常和错误 53

5.2 处理非终止性错误 54

5.3 处理终止性错误 56

5.4 探索$Error自动变量 57

5.5 小结 58

第 6 章 编写函数 59

6.1 函数与cmdlet 59

6.2 定义函数 60

6.3 为函数添加参数 61

6.3.1 创建简单的参数 61

6.3.2 参数属性:Mandatory 62

6.3.3 参数的默认值 63

6.3.4 为参数添加验证属性 63

6.4 接受管道输入 65

6.4.1 再添加一个参数 65

6.4.2 让函数支持管道 66

6.4.3 添加process块 67

6.5 小结 67

第 7 章 探索模块 68

7.1 探索默认模块 68

7.1.1 查找会话中的模块 68

7.1.2 查找计算机中的模块 69

7.1.3 导入模块 71

7.2 PowerShell模块的构成 72

7.2.1 .psm1文件 72

7.2.2 模块清单文件 73

7.3 使用自定义模块 74

7.3.1 查找模块 74

7.3.2 安装模块 75

7.3.3 卸载模块 76

7.4 自己创建模块 76

7.5 小结 77

第 8 章 远程运行脚本 78

8.1 使用脚本块 78

8.1.1 使用Invoke-Command在远程系统中运行代码 80

8.1.2 在远程计算机中运行本地脚本 81

8.1.3 远程使用本地变量 81

8.2 使用会话 83

8.2.1 新建会话 83

8.2.2 在会话中调用命令 84

8.2.3 打开交互式会话 85

8.2.4 断开及重新连接会话 85

8.2.5 使用Remove-PSSession删除会话 87

8.3 解读PowerShell远程处理身份验证 88

8.3.1 双跃点问题 88

8.3.2 使用CredSSP绕过双跃点问题 89

8.4 小结 91

第 9 章 使用Pester进行测试 92

9.1 Pester简介 92

9.2 Pester基础知识 93

9.2.1 Pester文件 93

9.2.2 describe块 93

9.2.3 context块 94

9.2.4 it块 94

9.2.5 断言 95

9.3 执行Pester测试 96

9.4 小结 96

第二部分 日常任务自动化

第 10 章 解析结构化数据 99

10.1 CSV文件 99

10.1.1 读取CSV文件 99

10.1.2 创建CSV文件 103

10.1.3 项目1:编写计算机清点报告 104

10.2 Excel电子表格 107

10.2.1 创建Excel电子表格 108

10.2.2 读取Excel电子表格 109

10.2.3 向Excel电子表格中添加行 110

10.2.4 项目2:创建Windows服务监控工具 111

10.3 JSON数据 112

10.3.1 读取JSON 113

10.3.2 创建JSON字符串 114

10.3.3 项目3:查询并解析REST API 115

10.4 小结 118

第 11 章 AD任务自动化 119

11.1 环境要求 119

11.2 安装ActiveDirectory PowerShell模块 120

11.3 查询和筛选AD对象 120

11.3.1 筛选对象 121

11.3.2 返回单个对象 122

11.3.3 项目4:查找30天内未修改密码的用户账户 123

11.4 创建和修改AD对象 124

11.4.1 用户和计算机 124

11.4.2 组 126

11.4.3 项目5:创建员工配置脚本 127

11.5 与其他数据源同步 130

11.5.1 项目6:编写同步脚本 131

11.5.2 映射数据源属性 131

11.5.3 定义返回相似属性的函数 132

11.5.4 在AD中查找匹配对象 134

11.5.5 修改AD属性 135

11.6 小结 136

第 12 章 Azure任务自动化 137

12.1 环境要求 137

12.2 Azure身份验证 137

12.2.1 创建服务主体 138

12.2.2 使用Connect-AzAccount实现非交互式身份验证 140

12.3 创建Azure虚拟机及所有依赖 140

12.3.1 创建资源组 141

12.3.2 创建网络栈 141

12.3.3 创建存储账户 143

12.3.4 创建操作系统映像 143

12.3.5 收尾工作 145

12.3.6 自动创建虚拟机 146

12.4 部署Azure Web应用 146

12.5 部署Azure SQL数据库 147

12.5.1 创建Azure SQL服务器 148

12.5.2 创建Azure SQL数据库 149

12.5.3 创建SQL服务器防火墙规则 149

12.5.4 测试SQL数据库 150

12.6 小结 151

第 13 章 Amazon Web Services任务自动化 152

13.1 环境要求 152

13.2 AWS身份验证 152

13.2.1 使用根用户验证身份 153

13.2.2 创建IAM用户和角色 154

13.2.3 验证IAM用户的身份 156

13.3 创建一个AWS EC2实例 156

13.3.1 虚拟私有云 157

13.3.2 互联网网关 158

13.3.3 路由 158

13.3.4 子网 159

13.3.5 为EC2实例分配一个AMI 160

13.3.6 锦上添花 161

13.4 部署Elastic Beanstalk应用 162

13.4.1 创建应用 163

13.4.2 部署包 165

13.5 在AWS中创建SQL Server数据库 167

13.6 小结 170

第 14 章 创建服务器清点脚本 171

14.1 环境要求 171

14.2 创建项目脚本 171

14.3 定义最终输出 172

14.4 探索脚本输入 172

14.5 查询单台服务器 173

14.6 提前规划:合并不同类型的信息 174

14.7 查询远程文件 176

14.8 查询Windows Management Instrumentation 178

14.8.1 磁盘空闲空间 179

14.8.2 操作系统信息 180

14.8.3 内存 181

14.8.4 网络信息 183

14.9 Windows服务 186

14.10 清理和优化脚本 188

14.11 小结 190

第三部分 自制模块

第 15 章 配置虚拟环境 194

15.1 环境要求 194

15.2 创建模块 195

15.2.1 创建空模块 196

15.2.2 创建模块清单文件 196

15.2.3 函数名称使用固定的前缀 196

15.2.4 导入新模块 197

15.3 自动配置虚拟环境 197

15.3.1 虚拟交换机 198

15.3.2 虚拟机 199

15.3.3 虚拟硬盘 201

15.4 使用Pester测试新定义的函数 205

15.5 小结 205

第 16 章 安装操作系统 206

16.1 环境要求 206

16.2 部署操作系统 207

16.2.1 创建VHDX文件 207

16.2.2 依附虚拟机 209

16.3 自动部署操作系统 210

16.4 在磁盘中存储加密凭据 211

16.5 PowerShell Direct功能 213

16.6 Pester测试 214

16.7 小结 215

第 17 章 部署AD 216

17.1 环境要求 216

17.2 创建AD林 216

17.3 构建林 217

17.3.1 将安全字符串保存到磁盘中 217

17.3.2 自动创建林 218

17.3.3 填充域 220

17.4 编写并运行Pester测试 224

17.5 小结 226

第 18 章 创建并配置SQL服务器 227

18.1 环境要求 227

18.2 创建虚拟机 227

18.3 安装操作系统 228

18.4 添加Windows无人值守应答文件 228

18.5 将SQL服务器添加到域中 229

18.5.1 安装SQL Server 231

18.5.2 将文件复制到SQL服务器中 231

18.5.3 运行SQL Server安装程序 232

18.6 自动安装SQL Server 233

18.7 运行Pester测试 236

18.8 小结 237

第 19 章 重构代码 238

19.1 回头看New-PowerLabSqlServer函数 238

19.2 使用参数集 242

19.3 小结 245

第 20 章 创建并配置IIS Web服务器 246

20.1 环境要求 246

20.2 安装和设置 246

20.3 从头开始构建Web服务器 248

20.4 WebAdministration模块 248

20.5 为网站配置SSL 251

20.6 小结 254

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《PowerShell实战/图灵程序设计丛书》
Article link:https://www.teccses.org/1363974.html