Powershell枚举属性的属性
我有一个从设备寄存器收集信息的命令: PS C:\windows\system32>获取PSDevice服务器A 主机名:ServerAPowershell枚举属性的属性,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
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