当前位置:首页 > 工业技术
Windows PowerShell 2.0应用编程最佳实践
Windows PowerShell 2.0应用编程最佳实践

Windows PowerShell 2.0应用编程最佳实践PDF电子书下载

工业技术

  • 电子书积分:19 积分如何计算积分?
  • 作 者:高阳,付海军编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2010
  • ISBN:9787121101656
  • 页数:655 页
图书介绍:Windows PowerShell是微软为Windows系统开发的Shell及脚本语言技术,它是一种新的命令行外壳和脚本语言,用于实现系统自动化管理。它的出现弥补了与Linux/Unix系统相比Windows在Shell方面的不足,同时也为程序开发人员提供了一种更高效的编写脚本的工具。Windows PowerShell建立在.NET Framework 2.0/3.x的基础上,IT专业人员可通过命令或脚本来管理计算机,从而管理与维护系统,并通过系统自动化来提高工作效率。
《Windows PowerShell 2.0应用编程最佳实践》目录

第1篇 Power Shell语法 2

第1章 Power Shell简介 2

1.1 什么是Power Shell 3

1.1.1 Power Shell的设计目标 3

1.1.2 Power Shell的设计定位 4

1.2 微软重新使用命令行的原因 4

1.3 学习方法 5

1.4 小结 6

第2章 安装与配置开发环境 7

2.1 Power Shell运行环境 8

2.1.1 安装要求 8

2.1.2 .NET框架 9

2.1.3 Power Shell 2.0 10

2.2 下载与安装.NET框架 10

2.2.1 安装前验证 10

2.2.2 下载.NET框架 11

2.2.3 安装.NET框架 12

2.3 下载安装Power Shell 14

2.3.1 下载Power Shell 14

2.3.2 安装Power Shell 15

2.4 运行Power Shell 17

2.4.1 运行方式 17

2.4.2 初次尝试Power Shell 18

2.5 小结 20

第3章 对象和对象类型 21

3.1 扩展类型系统 22

3.1.1 访问对象属性 22

3.1.2 使用对象方法 23

3.1.3 对象适配器 24

3.1.4 类型扩展 27

3.2 内置类型 28

3.2.1 字符串和字符串操作 28

3.2.2 数字类型 33

3.2.3 数组与集合 35

3.2.4 字典和哈希表 39

3.3 字面类型 42

3.3.1 类型转换 43

3.3.2 访问静态成员 47

3.4 小结 47

第4章 执行控制流 48

4.1 条件表达式 49

4.1.1 值比较 50

4.1.2 隐式类型转换 51

4.1.3 逻辑和位操作 52

4.1.4 布尔转换 56

4.1.5 字符互转换的作用 57

4.1.6 集合与条件表达式 58

4.2 分支语句 58

4.2.1 简单分支语句if/else 59

4.2.2 多分支语句switch 59

4.3 循环 62

4.3.1 简单循环语句while 62

4.3.2 循环和计数器 64

4.3.3 遍历集合的循环语句for each Loop 64

4.3.4 控制循环执行语句break和continue 65

4.4 小结 67

第5章 管道对象 68

5.1 传统基于文本的管道 69

5.2 基于对象的管道 69

5.3 使用Foreach-Object处理集合 71

5.4 使用Where-Object过滤集合 72

5.5 新增或删除指定对象的属性 73

5.6 排序集合 74

5.7 管道树 75

5.8 分类对象 75

5.9 采集对象统计信息 76

5.10 检测对象间的变化和不同 77

5.11 管道对象和功能编程 78

5.12 小结 78

第6章 运行脚本块 79

6.1 定义脚本块 80

6.2 返回值和参数 81

6.3 处理管道输入 86

6.3.1 变量作用域 88

6.4 将字符串作为表达式调用 93

6.5 脚本块作为委托 95

6.6 小结 96

第7章 运行函数 97

7.1 定义函数 98

7.1.1 函数体 98

7.1.2 函数参数 100

7.1.3 通过引用传递参数 102

7.1.4 返回值 103

7.1.5 作用域规则 104

7.2 过滤器 107

7.3 函数和脚本块 110

7.3.1 实现新的控制结构 110

7.3.2 脚本块策略 113

7.4 小结 115

第8章 命令别名 116

8.1 使用别名 117

8.1.1 创建别名 117

8.1.2 修改别名 119

8.1.3 导入/导出别名 121

8.2 别名提示、技巧和缺陷 124

8.2.1 名称冲突 124

8.2.2 复杂别名 126

8.2.3 删除破损别名 127

8.3 内置别名 129

8.3.1 类cmd.exe别名 129

8.3.2 类Unix别名 131

8.3.3 便捷别名 132

8.4 小结 133

第9章 提供程序 135

9.1 列举提供程序 136

9.2 驱动器 137

9.2.1 驱动器作用域 140

9.2.2 浏览驱动器 141

9.3 提供程序的能力 142

9.3.1 基本提供能力 142

9.3.2 驱动器提供程序 142

9.3.3 项提供程序 142

9.3.4 项容器提供程序 142

9.3.5 导航提供程序 143

9.3.6 项内容提供程序 143

9.3.7 项属性提供程序 143

9.3.8 动态项提供程序 144

9.3.9 项安全描述提供程序 144

9.4 小结 144

第10章 脚本文件 145

10.1 创建脚本 146

10.1.1 调用脚本 146

10.1.2 传递参数 147

10.1.3 返回值 151

10.2 从其他环境中执行脚本 152

10.3 开发和维护脚本库 153

10.3.1 以dot sourcing方式包含库 154

10.3.2 库路径 154

10.4 小结 155

第11章 错误处理和调试 156

11.1 处理错误 157

11.1.1 常见错误处理参数 158

11.1.2 诱捕错误 161

11.1.3 捕捉非终止性错误 170

11.1.4 抛出错误 172

11.2 调试代码 177

11.2.1 打印调试 178

11.2.2 步进调试脚本和中断执行 186

11.2.3 跟踪脚本执行细节 188

11.3 小结 192

第12章 脚本签名 193

12.1 代码签名如何工作 194

12.1.1 保证脚本的完整性 194

12.1.2 保证原始脚本 194

12.2 管理证书 195

12.3 创建自签名证书 197

12.3.1 创建认证证书 197

12.3.2 发行代码签名证书 200

12.4 签发脚本 204

12.5 在其他电脑中运行脚本 208

12.6 小结 209

第2篇 Power Shell基础应用第13章 Shell环境及其配置 211

13.1 Shell主机 212

13.2 用户配置脚本 214

13.2.1 设置所有用户和Shell 214

13.2.2 设置所有用户使用的特定Shell 215

13.2.3 设置特定用户和所有Shell 215

13.2.4 设置特定用户和特定Shell 215

13.3 使用已保存控制台配置工作 216

13.4 改变提示设置 217

13.5 小结 219

第14章 扩展类型系统 220

14.1 修改对象和类型 221

14.1.1 为单对象新增成员 221

14.1.2 为类的所有实例新增成员 226

14.2 扩展对象的格式 227

14.2.1 自定义视图 230

14.3 小结 232

第15章 获取帮助 233

15.1 帮助系统 234

15.1.1 基础知识 234

15.1.2 参数的详细信息 236

15.1.3 高级技巧 238

15.2 获取命令信息 243

15.3 获取对象信息 246

15.4 利用Internet获得帮助 247

15.5 小结 252

第16章 进程和服务 253

16.1 使用进程 254

16.1.1 获取进程列表 254

16.1.2 启动和停止进程 255

16.1.3 进程及其窗口 256

16.1.4 获取进程依赖的库 257

16.1.5 获取程序发布的信息 258

16.1.6 设置进程优先级 259

16.2 管理服务 259

16.2.1 改变服务状态 261

16.2.2 改变服务的属性 261

16.2.3 分析服务的依赖性 262

16.3 小结 262

第17章 输入和输出 263

17.1 读取内容 264

17.2 写入内容 266

17.3 指定编码方式 268

17.3.1 获取二进制内容 269

17.3.2 不同Unicode编码 270

17.4 从文本中提取数据 273

17.4.1 查找符合正则表达式的匹配 273

