WindowsPowerShell高級編程

WindowsPowerShell高級編程

WindowsPowerShell高級編程,作者,(美國)(Arulkumaravel)庫馬拉爾, (美國)(Jonwhite)懷特,由清華大學出版社於2008年出版。

基本信息

版權資訊

書 名: WindowsPowerShell高級編程

作 者:(美國)(Arulkumaravel)庫馬拉爾 (美國)(Jonwhite)懷特
出版社清華大學出版社
出版時間: 2008
ISBN: 9787302188674
開本: 16
定價: 48.00 元

內容簡介

PowerShell是一種新的命令行外殼和腳本語言,用於進行系統管理和自動化。《WindowsPowerShell高級編程》的作者由微軟專家團隊組成,從程式設計師的角度對WindowsPowerShell編程技術進行介紹,不儀講解了PowerShell的核心模組和基本概念,還提供了大量利用PowerShell強大功能構建軟體包的實用開發技巧,是學習PowerShell編程的最佳參考。
在學習過程中,您不僅會發現PowerShell的SDK為應用程式提供了完整的技術支持,還將體驗PowerShell的傘新技術,它使所有.NETFramework對象都可以通過腳本訪問,這也使得PowerShell有望成為最受歡迎的工具和對Windows管理員來說最重要的語言。一旦升始編寫命令行類的上具程式,您就會驚奇地發現PowerShell可以使您將注意力集中在核心業務邏輯上。相信這款由微軟精心打造的軟體會為您的編程生活帶來額外的驚喜和收穫。
《WindowsPowerShell高級編程》主要內容
創建PowerShell的Snap—in
開發自定義的Cmdlet
創建自定義的提供者
調用PowerShell執行引擎
實現宿主用戶接口
類型擴展及格式化
《WindowsPowerShell高級編程》讀者對象

作者簡介

ArulKumaravel是目前Windows:PowerShell開發小組的負責人。從早期開始,他就參與了這個項目並領導該小組發布了第一版的WindowsPowerShell產品。現在,他正領導著下一個版本的PowerShell產品的開發。Arul從他年輕時學習BASIC編程開始,就著迷於計算機技術。他在Iowa大學和印度Madras工程學院都獲得了計算機科學方面的碩士學位。在微軟實習期間,他為IE3瀏覽器編寫了第一個JavaScfipt/VBScfipt調試器,同時微軟公司的氛圍也留給了他很好的印象,他決定為微軟效力而改變數以萬計人的生活。在微軟任職的11年裡,他在各種各樣的小組工作過,發布了很多個版本的產品,包括IE瀏覽器Windows作業系統、目錄管理伺服器。最近,由於對科學技術的商業運作感興趣,Arul開始在Wharton商學院刻苦攻讀M.B.A。
JonWhite,是位軟體工程師,生活工作在美麗的西雅圖東郊,他也是微軟PowerShell小組的創始成員。他的職業生涯開始於微軟作業系統伺服器版的管理工具組。10多歲時,父親在二手店給他買了一個8088型PC,此後作為業餘愛好者的他開始學習程式設計。那個二手PC內置MS-DOS2.0,它的debug.exe只含有16位反彙編器而沒有彙編器。因此,Jon在程式設計方面的第一次嘗試就是把長長的位元組表反彙編成一個反向查找的字典,以此將彙編程式手動地變成可執行二進制代碼。更妙的是,他後來查出了64位Windows作業系統中debug.exe的漏洞。作為PowerShell小組的一員,在2004年,當他負責將小組的測試工作從Pefl轉移到PowerShell腳本上來時,他編寫了該語言的第一個工作腳本。業餘時間,他喜歡航海或者在自家後院裡玩焰火。

目錄

