Powershell枚举属性的属性

Powershell枚举属性的属性,powershell,powershell-3.0,Powershell,Powershell 3.0,我有一个从设备寄存器收集信息的命令: PS C:\windows\system32>获取PSDevice服务器A 主机名:ServerA OOB: 临界状态:正常 IsVirtual:对 等 其中一些在内部具有“子属性”数组,例如: 群集:@{Url=;Vcenter Url=;ClusterId=62;Vcenter ID=2;Name=Vcenter 1 ABC Prod; DataCenterUrl=;DataCenter=;IsValidated=True;IsExceptionClus

我有一个从设备寄存器收集信息的命令:

PS C:\windows\system32>获取PSDevice服务器A

主机名:ServerA
OOB:
临界状态:正常
IsVirtual:对

其中一些在内部具有“子属性”数组,例如:

群集:@{Url=;Vcenter Url=;ClusterId=62;Vcenter ID=2;Name=Vcenter 1 ABC Prod; DataCenterUrl=;DataCenter=;IsValidated=True;IsExceptionCluster=False;SupportsProdWorkloads=False;SupportsNonProdWorkloads=False;SupportsSqlWorkloads=False; ManagedByabc=False}

我可以通过以下方式获得aray内我想要的任何财产:

(获取PSDevice ServerA.cluster.name

我试图确定一种方法,使用foreach type语句来填充值,从而枚举所有子属性


实现这一点的最佳方法是什么?

PowerShell中的每个对象都有一个隐藏的
.PSObject
属性,它告诉您有关该对象的信息。它的一个属性是
.properties
属性(正如PetSerAl指出的,它不是一个属性,而是一个
成员集
,尽管您可以使用属性语义访问它)


这将返回
[PSProperty]
对象,这些对象向您显示有关属性的信息(名称、值、类型、是否可获取和可设置等)。

只是学究式的,
.PSObject
不是属性,而是成员集:
(''gm-Force PSObject.MemberType
@PetSerAl fair'nough:)
(Get-PSDevice ServerA).cluster.PSObject.Properties