17.4.2 查找文件中的字符串 274

17.5 小结 274

第3篇 Power Shell高级应用第18章 管理PC 276

18.1 使用Windows事件日志 277

18.1.1 查看事件日志 277

18.1.2 读取事件日志 278

18.1.3 写入事件日志 280

18.1.4 搜索事件日志 283

18.1.5 管理事件日志 285

18.1.6 创建事件日志 290

18.2 性能计数器 291

18.2.1 Consuming Counter Data 292

18.2.2 监视程序 292

18.3 桌面计算机维护 293

18.3.1 维护计算机 294

18.3.2 监控磁盘空间 303

18.3.3 用户管理 304

18.3.4 设置桌面选项 310

18.4 维护网络 322

18.4.1 使用网络设置 322

18.4.2 设置网络适配器 328

18.4.3 配置Windows防火墙 338

18.5 Windows排错 340

18.5.1 启动故障排错 340

18.5.2 查看服务依存性 343

18.5.3 查看硬件问题 350

18.5.4 检查网络故障 352

18.6 证书存储 354

18.6.1 定位证书 354

18.6.2 管理证书 364

18.7 小结 371

第19章 Power Shell和万维网 373

19.1 基础 374

19.1.1 从网站获取文件 374

19.1.2 设置连接选项和调试连接问题 377

19.2 测试和验证网站 379

19.2.1 使用Test-Url验证页是否存在 380

19.2.2 检查网页是否包含破损的链接 381

19.3 使用新闻订阅Feed 383

19.3.1 获取Feed 383

19.4 调用Web Service 387

19.4.1 使用HTTP GET请求调用Web Service 388

19.4.2 使用HTTP POST请求调用Web Service 389

19.4.3 使用SOAP协议调用Web Service 391

19.5 处理FTP事务 393

19.5.1 从FTP服务器下载文件 393

19.5.2 上传文件到FTP服务器 394

19.6 小结 395

第20章 管理服务器 396

20.1 管理Internet信息服务 397

20.1.1 启用IIS 7.0 399

20.1.2 查看IIS 7.0配置 400

20.1.3 新建网站 409

20.1.4 创建应用程序池 412

20.1.5 启动和停止网站 414

20.2 管理网络服务 418

20.2.1 查看DNS配置 418

20.2.2 设置DNS服务器选项 426

20.2.3 查看DNS区域 429

20.2.4 创建DNS区域 431

20.2.5 管理WINS和DHCP 433

20.3 管理终端服务 435

20.3.1 设置终端服务选项 435

20.3.2 管理用户 442

20.4 配置群集服务 452

20.4.1 检查群集服务器 452

20.4.2 管理节点和移除群集 457

20.5 管理域用户 462

20.5.1 创建OU 462

20.5.2 创建域用户 464

20.5.3 修改用户属性 466

20.5.4 使用.csv文件创建用户 467

20.5.5 创建域组 468

20.5.6 添加用户到域组 470

20.6 管理SQL Server 2008 471

20.6.1 SQL Server 2008环境和提供程序 471

20.6.2 生成数据库脚本 475

20.7 小结 486

第21章 与COM对象交互 487

21.1 COM如何工作 488

21.2 Power Shell如何支持COM 488

21.3 通过COM界面脚本编程 490

21.3.1 Microsoft Word自动化 490

21.3.2 Microsoft Excel脚本 498

21.3.3 驱动Internet Explorer 503

21.4 与Windows脚本宿主代码协同工作 506

21.4.1 执行代码 507

21.4.2 在MSScript Control中公开对象 509

21.5 小结 510

第22章 用WMI管理Windows 511

22.1 WMI概述 512

22.2 WBEM和WMI组件 512

22.2.1 通用信息模型 512

22.2.2 网络传输 513

22.2.3 对象发现 514

22.3 Power Shell对WMI的支持 514

22.3.1 WMI查询工具Get-WmiObject 515

22.4 对WMI对象的语言支持 517

22.4.1 获得类和命名空间清单 520

22.4.2 WMI系统属性 522

22.5 查询硬件设备 523

22.6 获取软件信息 524

22.6.1 操作系统更新 524

