预购商品
书目分类
特别推荐
本書通過大量實例帶領系統管理員將成千上萬的日常任務自動化,構建自訂工具,充分利用神通廣大的PowerShell。全書分為三大部分。第一部分概述PowerShell的基本功能和用法,以及一些基本的程式設計概念,如變數、物件、函數、模組等。第二部分詳述日常任務的自動化,內容包括如何解析結構化資料,以及如何構建伺服器管理工具。第三部分介紹如何構建模組,內容涉及 的模組設計策略,以及將測試伺服器環境自動化,預置Hyper-V虛擬機器,安裝作業系統,部署和配置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 章 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
亞當·伯特倫(Adam Bertram) 微軟MVP,擁有20餘年資訊技術從業經驗,專注於系統管理、DevOps、自動化技術等領域,創辦了流行資訊技術知識服務平臺TechSnips,在Pluralsight和LinkedIn的線上學 臺上講授PowerShell課程,惠及數萬學習者。
最近浏览商品
客服公告
热门活动
订阅电子报