PowerShell 處理對象

來自《Windows Powershell入門指南》

處理對象

  雖然您最初可能沒有意識到,但是在 Windows PowerShell 中工作時,所使用的是 .NET 對象。隨着您經驗的增加,對象處理能力變得更明顯,而且您發現自己使用的是對象,甚至用對象進行思考。
  
  從技術上講,.NET 對象是 .NET 類的實例,包含數據以及與該數據關聯的操作。但是,可以將對象視爲具有屬性(與特性類似)方法(可以對對象執行的操作) 的數據實體。
  
  例如,在 Windows PowerShell中獲取服務時,實際上是獲取表示該服務的對象。查看有關服務的信息時,所查看的是其服務對象的屬性。此外,啓動服務時(即,在將服務的 Status 屬性更改爲“started”時),所使用的是服務對象的方法。
  
  類型相同的所有對象都具有相同的屬性和方法,但是對象的每個實例可能具有不同的屬性值。例如,每個服務對象都具有 Name 和 Status 屬性。但是,每個服務都可以具有不同的名稱和不同的狀態。
  
  準備就緒後,瞭解對象是很容易的。若要查明 cmdlet 正獲取對象的類型,請使用管道運算符 (|) 將“get”命令的結果發送到 Get-Member 命令。例如,以下命令將 Get-Service 命令檢索的對象發送到 Get-Member。







Get-Service | Get-Member

  Get-Member 顯示有關服務對象的信息,其中包括對象的類型名稱及其屬性和方法的列表。

   TypeName:System.ServiceProcess.ServiceController

Name                      MemberType    Definition
----                      ----------    ----------
Name                      AliasProperty Name = ServiceName
RequiredServices          AliasProperty RequiredServices = ServicesDependedOn
Disposed                  Event         System.EventHandler Disposed(System.Object, Sys...
Close                     Method        void Close()
Continue                  Method        void Continue()

  若要獲取有關對象類的信息,請在 MSDN 中複製並粘貼類型名稱,如
System.ServiceProcess.ServiceController。找到類後,可以閱讀 MSDN 副主題,以瞭解基於該類的對象(如 Windows PowerShell 中的對象)的屬性和方法。
  
  若要查找特定對象的所有屬性的值,請使用管道運算符 (|) 將“get”命令的結果發送到Format-ListFormat-Table 命令。將 format cmdlet 的 Property 參數與表示所有的值(*) 一起使用。
  
例如,若要查找系統上 WinRM 服務的所有屬性,請鍵入:




Get-Service WinRM | Format-List -Property *

以下顯示一個結果示例。

Name                : WinRM
RequiredServices    : {RPCSS, HTTP}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : False
DisplayName         : Windows Remote Management (WS-Management)
DependentServices   : {}
MachineName         : .
ServiceName         : WinRM
ServicesDependedOn  : {RPCSS, HTTP}
ServiceHandle       :
Status              : Stopped
ServiceType         : Win32OwnProcess, Win32ShareProcess
StartType           : Automatic
Site                :
Container           :

  最初學習 Windows PowerShell 時,無需瞭解有關對象的任何信息,但是要意識到該概念。您將很快能夠充分利用對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章