22.6.2 已安装程序 525

22.7 网络配置 526

22.8 生成WMI代码 527

22.8.1 通过Scriptomatic生成WMI代码 527

22.9 小结 529

第23章 Power Shell社区扩展 531

23.1 安装和配置 532

23.1.1 标签扩展 532

23.1.2 编辑配置文件 533

23.1.3 获取帮助 533

23.2 文件系统工具 535

23.2.1 导航助手 535

23.2.2 NTFS助手 536

23.2.3 压缩和归档文件 539

23.3 网络工具 541

23.4 执行过程和命令 542

23.5 XML工具 544

23.6 使用图像文件 547

23.7 剪贴板助手 548

23.8 Internet Explorer订阅存储 552

23.9 实用程序 554

23.10 小结 557

第24章 PSEventing:Power Shell中的.NET事件 558

24.1 PSEventing 559

24.2 事件处理机制 559

24.3 FileSystem Watcher 560

24.4 监视写入系统事件日志的条目 562

24.5 处理WMI事件 563

24.6 检测脚本是否被用户终止 565

24.7 使用脚本块作为事件处理 567

24.8 小结 569

第25章 使用Power Tab加强Tab键自动补全 570

25.1 安装、禁用和卸载Power Tab 571

25.2 Power Tab的工作原理 573

25.2.1 数据栅格弹出窗口 575

25.3 配置Power Tab 576

25.3.1 智能感知补全程序 577

25.3.2 Tab扩展数据库 579

25.4 小结 581

第26章 Power Shell的安全性 582

26.1 安全概述 583

26.1.1 什么是安全 583

26.1.2 安全风险 583

26.2 安全模型 584

26.2.1 欺诈模型介绍 584

26.2.2 通过STRIDE模型分类 584

26.2.3 安全基础 585

26.2.4 黑名单/白名单 585

26.2.5 授权认证和角色 586

26.2.6 输入校验 586

26.2.7 代码注入 587

26.3 Power Shell环境的安全性 588

26.3.1 默认安全 588

26.3.2 管理命令路径 589

26.3.3 选择脚本执行策略 589

26.4 脚本签名 591

26.4.1 公钥加密及摘要 591

26.5 编写安全脚本 592

26.5.1 使用Secure String类 592

26.5.2 使用凭据 594

26.5.3 避免Invoke-Expression 597

26.6 小结 598

附录A Power Shell与其他语言的比较 599

附录B 管理实例 619

附录C Power Shell语法 629

附录D Power Shell语言快速参考 642

例3-1 使用.NET对象支持的Type()方法来获取对象的类型 22

例3-2 查找一个字符串中是否包含另外一个字符串 23

例3-3 不传递参数调用方法时不能省略后面的圆括号 23

例3-4 使用PSBase属性获取原始的未经适配器处理的对象 24

例3-5 读取XML文件中的内容 25

例3-6 说明Internet Explorer COM对象在Power Shell中如何工作 25

例3-7 获取System.Diagnostics.Process类型的扩展属性 27

例3-8 获取Process类型的所有扩展成员 28

例3-9 用一对单引号或者双引号括起字符序列创建字符串 29

例3-10 使用转义字符反引号“‘”处理引号转义 29

例3-11 包含‘a字符的字符串 29

例3-12 字符串的插入功能 31

例3-13 完全摆脱$process变量 31

例3-14 检测字符串是否以任意字母开头并以“s”或“n”结束 32

例3-15 匹配类似域名的字符串 32

例3-16 获取运行中程序的内存使用情况 34

例3-17 罗列其所有的元素并用逗号分隔创建数组 35

例3-18 创建空数组的方法 36

例3-19 通过起始和结束数字的数值区间序列来建立数组 36

例3-20 识别嵌套的数组语法并且将其转换为一个对象 37

例3-21 使用方括号[]来访问数组元素 37

例3-22 获取数组的第1个和最后一个元素 37

例3-23 用加运算符串联数组对象 38

例3-24 从对象集中搜索元素 39

例3-25 创建个人记录字典 40

例3-26 通过字面类型访问类型 42

例3-27 将字符串转换为整型 44

