簡體   English   中英

PowerShell命令元數據

[英]PowerShell command metadata

我是PowerShell的新手。 我了解,當運行PowerShell命令時,它將發送對象流作為輸出。

例如:

PS C:\Users\JGodse\scripts> Get-WmiObject -Class win32_Product


IdentifyingNumber : {90150000-008C-0000-0000-0000000FF1CE}
Name              : Office 15 Click-to-Run Extensibility Component
Vendor            : Microsoft Corporation
Version           : 15.0.4867.1003
Caption           : Office 15 Click-to-Run Extensibility Component

IdentifyingNumber : {90150000-008C-0409-0000-0000000FF1CE}
Name              : Office 15 Click-to-Run Localization Component
Vendor            : Microsoft Corporation
Version           : 15.0.4867.1003 
Caption           : Office 15 Click-to-Run Localization Component

IdentifyingNumber : {90150000-008F-0000-1000-0000000FF1CE}
Name              : Office 15 Click-to-Run Licensing Component
Vendor            : Microsoft Corporation
Version           : 15.0.4867.1003
Caption           : Office 15 Click-to-Run Licensing Component


....... (and many more such objects)......

這些對象具有屬性(IdentifyingNumber,名稱,供應商,版本,標題)。 由此,我可以將對象通過管道傳遞給類似這樣的對象,以選擇“名稱”:

PS C:\Users\JGodse\scripts> Get-WmiObject -Class win32_Product | select name

name
----
Office 15 Click-to-Run Extensibility Component
Office 15 Click-to-Run Localization Component
Office 15 Click-to-Run Licensing Component
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack

有沒有一種方法可以獲取命令返回的對象的屬性名稱列表,而無需運行命令並直觀地解析輸出? 也許像神話般的Get-Attributes這樣的命令:

PS C:\> Get-Attributes Get-WmiObject

attributes
----------
IdentifyingNumber, Name, Vendor, Version, Caption

您正在尋找的cmdlet是get-member,但是它將為您提供對象上可用的屬性,而不是由cmdlet可能產生的屬性。 這是因為根據您提供的參數,您將獲得具有不同結果的對象。 (例如,get-wmiobject為不同的類返回不同的對象)。 您將使用如下所示的內容。

Get-wmiobject win32_operatingsystem | Get-member

這將為您提供代表該計算機win32_operatingsystem WMI類的對象可用的所有屬性和方法的列表。 以下鏈接具有其他信息和示例。

https://technet.microsoft.com/zh-CN/library/ee176854.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM