基本介紹
基本信息,編輯推薦,內容簡介,作者簡介,目錄,
基本信息
版 次:1
印刷時間:2011-10-1
紙 張:膠版紙
印 次:1
I S B N:9787111356776
包 裝:平裝
編輯推薦
詳盡講解微軟最新命令行自動化工具Windows PowerShell
囊括Windows提供的數百個命令行程式和腳本編程對象
內容簡介
Windows 7及其之前的Vista版本都帶有腳本命令、批處理檔案和命令行工具,這些工具可以幫助管理員更輕鬆地完成任務,大大提高工作效率。本書通過大量實例,深入淺出地講解這些工具,為廣大Windows用戶揭開這些工具的神秘面紗。
本書主要內容包括三大部分:第一部分介紹Windows Script Host工具,包括VBScript程式語言、對象的使用、編寫和調試腳本等,提供了Windows很多腳本編程對象的詳細參考。第二部分介紹用來編寫批處理檔案的Windows命令語言,包括命令行環境、MS-DOS模擬、通過管理工具來修改命令環境的方法,還給出Windows提供的20多種重要的命令行程式的指南。第三部分介紹Windows PowerShell的基礎知識、編程和套用,掌握管理Windows工作站、伺服器和應用程式的快捷方法。
本書內容豐富,實例眾多,適合Windows高級用戶、系統管理員、開發人員參考。
作者簡介
Brian Knittel 有30多年的軟體開發經驗。在做完電子工程套用於核能醫學和磁共振成像技術的畢業設計之後,他成為一名專職的獨立諮詢師。各種各樣的客戶,導致他長期所從事的項目都處於醫療檔案、工作流管理、實時工業系統控制等領域,最重要的是,他擁有了超過25年的MS-DOS、Windows和商業計算機網路的實際套用經驗。Brian是Que出版的一系列書籍的共同作者。
目錄
譯者序
前言
第一部分 用Windows Script Host進行腳本編程
第1章 Windows腳本宿主(WSH)1
1.1 什麼是Windows腳本1
1.1.1 “Script”部分1
1.1.2 “Windows”部分2
1.1.3 “Host”部分2
1.1.4 與編寫批處理檔案有何不同3
1.2 腳本語言3
1.2.1 VBScript4
1.2.2 JScript4
1.2.3 Perl4
1.2.4 Python5
1.2.5 Open Object REXX5
1.2.6 Ruby5
1.2.7 選擇一種語言5
1.3 一個簡單的腳本5
1.4 腳本檔案的類型7
1.4.1 JSE和VBE:已編碼腳本8
1.4.2 Windows腳本檔案(WSF)8
1.4.3 Windows腳本組件10
1.4.4 WSH設定10
1.5 創建第一個腳本檔案10
1.5.1 創建一個腳本資料夾並使其安全化10
1.5.2 創建腳本12
1.5.3 腳本編輯工具12
1.6 Windows如何運行腳本13
1.6.1 Wscript和Cscript13
1.6.2 運行腳本的方式14
1.6.3 給腳本傳遞信息15
1.6.4 保存腳本的結果16
1.6.5 Wscript和Cscript命令選項17
1.7 運行自己的腳本19
1.7.1 將腳本添加到路徑19
1.7.2 用一個捷徑圖示來運行腳本20
1.7.3 製作一個腳本捷徑20
1.7.4 從批處理檔案運行腳本21
1.7.5 自動運行腳本21
1.8 安全問題21
1.9 調試腳本23
1.10 到哪裡獲得更多信息26
第2章 VBScript教程27
2.1 VBScript簡介27
2.1.1 變數28
2.1.2 常量28
2.1.3 命名常量29
2.1.4 運算符和表達式30
2.1.5 自動類型轉換 32
2.2 流程控制32
2.2.1 If…Then語句33
2.2.2 Select Case語句35
2.2.3 Do While循環36
2.2.4 用Exit Do終止循環38
2.2.5 用For…Next語句計數39
2.2.6 使用For…Each處理集合和數組39
2.3 VBScript函式40
2.3.1 調用函式和子例程40
2.3.2 文檔和語法41
2.3.3 字元串操作函式42
2.3.4 日期和時間函式45
2.4 與用戶互動47
2.4.1 MsgBox()函式48
2.4.2 InputBox()函式49
2.4.3 用Wscript.Echo顯示簡單的文本信息51
2.5 高級VBScript話題52
2.5.1 錯誤處理52
2.5.2 過程:函式和子例程53
2.5.3 數組54
2.5.4 變數作用域56
2.6 如何進一步學習56
第3章 對象57
3.1 對象簡介57
3.1.1 類和實例58
3.1.2 容器和集合58
3.1.3 對象命名59
3.2 在VBScript中使用對象60
3.2.1 Automation和文檔檔案61
3.2.2 屬性和方法之間的區別61
3.2.3 嵌套對象62
3.2.4 釋放對象63
3.2.5 使用集合63
3.3 在JScript中使用對象64
3.3.1 區分大小寫64
3.3.2 使用集合64
3.4 用ActivePerl使用對象65
3.4.1 在WSH中運行Perl腳本66
3.4.2 Perl對象接口66
3.4.3 使用集合67
3.5 用ActivePython使用對象68
3.6 使用WScript對象69
3.7 查找並使用不常見的對象72
第4章 檔案和註冊表訪問77
4.1 完成實際工作77
4.2 操作檔案和資料夾77
4.2.1 Scripting.FileSystemObject78
4.2.2 操作檔案和路徑名82
4.2.3 Scripting.Drive對象86
4.2.4 Scripting.Folder對象88
4.2.5 Scripting.File對象93
4.3 讀取和寫入檔案96
4.3.1 TextStream對象97
4.3.2 從檔案讀取文本99
4.3.3 把文本寫入檔案100
4.3.4 使用Stdin和Stdout104
4.3.5 讀取二進制檔案106
4.4 讀取和寫入XML110
4.4.1 一些XML基礎知識111
4.4.2 讀取XML檔案117
4.4.3 創建XML或HTML檔案119
4.5 操作程式和捷徑121
4.5.1 WScript.Shell對象122
4.5.2 運行程式125
4.5.3 創建和修改捷徑130
4.6 操作環境132
4.6.1 提取環境信息133
4.6.2 管理環境設定134
4.7 操作註冊表136
4.7.1 查看註冊表鍵和值137
4.7.2 在註冊表中保存信息137
第5章 網路和印表機對象140
5.1 管理網路和印表機連線140
5.2 獲取網路用戶信息143
5.3 管理驅動器映射145
5.3.1 使用EnumNetworkDrives列出驅動映射145
5.3.2 添加驅動器映射147
5.3.3 刪除驅動映射148
5.3.4 在腳本中設定映射149
5.4 管理網路印表機連線150
5.4.1 顯示印表機信息151
5.4.2 連線到網路印表機152
5.4.3 重定向DOS會話印表機153
5.4.4 刪除印表機集合154
5.4.5 設定默認印表機155
5.5 從腳本列印156
第6章 訊息和傳真對象158
6.1 使用CDO從腳本傳送Email158
6.2 CDO對象模型159
6.2.1 CDO.Message對象161
6.2.2 使用Field165
6.2.3 CDO.Message對象的Field167
6.2.4 CDO BodyParts集合168
6.2.5 CDO BodyPart對象168
6.2.6 ADO Stream對象171
6.2.7 CDO.Configuration對象171
6.3 用CDO傳送訊息175
6.3.1 構建訊息175
6.3.2 添加附屬檔案178
6.3.3 包含圖像的HTML訊息179
6.3.4 指定接收者和主題180
6.3.5 指定傳送伺服器180
6.3.6 傳送訊息181
6.3.7 綜合套用182
6.4 從腳本發傳真186
6.4.1 使用腳本傳送傳真189
6.4.2 獲取關於傳真的更多信息190
第7章 WMI192
7.1 WMI簡介192
7.1.1 WMI功能193
7.1.2 命名空間193
7.1.3 遠程管理Windows195
7.2 進行WMI連線197
7.2.1 WMI對象層級197
7.2.2 使用WbemScripting.SWbemLocator對象連線200
7.2.3 使用別名連線201
7.2.4 連線到本地計算機202
7.2.5 安全性和驗證202
7.2.6 指定安全選項205
7.3 WMI集合和查詢206
7.3.1 SWbemServices207
7.3.2 WQL查詢208
7.3.3 SWbemObjectSet209
7.3.4 SWbemObject210
7.3.5 SWbemMethodSet和SWbemPropertySet211
7.4 Scriptomatic212
7.5 WMI示例213
7.5.1 收集系統信息214
7.5.2 管理印表機215
7.5.3 監控Windows服務包和熱補丁215
7.5.4 管理服務和任務216
7.6 獲取更多信息218
第8章 活動目錄腳本編程接口219
8.1 管理用戶目錄219
8.1.1 ADSI的使用219
8.1.2 使用ADSI和WSH的局限性220
8.2 ADSI概念220
8.2.1 多重繼承222
8.2.2 創建ADSI對象223
8.2.3 目錄安全性225
8.2.4 確定容器和葉子之間的區別226
8.3 針對WinNT:提供者的ADSI228
8.3.1 IADs229
8.3.2 IADsCollection和IADsContainer231
8.3.3 操作ADSI集合232
8.3.4 IADsComputer和IADsComputer-Operations233
8.3.5 IADsDomain235
8.3.6 IADsFileService和IADsFileService-Operations237
8.3.7 IADsFileShare239
8.3.8 IADsGroup240
8.3.9 IADsMembers241
8.3.10 IADsNamespaces241
8.3.11 IADsPrintJob和IADsPrintJob-Operations242
8.3.12 IADsPrintQueue和IADsPrintQueue-Operations244
8.3.13 IADsService和IADsService-Operations246
8.3.14 IADsSession249
8.3.15 IADsUser250
8.4 IIS和Exchange251
8.5 管理活動目錄252
8.6 活動目錄對象254
8.6.1 RootDSE254
8.6.2 IADsO and IADsOU255
8.7 開發ADSI腳本256
8.8 EzAD Scriptomatic257
8.9 獲取更多信息258
第9章 為計算機和網路管理部署腳本260
9.1 在現實世界中使用腳本260
9.2 使用WSF檔案261
9.2.1 WSF檔案格式引用262
9.2.2 用WSF檔案提供線上幫助266
9.2.3 處理命令行參數267
9.2.4 包含多個腳本270
9.2.5 綜合套用271
9.3 在網路上部署腳本274
9.4 使用IExpress創建簡單的安裝程式274
9.4.1 創建IExpress安裝腳本或批處理檔案277
9.4.2 處理用戶賬號控制278
9.4.3 提供一個Uninstall選項279
9.5 編寫腳本來管理其他計算機280
9.5.1 遠程腳本編程282
9.5.2 將腳本複製到多台計算機上282
9.6 腳本安全性問題284
9.6.1 腳本簽名285
9.6.2 腳本編碼器288
9.7 建立登錄腳本288
9.7.1 用戶配置檔案登錄腳本289
9.7.2 在Window 7和Vista上用於登錄、退出和其他事件的腳本290
9.7.3 組策略登錄、退出、啟動和關閉腳本290
9.8 計畫腳本以自動運行291
9.8.1 編寫無人值守腳本292
9.8.2 給事件日誌傳送訊息293
9.8.3 使用Task Scheduler調度腳本296
第二部分 命令行環境
第10章 CMD命令行299
10.1 命令提示符視窗299
10.2 運行CMD300
10.2.1 用管理員許可權打開一個命令提示符301
10.2.2 CMD選項302
10.2.3 關閉命令擴展303
10.3 命令行處理303
10.3.1 停止失控程式304
10.3.2 控制台程式輸入和輸出304
10.3.3 使用控制台視窗305
10.3.4 I/O重定向和管道305
10.3.5 在命令提示符視窗複製和貼上308
10.3.6 命令編輯和歷史列表308
10.3.7 名稱自動完成309
10.3.8 打開目錄名稱自動完成310
10.3.9 一行上的多條命令311
10.3.10 用括弧組合命令311
10.3.11 參數、逗號和引號312
10.3.12 轉義特殊字元312
10.4 配置CMD命令312
10.4.1 AutoRun312
10.4.2 環境變數替換313
10.4.3 搜尋路徑313
10.4.4 預定義環境變數和虛擬環境變數315
10.4.5 設定默認環境變數316
10.5 內建命令317
10.5.1 擴展命令327
10.5.2 使用dir命令列出檔案327
10.5.3 用set命令設定變數330
10.5.4 使用if命令的條件處理331
10.5.5 使用for命令掃描檔案332
10.6 獲取更多信息335
第11章 批處理檔案337
11.1 為何使用批處理檔案337
11.2 創建並使用批處理檔案337
11.3 批處理檔案編程339
11.4 在批處理檔案中顯示信息340
11.5 參數替代340
11.6 參數編輯341
11.7 使用if的條件處理343
11.7.1 基本的if命令343
11.7.2 查看檔案和資料夾343
11.7.3 檢查一個程式的成功343
11.7.4 執行if之後的幾條命令344
11.7.5 擴展的測試345
11.8 處理多個參數346
11.9 使用環境變數348
11.10 使用for命令處理多個項349
11.10.1 在for循環中使用多條命令350
11.10.2 延遲擴展352
11.11 使用批處理檔案子例程353
11.12 提示要求輸入353
11.13 有用的批處理檔案技術354
11.13.1 處理命令行選項354
11.13.2 管理網路映射356
11.13.3 檢查正確參數357
11.13.4 保存日誌檔案357
第12章 Windows上的MS-DOS程式359
12.1 Windows上的MS-DOS程式359
12.1.1 虛擬DOS機359
12.1.2 MS-DOS和COMMAND-COM361
12.2 配置MS-DOS環境361
12.2.1 視窗和記憶體選項362
12.2.2 CONFIG.NT365
12.2.3 AUTOEXEC.NT367
12.2.4 MS-DOS環境變數367
12.3 MS-DOS和網路367
12.4 從MS-DOS列印368
12.4.1 列印重定向368
12.4.2 列印螢幕369
12.5 使用MS-DOS配置串列通信369
12.6 針對DOS使用特殊用途設備369
12.7 管理MS-DOS程式369
第13章 Windows命令行工具371
13.1 Windows命令行程式371
13.2 必備的命令行371
13.3 GUI捷徑372
13.4 通用的shell程式374
13.4.1 findstr374
13.4.2 more377
13.4.3 tree378
13.4.4 xcopy378
13.5 檔案管理工具380
13.5.1 attrib381
13.5.2 cacls382
13.6 管理能力工具385
13.6.1 driverquery385
13.6.2 runas385
13.6.3 tasklist386
13.6.4 taskkill388
13.6.5 sc388
13.7 網路工具390
13.7.1 ipconfig390
13.7.2 net392
13.7.3 netstat399
13.7.4 nslookup400
13.7.5 ping402
13.7.6 tracert403
13.8 獲取更多工具404
第三部分 Windows PowerShell
第14章 Windows PowerShell簡介405
14.1 什麼是Windows PowerShell405
14.1.1 一個面向對象的命令Shell405
14.1.2 基於.NET Framework407
14.1.3 一個可擴展的環境408
14.2 獲取Windows PowerShell408
14.3 PowerShell環境410
14.4 PowerShell命令提示符410
14.4.1 命令行編輯411
14.4.2 複製和貼上412
14.4.3 暫停輸出和停止一個失控程式412
14.4.4 命令行語法412
14.5 Cmdlet、對象和腳本414
14.6 獲取幫助416
14.7 提示完整的命令417
14.8 別名417
14.8.1 如何獲取別名列表418
14.8.2 如何定義一個新的別名418
14.9 導航目錄和其他位置418
14.10 PowerShell安全性419
14.10.1 PowerShell腳本和用戶賬戶控制419
14.10.2 腳本執行策略420
14.11 PowerShell配置檔案421
第15章 PowerShell編程423
15.1 Windows PowerShell程式語言423
15.2 Windows PowerShell語法423
15.3 注釋424
15.4 變數和類型424
15.4.1 字面值425
15.4.2 對象方法和屬性426
15.4.3 對象構造器427
15.4.4 字元串插值427
15.4.5 特殊字元428
15.4.6 Here-Strings428
15.4.7 釋放變數428
15.4.8 預定義的變數429
15.4.9 數組430
15.4.10 常量434
15.5 表達式434
15.5.1 比較數組435
15.5.2 字元串運算符437
15.5.3 &(執行)運算符439
15.5.4 運算符優先權439
15.5.5 賦值運算符440
15.5.6 語句值441
15.5.7 強制轉型441
15.5.8 傳引用442
15.5.9 散列表442
15.6 流程控制444
15.6.1 if444
15.6.2 while445
15.6.3 do…while和do…until445
15.6.4 for445
15.6.5 foreach446
15.6.6 switch447
15.6.7 break449
15.6.8 continue449
15.6.9 程式塊450
15.7 異常處理450
15.7.1 trap450
15.7.2 try/catch/finally451
15.7.3 throw451
15.8 定義函式452
15.8.1 函式參數452
15.8.2 函式作用域454
15.8.3 Dot-Source運算符454
15.8.4 變數作用域455
15.8.5 管道函式和過濾器456
15.8.6 Splatting457
15.9 使用.NET API458
15.9.1 調用靜態成員函式458
15.9.2 操作字元串459
15.9.3 操作日期和時間460
15.9.4 轉換值462
15.9.5 數學函式462
第16章 使用PowerShell464
16.1 現實世界的PowerShell464
16.2 命令行技術465
16.2.1 生成對象465
16.2.2 過濾466
16.2.3 採取實際行動468
16.3 格式化Cmdlet輸出468
16.4 操作檔案和資料夾469
16.4.1 查看一個檔案是否存在473
16.4.2 從檔案讀取文本473
16.4.3 向檔案寫入文本474
16.4.4 根據大小識別檔案474
16.5 創建有用的腳本475
16.5.1 加注釋475
16.5.2 命令行處理575
16.5.3 編寫模組476
16.5.4 把異常處理作為一種退出策略477
16.6 使用散列表478
16.7 PowerShell集成腳本環境479
16.7.1 啟動PowerShell ISE479
16.7.2 配置ISE480
16.7.3 創建和編輯腳本480
16.7.4 在ISE中運行腳本481
16.7.5 設定斷點和單步執行482
16.7.6 互動地檢查和修改變數482
16.7.7 有條件的斷點483
16.8 遠程和後台PowerShell483
16.9 如何繼續學習483
附錄
附錄A VBScript參考485
附錄B CMD和批處理檔案語言參考495
附錄C 命令行程式參考503