例3-28 从Ordered Dictionary对象转换到哈希表 45

例3-29 使用PSBase替代适配器视图获取真实的对象类型 46

例3-30 获取一个静态属性值 47

例4-1 比较一个变量值是否小于7 49

例4-2 比较字符串 51

例4-3 用大小写比较两个字符串 51

例4-4 比较字符串和数字类型 52

例4-5 检测一个文件是否具有.txt后缀并且大小超过10KB 52

例4-6 检验文件是否为今天创建或者修改的 53

例4-7 检查一个文件是否具有.txt后缀,或者是只读的 53

例4-8 检查一个文件是否为只读 53

例4-9 使用-band按位“与”数字3和1 54

例4-10 非零值转换为$true 56

例4-11 非零长度的字符串被转换为$true 56

例4-12 至少有一项的集合会返回$true 56

例4-13 将Word对象转换为布尔类型的值 57

例4-14 获取文件属性,System.IO.File Attributes枚举对象可以很容易地转换为字符串 57

例4-15 过滤集合 58

例4-16 获取字符串“LiMing” 58

例4-17 隐式类型转换的作用 58

例4-18 用多层复杂分支判断文件大小 59

例4-19 switch语句执行所有匹配的块 60

例4-20 使用正则表达式来执行操作 61

例4-21 为switch传递一个数字集合并判断数字类型 61

例4-22 等待notepad.exe进程退出 62

例4-23 do-while语句确定条件使循环重复执行 63

例4-24 使用for循环重写前一节的while循环 64

例4-25 使用for循环来达到遍历集合 64

例4-26 获取第1个有.log后缀的文件 65

例4-27 使用continue语句在遍历集合的过程中跳过偶数输出所有的奇数 66

例4-28 针对两个嵌套的foreach循环 66

例4-29 在外部循环中增加break语句 66

例5-1 将集合中所有元素与2相乘并返回一个新的集合 69

例5-2 获取所有以“Error”开头的字符串 70

例5-3 按照法语的习惯比较字符串 70

例5-4 将原始未排序的集合在排序之前保存在$unsort变量中 70

例5-5 将一些文件按照后缀分类 70

例5-6 快速统计数组值 71

例5-7 脚本块在所有对象上执行 72

例5-8 提取当前文件夹中文件的文件名和最后访问时间 73

例5-9 为文件列表增加Last Access Week Day属性 73

例5-10 选择当前文件夹中前面或后面的两个文件 73

例5-11 按照占用的内存大小排序进程列表 74

例5-12 使用Get-Process和Stop-Process来获取和终止进程 75

例5-13 根据系统服务的状态将集合分类 76

例5-14 收集与所有文件大小相关的信息 76

例5-15 检测当前的文件夹和昨天备份之间的不同 77

例5-16 确保没有因覆盖而丢失重要文件 77

例6-1 将脚本块赋值给一个变量 80

例6-2 获取脚本块的属性和方法 80

例6-3 多次执行脚本块,并通过不同的变量来访问它 81

例6-4 返回数字的脚本块 82

例6-5 使用return语句终止Write-Host命令的输出 82

例6-6 单个脚本块返回多个数字组成的数组 83

例6-7 演示$args的使用方法 83

例6-8 两个数相加时使用参数类型定义转换值类型 85

例6-9 调用者没有提供给$last Name参数值时使用“Unknown”默认值 85

例6-10 为$greeter脚本块的$last Name赋予默认值 86

例6-11 在$greeter中将$first Name参数设置为强制参数 86

例6-12 演示传递脚本块给For Each-Object并获取为所有文本文件最后的写入时间 86

例6-13 使用process段过滤数字集合并返回比5大的数字 87

例6-14 演示如何创建用于对管道中传入的所有数字求和脚本块 87

例6-15 累加管道中的所有元素 87

例6-16 计算特定日期和当前目录下文本文件最后修改时间之间的天数 88

例6-17 在$person Action脚本块中为$name变量赋值 89

例6-18 使用其获取$name变量的信息 90

例6-19 以$person Action脚本块为例把$name变量定义为全局变量 91

例6-20 演示如何在脚本块中隐藏变量 91

