第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
· · · · · · (
收起)