《Windows PowerShell 高级编程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Arul Kumaravel,(美)Jon White等著,冯权友译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302188674
  • 页数:333 页
图书介绍:PowerShell是一种新的命令行外壳和脚本语言,是一种基于Windows系统的管理工具,本书通过介绍这款工具来教会读者简单、高效地进行系统治理和自动化。

第1章 PowerShell简介 1

1.1 Windows PowerShell设计原则 1

保留用户已有的投资 2

提供一个功能强大、面向对象的外壳程序 2

扩展性是第一位的 2

剔除开发过程中的障碍 3

1.2 Windows PowerShell快速入门 3

1.3 Windows PowerShell的高层体系结构 10

宿主程序 11

Windows PowerShell引擎 11

Windows PowerShell snap-in 11

1.4小结 12

第2章 扩展Windows PowerShell 13

2.1 PowerShell snap-in分类 13

2.2编写标准的PowerShell 14

snap-in 14

编写PowerShell snap-in 14

注册PowerShell snap-in 17

查看可用的PowerShell snap-in列表 19

将PowerShell snap-in动态装载到外壳程序中 19

从外壳程序中动态删除snap-in 20

取消注册snap-in 21

注册没有实现类的PSSnapin snap-in 22

保存snap-in配置文件 22

用保存的snap-in配置文件启动PowerShell 23

使用配置文件(profile)保存snap-in配置 24

2.3创建自定义的PowerShell snap-in 24

编写自定义的snap-in 24

使用自定义的snap-in 27

2.4小结 28

第3章 理解PowerShell扩展类型系统 29

3.1 PSObject 29

3.2构造PSObject对象 30

PSObject(object) 31

PSObject() 31

PSObject.AsPSObject(someobject) 32

3.3 ImmediateBaseObject属性和BaseObject属性 33

3.4成员 35

PSMemberInfoCollection 36

ReadOnlyPSMemberInfo-Collection 37

基类成员、适配器成员和扩展型成员 38

3.5成员分类 39

属性 40

方法 48

集合 53

3.6 TypeNames 56

3.7查找算法 57

3.8距离算法 57

3.9 PSObject的固有成员和MemberSets 58

3.10错误和异常 58

运行时错误 59

初始化错误 59

3.11类型转换 60

PowerShell语言中的标准 60

类型转换 60

自定义型转换 61

3.12 ToString方法 63

3.13类型配置(TypeData) 63

常用成员 65

脚本访问 66

3.14小结 66

第4章 开发cmdlet 67

4.1基本概念 67

命令行解析 69

命令发现 69

参数绑定 70

命令调用 70

4.2使用参数 71

强制参数 71

位置参数 72

参数集合 75

参数值验证 82

参数转换 85

4.3处理管道输入 90

4.4生成管道输出 98

4.5错误报告 100

ErrorRecord类 100

ErrorDetails类 103

非终结型错误和致命错误 105

4.6支持ShouldProcess 106

影响确认等级 108

ShouldContinue() 110

4.7使用PowerShell系统路径 110

4.8编写cmdlet帮助文档 115

4.9 cmdlet开发最佳实践 125

命名约定 126

与宿主交互 127

4.10小结 128

第5章 提供程序 129

5.1实现提供程序类的原因 130

5.2基本概念 131

路径 131

驱动器 133

错误处理 134

功能 134

5.3 Hello World提供程序 135

5.4内置提供程序 137

别名提供程序 138

环境提供程序 138

文件系统提供程序 138

函数提供程序 139

注册表提供程序 140

变量提供程序 141

证书提供程序 141

5.5提供程序基类 141

CmdletProvier类 141

DriveCmdletProvider类 142

ItemCmdletProvider类 142

ContainerCmdletProvider类 143

NavigationCmdletProvider类 145

5.6可选的提供程序接口 145

IContentCmdletProvider接口 145

IPropertyCmdletProvider接口 146

IDynamicPropertyCmdletProvider接口 147

ISecurityDescriptorCmdletProvider接口 147

5.7 CmdletProvider基类 147

CmdletProvider的方法和属性 149

DriveCmdletProvider 152

ItemCmdletProvider 155

ContainerCmdletProvider 162

NavigationCmdletProvider 168

5.8设计准则与提示 179

5.9小结 179

第6章 在应用程序中集成PowerShell引擎 181

6.1运行空间和管道 181

6.2入门 182

6.3执行命令行 192

使用RunspaceInvoke 182

使用Runspace和Pipeline 184

6.4使用管道的输出 186

Invoke()返回值 186

使用管道返回的PSObject对象 187

处理终结型错误 187

6.5同步管道中的输入、输出和错误 189

将输入对象传递给管道 189

同步执行时的输出管道 190

从错误管道获取非终结型错误 190

ErrorRecord类型 191

6.6操作管道的其他技巧 192

嵌套式管道 192

管道重用 192

在运行空间之间复制管道 193

6.7配置运行空间 193

创建自定义配置的运行空间 194

添加和删除snap-in 194

通过控制台文件创建RunspaceConfiguration 195

通过程序集创建RunspaceConfiguration对象 195

使用SessionStateProxy设置和获取变量 196

6.8异步执行管道 199

调用InvokeAsyc() 199

关闭输入管道 200

从异步管道读取输出和错误 200

监视管道的StateChanged事件 204

由PipelineStateInfo.Reason读取终结型错误 205

停止正在执行的管道 206

6.9异步运行空间操作 206

OpenAsync()方法 206

处理运行空间的StateChanged事件 206

6.10编程创建管道对象 207

创建空管道对象 208

创建命令对象 208

合并命令结果 209

添加命令参数 210

向管道添加命令 211

6.11使用cmdlet作为GUI程序的API层 212

高层架构 212

cmdlet与GUI成功集成的关键技术 213

提供自定义的宿主 214

6.12小结 214

第7章 宿主 215

7.1宿主与Windows PowerShell引擎之间的交互 215

7.2 cmdlet和宿主的交互 223

7.3 PSHost类 227

InstanceId 228

Name 229

Version 230

CurrentCulture 230

CurrentUICulture 230

PrivateData 231

EnterNestedPrompt 231

ExitNestedPrompt 233

应用程序通知方法 234

SetShouldExit 235

7.4 PSHostUserInterface类 243

WriteDebugLine 245

WriteVerboseLine 245

WriteWarningLine 245

WriteProgress 246

WriteErrorLine 246

Write方法 246

Prompt方法 247

PromptForCredential 249

Read方法 250

7.5 PSHostRawUserInterface类 250

7.6小结 254

第8章 格式与输出 255

8.1四种视图类型 255

Table视图:format-table 256

List视图:format-list 256

Custom视图:format-custom 257

Wide视图:format-wide 258

8.2不使用*.format.ps1xml配置文件进行格式化 258

8.3格式配置文件示例 260

8.4加载格式文件 261

update-formatdata 262

snap-in 263

RunspaceConfiguration类的API接口 263

8.5格式配置文件详解 263

View 264

Name 264

ViewSelectedBy 264

GroupBy 265

8.6 TableControl 267

TableHeader 267

TableRowEntries 267

8.7 ListControl 268

8.8 WideControl 269

8.9 CustomControl 271

8.10 其他配置条目 272

Wrap 273

AutoSize 273

8.11 使用场合 273

格式化字符串 274

反序列化对象的格式问题 274

类继承问题 275

选择集 278

颜色 279

8.12小结 281

附录A cmdlet动词命名准则 283

附录B cmdlet参数命名准则 289

附录C 元数据 297

附录D 提供程序基类与重载/接口 309

附录E 用于提供程序交互的核心cmdlet 331