例6-21 在没有指定前缀的情况下为同名变量赋新值 92

例6-22 在脚本块中声明变量 92

例6-23 在同一个管道中的脚本块共享相同的作用域 93

例6-24 如何使用Invoke-Expression 94

例6-25 如何使用cmdlet创建允许用户输入表达式的计算程序 94

例6-26 如何声明脚本块并转换为委托 95

例7-1 使用函数输出字符 98

例7-2 获取之前定义的函数 99

例7-3 获取当前函数的信息 99

例7-4 如何使用Definition属性 99

例7-5 接收两个参数并将其和输出到控制台 100

例7-6 在函数中强制类型转换为整型参数 100

例7-7 格式化日期并输出到控制台 101

例7-8 强制通过抛出异常的形式使用默认值 101

例7-9 Format-Date函数在脚本块中声明变量 101

例7-10 创建函数交换两个变量值 102

例7-11 使用引用方式重写Swap Value函数 102

例7-12 在循环中输出多个对象的函数 103

例7-13 在集合中搜索对象的函数 103

例7-14 把对象写到控制台 104

例7-15 嵌套函数 104

例7-16 在当前作用域中覆盖父作用域中的同名函数 105

例7-17 在global和local作用域中声明同名函数 106

例7-18 定义接收文件的管道 107

例7-19 使用过滤器定义接收文件的管道 108

例7-20 定义一个ignore函数 111

例7-21 添加调试信息 112

例7-22 追踪除零操作并忽略所有错误 113

例8-1 检索在系统中注册的cmdlet的数目 117

例8-2 调用New-Alias实现输出 117

例8-3 返回所有以l开头的别名 118

例8-4 获取以l开头的别名 118

例8-5 获取所有以l开头的别名 119

例8-6 Test-Path cmdlet判断某个文件或目录是否存在 119

例8-7 更新log别名使用Write-Verbose替换Write-Host 119

例8-8 将log别名的指向改回Write-Host 120

例8-9 通过使用Set-Item cmdlet设置相应的记录 120

例8-10 通过设置别名记录的内容来使别名重新指向 120

例8-11 移除log别名的方法 120

例8-12 导出的别名文件为文本格式 121

例8-13 强制覆盖已经存在的别名 122

例8-14 通过指定过滤器的方式只导出部分别名 122

例8-15 分多次将别名导出 123

例8-16 将别名导出为脚本形式 123

例8-17 将别名导出为用逗号分隔的文件 123

例8-18 创建名为“Get-Command”的别名 124

例8-19 将别名dirr指向dir-recurse函数 127

例8-20 检查别名 127

例8-21 在cmd.exe下设置变量并获取其中的内容 130

例8-22 在Power Shell中执行相同操作的方法 130

例9-1 列出所有提供程序的清单 136

例9-2 获取所有提供程序管理单元的名称和.NET类型 136

例9-3 使用Get-PSDrive命令获取当前在系统中注册的驱动器 137

例9-4 创建docs:驱动器 138

例9-5 将网络共享\FileServerPublic映射为本地的net:驱动器 139

例9-6 使用Remove-PSDrive移除映射的驱动器 139

例9-7 在驱动器被占用情况下强制删除的实例代码 139

例9-8 函数映射驱动器并返回项的根目录 140

例9-9 Power Shell中的目录切换 141

例9-10 获取驱动器 141

例10-1 创建脚本文件 146

例10-2 在指定目录中查找文件名符合指定通配符的文件 148

例10-3 重写脚本文件 148

例10-4 获取文件序列并过滤掉所有大于指定大小的文件 148

例10-5 使用脚本文件查找小于13个字节的文件 149

例10-6 创建一个访问父作用域的脚本文件 149

例10-7 在脚本文件内使用$global关键字修改父作用域变量 150

例10-8 生成对象并输出 151

例10-9 返回现有对象 152

例10-10 在脚本文件中的函数中退出整个脚本文件的执行 152

例10-11 调用Power Shell.exe并把脚本块名作为参数 153

例10-12 最简单的脚本库 154

例10-13 更换当前目录的位置 154

