Windows PowerShell實戰指南 第3版
作者在線
譯者簡介
1 背景介紹
1.1 為什么要重視PowerShell
1.1.1 沒有PowerShell
1.1.2 擁有PowerShell
1.2 現在只剩下“PowerShell”,而不是“Windows PowerShell”
1.3 本書適用讀者
1.4 如何使用本書
1.4.1 主要章節
1.4.2 動手實驗
1.4.3 代碼示例
1.4.4 進一步學習
1.4.5 補充說明
1.5 搭建自己的實驗環境
1.6 安裝Windows PowerShell
1.7 聯系我們
1.8 趕緊使用PowerShell吧
2 初識PowerShell
2.1 選擇你的“武器”
2.1.1 控制台窗口
2.1.2 集成腳本環境(ISE)
2.2 重新認識代碼輸入
2.3 常見誤區
2.4 如何查看當前版本
2.5 動手實驗
3 使用幫助系統
3.1 幫助系統:發現命令的方法
3.2 可更新的幫助
3.3 查看幫助
3.4 使用幫助系統查找命令
3.5 幫助詳解
3.5.1 參數集和通用參數
3.5.2 可選和必選參數
3.5.3 位置參數
3.5.4 參數值
3.5.5 發現命令示例
3.6 訪問“關於”主題
3.7 訪問在線幫助
3.8 動手實驗
3.9 動手實驗答案
4 運行命令
4.1 無需腳本,僅僅是運行命令
4.2 剖析一個命令
4.3 Cmdlet命名慣例
4.4 別名:命令的昵稱
4.5 使用快捷方式
4.5.1 簡化參數名稱
4.5.2 參數名稱別名
4.5.3 位置參數
4.6 小小作弊一下:Show-Command
4.7 對擴展命令的支持
4.8 處理錯誤
4.9 常見誤區
4.9.1 輸入Cmdlet名稱
4.9.2 輸入參數
4.10 動手實驗
5 使用提供程序
5.1 什么是提供程序
5.2 FileSystem的結構
5.3 理解文件系統與其他數據存儲的類似之處
5.4 使用文件系統
5.5 使用通配符與字面路徑
5.6 使用其他提供程序
5.7 動手實驗
5.8 進一步學習
5.9 動手實驗答案
6 管道:連接命令
6.1 一個命令與另外一個命令連接:為你減負
6.2 輸出結果到CSV或XML文件
6.2.1 輸出結果到CSV
6.2.2 輸出結果到XML
6.2.3 對比文件
6.3 管道傳輸到文件或打印機
6.4 轉換成HTML
6.5 使用Cmdlets修改系統:終止進程和停止服務
6.6 常見誤區
6.7 動手實驗
6.8 動手實驗答案
7 擴展命令
7.1 如何讓一個Shell完成所有事情
7.2 關於產品的“管理Shell”
7.3 擴展:找到並添加插件
7.4 擴展:找到並添加模塊
7.5 命令沖突和移除擴展
7.6 在非Windows操作系統
7.7 玩轉一個新的模塊
7.8 配置腳本:在啟動Shell時預加載擴展
7.9 從Internet獲取模塊
7.10 常見誤區
7.11 動手實驗
7.12 動手實驗答案
8 對象:數據的另一個名稱
8.1 什么是對象
8.2 理解為什么PowerShell使用對象
8.3 探索對象:Get-Member
8.4 使用對象標簽,也就是所謂的“屬性”
8.5 對象行為,也就是所謂的“方法”
8.6 排序對象
8.7 選擇所需的屬性
8.8 在命令結束之前總是對象的形式
8.9 常見誤區
8.10 動手實驗
8.11 動手實驗答案
9 深入理解管道
9.1 管道:更少的輸入,更強大的功能
9.2 PowerShell如何傳輸數據給管道
9.3 方案A:使用ByValue進行管道輸入
9.4 方案B:使用ByPropertyName進行管道傳輸
9.5 數據不對齊時:自定義屬性
9.6 括號命令
9.7 提取屬性的值
9.8 動手實驗
9.9 進一步學習
9.10 動手實驗答案
10 格式化及如何正確使用
10.1 格式化:讓輸出更加美觀
10.2 默認格式
10.3 格式化表格
10.4 格式化列表
10.5 格式化寬列表
10.6 創建自定義列與列表條目
10.7 輸出到文件、打印機或者主機上
10.8 輸出到GridView中
10.9 常見誤區
10.9.1 總是在最右邊格式化
10.9.2 一次一個對象
10.10 動手實驗
10.11 進一步學習
10.12 動手實驗答案
11 過濾和比較
11.1 只獲取必要的內容
11.2 左過濾
11.3 使用比較操作符
11.4 過濾對象的管道
11.5 使用迭代命令行模式
11.6 常見誤區
11.6.1 請左過濾
11.6.2 何時允許使用$_
11.7 動手實驗
11.8 進一步學習
11.9 動手實驗答案
12 學以致用
12.1 定義任務
12.2 發現命令
12.3 學習如何使用命令
12.4 自學的一些技巧
12.5 動手實驗
12.6 動手實驗答案
13 遠程處理:一對一及一對多
13.1 PowerShell遠程處理的原理
13.2 WinRM概述
13.3 一對一場景的Enter-PSSession和Exit-PSSession
13.4 一對多場景的Invoke-Command
13.5 遠程命令和本地命令之間的差異
13.5.1 Invoke-Command和–ComputerName對比
13.5.2 本地處理和遠程處理對比
13.5.3 反序列化對象
13.6 深入探討
13.7 遠程處理的配置選項
13.8 常見誤區
13.9 動手實驗
13.10 進一步學習
13.11 動手實驗答案
14 Windows管理規范
14.1 WMI概要
14.2 關於WMI的壞消息
14.3 探索WMI
14.4 選擇你的武器:WMI或CIM
14.5 使用Get-WmiObject
14.6 使用Get-CimInstance
14.7 WMI文檔
14.8 常見誤區
14.9 動手實驗
14.10 進一步學習
14.11 動手實驗答案
15 多任務后台作業
15.1 利用PowerShell實現多任務同時處理
15.2 同步VS異步
15.3 創建本地作業
15.4 WMI作業
15.5 遠程處理作業
15.6 獲取作業執行結果
15.7 使用子作業
15.8 管理作業的命令
15.9 調度作業
15.10 常見困惑點
15.11 動手實驗
15.12 動手實驗答案
16 同時處理多個對象
16.1 對於大量管理的自動化
16.2 首選方法:“批處理”Cmdlet
16.3 CIM/WMI方式:調用方法
16.4 后備計划:枚舉對象
16.5 常見誤區
16.5.1 哪一種是正確的方式
16.5.2 WMI方法與Cmdlet對比
16.5.3 方法文檔
16.5.4 ForEach-Object相關誤區
16.6 動手實驗
16.7 動手實驗答案
17 安全警報
17.1 保證Shell安全
17.2 Windows PowerShell的安全目標
17.3 執行策略和代碼簽名
17.3.1 執行策略設置
17.3.2 數字代碼簽名
17.4 其他安全措施
17.5 其他安全漏洞
17.6 安全建議
17.7 動手實驗
18 變量:一個存放資料的地方
18.1 變量簡介
18.2 存儲值到變量中
18.3 使用變量:關於引號有趣的技巧
18.4 在一個變量中存儲多個對象
18.4.1 與多值單一變量的單一對象交互
18.4.2 與多值單一變量的多個對象交互
18.4.3 與多個對象交互的其他方式
18.4.4 在PowerShell v3中展現屬性和方法
18.5 雙引號的其他技巧
18.6 聲明變量類型
18.7 與變量相關的命令
18.8 針對變量的最佳實踐
18.9 常見誤區
18.10 動手實驗
18.11 進一步學習
18.12 動手實驗答案
19 輸入和輸出
19.1 提示並顯示信息
19.2 Read-Host命令
19.3 Write-Host命令
19.4 Write-Output命令
19.5 其他輸出方式
19.6 動手實驗
19.7 進一步學習
19.8 動手實驗答案
20 輕松實現遠程控制
20.1 使得PowerShell遠程控制更加容易
20.2 創建並使用可重用會話
20.3 利用Enter-PSSession命令使用會話
20.4 利用Invoke-Command命令使用會話
20.5 隱式遠程控制:導入一個會話
20.6 使用斷開會話
20.7 動手實驗
20.8 進一步學習
20.9 動手實驗答案
21 你把這叫作腳本
21.1 非編程,而更像是批處理文件
21.2 使得命令可重復執行
21.3 參數化命令
21.4 創建一個帶參數的腳本
21.5 為腳本添加文檔
21.6 一個腳本,一個管道
21.7 作用域初探
21.8 動手實驗
21.9 動手實驗答案
22 優化可傳參腳本
22.1 起點
22.2 讓PowerShell去做最難的工作
22.3 將參數定義為強制化參數
22.4 添加參數別名
22.5 驗證輸入的參數
22.6 通過添加詳細輸出獲得易用性體驗
22.7 動手實驗
22.8 動手實驗答案
23 高級遠程控制配置
23.1 使用其他端點
23.2 創建自定義端點
23.2.1 創建會話配置
23.2.2 會話注冊
23.3 啟用多跳遠程控制(multi-hop remoting)
23.4 深入遠程控制身份驗證
23.4.1 雙向身份驗證默認設置
23.4.2 通過SSL實現雙向身份驗證
23.4.3 通過受信任的主機實現雙向身份驗證
23.5 動手實驗
23.6 動手實驗答案
24 使用正則表達式解析文本文件
24.1 正則表達式的目標
24.2 正則表達式入門
24.3 通過-Match使用正則表達式
24.4 通過Select-String使用正則表達式
24.5 動手實驗
24.6 進一步學習
24.7 動手實驗答案
25 額外的提示,技巧以及技術
25.1 Profile、提示以及顏色:自定義Shell界面
25.1.1 PowerShell Profile腳本
25.1.2 自定義提示
25.1.3 調整顏色
25.2 運算符:-AS、-IS、-Replace、-Join、-Split、-IN、-Contains
25.2.1 –AS和–IS
25.2.2 –Replace
25.2.3 –Join和-Split
25.2.4 –Contains和-In
25.3 字符串處理
25.4 日期處理
25.5 處理WMI日期
25.6 設置參數默認值
25.7 學習腳本塊
25.8 更多的提示、技巧及技術
26 使用他人的腳本
26.1 腳本
26.2 逐行檢查
26.3 動手實驗
26.4 動手實驗答案
27 學無止境
27.1 進一步學習的思想
27.2 既然已經閱讀了本書,那么我要從哪里開始呢
27.3 你會喜歡的其他資源
28 PowerShell備忘清單
28.1 標點符號
28.2 幫助文檔
28.3 運算符
28.4 自定義屬性與自定義列的語法
28.5 管道參數輸入
28.6 何時使用$_
附錄 復習實驗
復習實驗1
復習實驗1:1~6
復習實驗2
復習實驗2:1~14
復習實驗3
復習實驗3:1~19
答案
復習實驗1
復習實驗2
復習實驗3
思維導圖
防止博客圖床圖片失效,防止圖片源站外鏈:
http://www.processon.com/chart_image/5e5b4560e4b0541c5e14aab5.png)
思維導圖在線編輯鏈接: