2017-06-22 6 views
3

のプロパティを列挙:PowerShellは、私は、デバイスレジスタから情報を収集するコマンドレット持つプロパティ

PS C:\ WINDOWS \ system32に>は、Get-PSDeviceサーバAを

ホスト名:サーバーA
OOB:
を 臨界:ノーマル
IsVirtual:真

など

これらのうちのいくつかは、例えば、 'サブプロパティの内部の配列を有する:

クラスター:@ {のURL = https://ps-apps.com/DeviceRegister/api/Clusters/62。 VCenterUrl = https://ps-apps.com/DeviceRegister/api/VCenters/2; ClusterId = 62; VCenterId = 2;名前= Vcenter 1 ABC Prod; DataCenterUrl = https://ps-apps.com/DeviceRegister/api/DataCenters/3; DataCenter =; IsValidated = True; IsExceptionCluster = False; SupportsProdWorkloads = False; SupportsNonProdWorkloads = False; SupportsSqlWorkloads = False;

は私が得ることができる} = Falseの ManagedByabc私のようなものを使用したいARAY内のどんなプロパティ:

(Get-PSDevice ServerA).cluster.name

私が使用してサブプロパティのすべてを列挙するための方法を決定しようとしています値を設定するforeach型の文

は何これを達成するための最良の方法だろうか?

答えて

2

PowerShellのすべてのオブジェクトには、オブジェクトについての情報を示す隠し属性.PSObjectがあります。 プロパティのうち1つは.Propertiesプロパティです(PetSerAlが指摘しているように、プロパティではありませんが、実際にはMemberSetですが、プロパティセマンティクスでアクセスします)。 (それはなど、gettableおよび設定可能なのかどうか、名前、値、タイプ)あなたのプロパティに関する情報を表示[PSProperty]オブジェクトを返します

(Get-PSDevice ServerA).cluster.PSObject.Properties 

+0

'PSObject'はプロパティではなくメンバセットです:'( '' | gm -Force PSObject).MemberType'。 – PetSerAl

+0

@PetSerAl fair 'nough :) – briantist

関連する問題