例11-1 调用包含终止错误的Raise-Terminating Error函数的脚本文件 158

例11-2 使用陷阱写一个脚本文件“Date-Traps.psl” 161

例11-3 处理不同数据格式的转换错误 163

例11-4 将continue语句替换为break语句 166

例11-5 删除某个文件 167

例11-6 生成的错误日志文件erroi-dump.xml的格式 167

例11-7 创建脚本Divide By Zero.psl捕获异常 169

例11-8 创建一个名为“Log-Non Terminating Errors.psl”的脚本 172

例11-9 演示如何抛出终止错误 173

例11-10 创建名为“Function-Parameters With Exce Obj.psl”的脚本文件 174

例11-11 创建名为“Function-Parameters Non Terminating.psl”的脚本文件 176

例11-12 创建名为“Prite-Debug.psl”的脚本文件 178

例11-13 创建名为“Print-Debug With Instrument.psl”脚本 181

例11-14 创建名为“Print-Debug Output.psl”脚本 182

例11-15 创建新的脚本,并命名为“Count-Characters Debug.psl” 187

例11-16 创建名为“Trace-Command.psl”的脚本文件 189

例12-1 列举用户管理证书 196

例13-1 获取宿主对象及其提供的内容 212

例13-2 使用PS Host User Inrerface方法 213

例13-3 PS Host User Interface对象提供Shell属性 213

例13-4 为特定用户的Shell添加配置 215

例13-5 添加PS Eventing管理单元 216

例13-6 将判断过程封装为函数Is-Administrator 218

例14-1 创建名为“Person-Define.psl”的范例脚本 223

例14-2 在新的脚本文件Person-All.psl中测试新创建的方法和属性 224

例14-3 列出后缀为“psl”的所有文件 227

例14-4 使用Update-Format Data cmdlet创建自定义制表符视图 230

例15-1 显示所有以“about_”开头的cmdlet的帮助 234

例15-2 集合用管道传递给select获取唯一的分类值 235

例15-3 获取特定语言的主题或者Help File分类 236

例15-4 获取Get-Child Item的-filter参数的信息 236

例15-5 获取Get-Help的parameter参数的信息 237

例15-6 演示包含处理文件和项目的Microsoft.Power Shell.Management管理单元的帮助文件 238

例15-7 使用Get-Help获取帮助主题 239

例15-8 获取Add-Content帮助主题的detail和description属性 239

例15-9 查看保存在AML文件中的例子 241

例15-10 将通过索引值访问参数的方法用于访问帮助信息中 241

例15-11 使用foreach来遍历一系列的文件 242

例15-12 使用notice.txt脚本块作为查询条件来找到目标实例 243

例15-13 获取动词部分的cmdlet返回所有涉及stop的cmdlet 244

例15-14 获取所有与证书处理相关的命令 245

例15-15 在控制台提示符下输入Get-Command help命令 245

例15-16 使用Get-Member cmdlet获取文件属性 246

例15-17 获取Date Time类型的静态属性 247

例15-18 验证[datetime]∷Parse静态方法接收字符串参数并返回Date Time对象 247

例15-19 使用Windows脚本宿主对象的Open()方法打开URL 248

例15-20 创建一个带有单个参数的Search-Msdn函数 249

例15-21 导入System.Web并调用类 249

例15-22 使用Show-Msdn Help函数获取对象并打开MSDN的帮助页面 250

例15-23 创建使用基于Google或者live.com搜索的函数 250

例16-1 获取所有与Process相关的cmdlet的方法 254

例16-2 按照特定属性值排序所有进程并返回顶端的5个 254

例16-3 按照WS(Working Set)属性检查工作区 254

例16-4 执行Get-Process命令 255

例16-5 尝试关闭Notepad窗口 256

例16-6 获取到所有Google搜索的浏览器窗口 257

例16-7 获取Power Shell的存放位置 257

例16-8 获取计算器依赖的库清单 258

例16-9 获取使用动态库的进程清单 258

例16-10 获取当前计算机中部分运行程序的发布信息清单 258

例16-11 降低安装程序msiexec.exe的优先级 259

例16-12 获取当前运行的所有服务 260