第1章PowerShell簡介
1.1 WindowsPowerShell設計原則
1.1.1 保留用戶已有的投資
1.1.2 提供一個功能強大、面向對象的外殼程式
1.1.3 擴展性是第一位的
1.1.4 剔除開發過程中的障礙
1.2 WindowsPowerShell快速入門
1.3 WindowsPowerShell的高層體系結構
1.3.1 宿主程式
1.3.2 WindowsPowerShell引擎
1.3.3 WindowsPowerShellsnap-in
1.4 小結
第2章 擴展WindowsPowerShell
2.1 PowerShellsnap-in分類
2.2 編寫標準的PowerShellsnap-in
2.2.1 編寫PowerShellsnap-in
2.2.2 註冊PowerShellsnap-in
2.2.3 查看可用的PowerShellsnap-in列表
2.2.4 將PowerShellsnap.in動態裝載到外殼程式中
2.2.5 從外殼程式中動態刪除snap-in
2.2.6 取消註冊snap-in
2.2.7 註冊沒有實現類的PSSnapinsnap-in
2.2.8 保存snap-in配置檔案
2.2.9 用保存的snap-in配置檔案啟動PowerShell
2.2.1 0使用配置檔案(profile)保存snap-in配置
2.3 創建自定義的PowerShellsnap-in
2.3.1 編寫自定義的snap-in
2.3.2 使用自定義的snap-in
2.4 小結
第3章 理解PowerShell擴展類型系統
3.1 PSObject
3.2 構造PSObject對象
3.2.1 PSObject(object)
3.2.2 PSObjecto
3.2.3 PSObject.AsPSObject(someobject)
3.3 ImmediateBaseObject屬性和BaseObject屬性
3.4 成員
3.4.1 PSMemberlnfoCollection
3.4.2 ReadOnlyPSMemberInfoCollection
3.4.3 基類成員、適配器成員和擴展型成員
3.5 成員分類
3.5.1 屬性
3.5.2 方法
3.5.3 集合
3.6 聊eNames
3.7 查找算法
3.8 距離算法
3.9 PSObiect的固有成員和MemberSets
3.10 錯誤和異常
3.10.1 運行時錯誤
3.10.2 初始化錯誤
3.11 類型轉換
3.11.1 PowerShell語言中的標準類型轉換
3.11.2 自定義型轉換
3.12 TOString方法
3.13 類型配置(聊eData)
3.13.1 常用成員
3.13.2 腳本訪問
3.14 小結
第4章 開發cmdlet
4.1 基本概念
4.1.1 命令行解析
4.1.2 命令發現
4.1.3 參數綁定
4.1.4 命令調用
4.2 使用參數
4.2.1 強制參數
4.2.2 位置參數
4.2.3 參數集合
4.2.4 參數值驗證
4.2.5 參數轉換
4.3 處理管道輸入
4.4 生成管道輸出
4.5 錯誤報告
4.5.1 ErrorRecord類
4.5.2 ErrorDetails類
4.5.3 非終結型錯誤和致命錯誤
4.6 支持ShouldProcess
4.6.1 影響確認等級
4.6.2 ShouldContinue()
4.7 使用PowerSheU系統路徑
4.8 編寫cmdlet幫助文檔
4.9 cmdlet開發最佳實踐
4.9.1 命名約定
4.9.2 與宿主互動
4.10 小結
第5章 提供程式
5.1 實現提供程式類的原因
5.2 基本概念
5.2.1 路徑
5.2.2 驅動器
5.2.3 錯誤處理
5.2.4 功能
5.3 HelloWorld提供程式
5.4 內置提供程式
5.4.1 別名提供程式
5.4.2 環境提供程式
5.4.3 檔案系統提供程式
5.4.4 函式提供程式
5.4.5 註冊表提供程式
5.4.6 變數提供程式
5.4.7 證書提供程式
5.5 提供程式基類
5.5.1 CmdletProvier類
5.5.2 DriveCmdletProvider類
5.5.3 ItemCmdletProvider類
5.5.4 ContainerCmdletPmvider類
5.5.5 NavigationCmdletProvider類
5.6 可選的提供程式接口
5.6.1 IContentCmdletProvider接口
5.6.2 IPropertyCmdletProvider接口
5.6.3 lDynamicPropertyCmdletPmvic接口
5.6.4 ISecurityDescriptorCmdletProvi接口
5.7 CmdletProvider基類
5.7.1 CmdletProvider的方法和屬性
5.7.2 DriveCmdletProvider
5.7.3 ItemCmdletProvider
5.7.4 ContainerE:mdletProvider
5.7.5 NavigationCmdletProvider
5.8 設計準則與提示
5.9 小結
第6章 在應用程式中集成PowerShe引擎
6.1 運行空間和管道
6.2 入門
6.3 執行命令行
6.3.1 使用Runspaceinvoke
6.3.2 使用Runspace和Pipeline
6.4 使用管道的輸出
6.4.1 Invoke()返回值
6.4.2 使用管道返回的PSObject對象
6.4.3 處理終結型錯誤
6.5 同步管道中的輸入、輸出和錯誤
6.5.1 將輸入對象傳遞給管道
6.5.2 同步執行時的輸出管道
6.5.3 從錯誤管道獲取非終結型錯誤
6.5.4 ErrorRecord類型
6.6 操作管道的其他技巧
6.6.1 嵌套式管道
6.6.2 管道重用
6.6.3 在運行空間之間複製管道
6.7 配置運行空間
6.7.1 創建自定義配置的運行空間
6.7.2 添加和刪除snap.in
6.7.3 通過控制台檔案創建RunspaceConfiguration
6.7.4 通過程式集創建RunspaceConfiguration對象
6.7.5 使用SessionStateProxy設定和獲取變數
6.8 異步執行管道
6.8.1 調用InvokeAsyc0
6.8.2 關閉輸入管道
6.8.3 從異步管道讀取輸出和錯誤
6.8.4 監視管道的StateChanged事件
6.8.5 由PipelineStatelnfo.Reason讀取終結型錯誤
6.8.6 停止正在執行的管道
6.9 異步運行空間操作
6.9.1 OpenAsync0方法
6.9.2 處理運行空間的StateChanged事件
6.10 編程創建管道對象
6.10.1 創建空管道對象
6.10.2 創建命令對象
6.10.3 合併命令結果
6.10.4 添加命令參數
6.10.5 向管道添加命令
6.11 使用cmdlet作為GUI程式的API層
6.11.1 高層架構
6.11.2 cmdlet與GUI成功集成的關鍵技術
6.11.3 提供自定義的宿主
6.12 小結
第7章 宿主
7.1 宿主與WindowsPowerShell引擎之間的互動
7.2 cmdlet和宿主的互動
7.3 PSHost類
7.3.1 Instanceld
7.3.2 Name
7.3.3 Version
7.3.4 CurrentCulture
7.3.5 CurrentⅥCulture
7.3.6 PrivateData
7.3.7 EnterNestedPrompt
7.3.8 ExitNestedPrompt
7.3.9 應用程式通知方法
7.3.1 0SetShouldExit
7.4 PSHostUserInterface類
7.4.1 WriteDebugLine
7.4.2 WriteVerboseLine
7.4.3 WriteWamingLine
7.4.4 WriteProgress
7.4.5 WriteErrorLine
7.4.6 Write方法
7.4.7 Prompt方法
7.4.8 PromptForCredential
7.4.9 Read方法
7.5 PSHostRawUserInterface類
7.6 小結
第8章 格式與輸出
8.1 四種視圖類型
8.1.1 Table視圖:format-table
8.1.2 List視圖:format-1ist
8.1.3 custom視圖:format-custom
8.1.4 Wide視圖:format-wide”
8.2 不使用*format-pslxml配置檔案進行格式化
8.3 格式配置檔案示例
8.4 載入格式檔案
8.4.1 update.formatdata
8.4.2 snap-in
8.4.3 RunspaceConfigttration類的API接口
8.5 格式配置檔案詳解
8.5.1 VieW
8.5.2 Name
8.5.3 ViewSelectedBy
8.5.4 GroupBy
8.6 TableControl
8.6.1 TableHeader
8.6.2 TableRowEntries
8.7 ListContr01
8.8 WideControl
8.9 CustomControl
8.10 其他配置條目
8.10.1 Wrap
8.10.2 AutoSize
8.11 使用場合
8.11.1 格式化字元串
8.11.2 反序列化對象的格式問題
8.11.3 類繼承問題
8.11.4 選擇集
8.11.5 顏色
8.12小結
附錄AcmdIet動詞命名準則
附錄BCITIdIet參數命名準則
附錄C元數據
附錄D提供程式基類與重載/接口
附錄E用於提供程式互動的核心cmdIet
……

相關詞條

相關搜尋

熱門詞條

聯絡我們