2016-02-13 29 views
1

我對PowerShell還是比較新的,看到下面的兩個例子,並且想知道爲什麼當他們顯示兩個不同的結果時,至少在我看來,他們似乎在查詢同樣的答案。感謝您的輸入。Powershell格式化 - 管道vs控制結構(?)

get-host | select version 

比。

(get-host).version 
+0

比較此:'get-host |選擇版本| fc'和'(get-host).version | fc'。 – PetSerAl

回答

1

Get-Host | Select-Object version創建具有一個屬性,Version自定義對象,從inputobjects在這種情況下是從Get-Host輸出。

PS C:\Users\frode> Get-Host | Select-Object Version | Get-Member -MemberType Properties 

    TypeName: Selected.System.Management.Automation.Internal.Host.InternalHost 

Name MemberType Definition 
---- ---------- ---------- 
Version NoteProperty version Version=5.0.14257.1000 

(Get-Host).Version循環通過對象從Get-Host和提取物返回/擴展Version -property的值。這與運行Get-Host | Select-Object -ExpandProperty VersionGet-Host | Foreach-Object { $_.Version }相同。

PS C:\Users\frode> (Get-Host).Version | Get-Member -MemberType Properties 

    TypeName: System.Version 

Name   MemberType Definition 
----   ---------- ---------- 
Build   Property int Build {get;} 
Major   Property int Major {get;} 
MajorRevision Property int16 MajorRevision {get;} 
Minor   Property int Minor {get;} 
MinorRevision Property int16 MinorRevision {get;} 
Revision  Property int Revision {get;}