例16-13 通过服务名类似DNS*的通配符查询DNS client服务 260

例16-14 通过获取所有匹配*net*通配符获取Windows下与网络相关的服务 260

例17-1 创建通用脚本 265

例18-1 创建用于查询系统日志存档策略的脚本文件 287

例18-2 修改日志的存档策略 287

例18-3 创建事件日志 290

例18-4 获取分区信息 294

例18-5 获取系统中存在的分区属性 295

例18-6 获取硬盘特定分区的配置信息 297

例18-7 查询系统中存在的逻辑磁盘 298

例18-8 更改计算机名 299

例18-9 获得过期文件并生成列表 303

例18-10 创建域账户 305

例18-11 创建本地用户组 307

例18-12 禁用或启用特定账户的权限 308

例18-13 检查屏幕保护程序 311

例18-14 创建一个screensaver表 314

例18-15 提供电源配置信息 316

例18-16 设置电源计划 319

例18-17 检测网络适配器的状态 322

例18-18 收集特定网络适配器的用于排错的详细信息 325

例18-19 过滤无用属性 327

例18-20 获取网络适配器的配置信息 330

例18-21 控制DHCP 336

例18-22 检测端口 339

例18-23 启用远程管理 340

例18-24 输出错误原因 340

例18-25 读取引导配置 341

例18-26 查看服务的依存关系 344

例18-27 检查硬件驱动 346

例18-28 查询未启动的自动运行服务 349

例18-29 检查网络故障 352

例18-30 列出证书 357

例18-31 定位过期的证书 360

例18-32 识别即将过期的证书 362

例18-33 删除大量证书 368

例19-1 重建一个Web Proxy对象 378

例19-2 创建一个HEAD请求 380

例19-3 检测网页链接 381

例19-4 获取Feed 383

例19-5 获取RDF格式 386

例19-6 获取下一周的天气预报 389

例19-7 传递SOAP消息给服务器 391

例20-1 查看网站信息 400

例20-2 获取某个特定网站的主目录地址 401

例20-3 获取当前主机中所有程序池的信息 403

例20-4 查看应用程序池的默认值 405

例20-5 列出虚拟目录 408

例20-6 创建网站 410

例20-7 添加应用程序池 412

例20-8 关闭网站 415

例20-9 查询DNS根提示信息 422

例20-10 创建DNS区域 431

例20-11 获取有关WINS服务器和DHCP服务器的配置信息 434

例20-12 检查终端服务配置 436

例20-13 临时禁止用户通过终端服务接入 438

例20-14 读取终端服务器用户设置 443

例20-15 分配访问权限 444

例20-16 设置客户端桌面颜色 445

例20-17 设置客户端壁纸 448

例20-18 启用客户端活动桌面 450

例20-19 查看群集配置 452

例20-20 查看节点配置 455

例20-21 添加和移除群集节点 457

例20-22 移除群集 460

例20-23 访问和控制OU 463

例20-24 创建域用户 464

例20-25 创建域组 469

例20-26 添加用户到域组 470

例20-27 加载SMO程序集 475

例20-28 生成数据库中所有的存储过程 482

例20-29 生成数据库中所有的函数 483

例20-30 生成数据库中所有的XML方案 484

例20-31 生成数据库中所有的用户 485

例21-1 读取文档内容 490

例21-2 从Word文档中读取出原始的段落结构和内容 492

例21-3 逐句读取文档内容 492

例21-4 读取Words集合 493

例21-5 创建和修改文档 494

例21-6 把字体颜色修改为红色 495

例21-7 拼写错误检查 497

例21-8 从工作表中读取单元格值 499

例21-9 遍历区域中的单元格以获取其值 501

例21-10 设置单元格内容 502

例21-11 控制浏览器进程 504

例21-12 提取搜索结果 505

例24-1 订阅删除事件 560

例24-2 使用WMI事件来获取Windows时间服务(W32 Time)的停止时间 563

例24-3 WMI查询 564

例24-4 监视文件夹 565

例24-5 扩展文件系统监视程序 567

例26-1 创建名为Start-Local User Manager的函数 595

相关图书
作者其它书籍
返回顶部