假设我将MOF文件定义为:
class TARGET_INFO
{
[WmiDataId(1),
MaxLen(31),
Description(".") : amended
] string HardwareId;
[WmiDataId(2)] uint32 Policy;
};
class DEFAULT_POLICY
{
[WmiDataId(1),
read, write,
Description(".") : amended
] uint32 NumberDevices;
[WmiDataId(3),
read, write,
MaxLen(31),
Description(".") : amended,
WmiSizeIs("NumberDevices")
] TARGET_INFO TargetInfo[];
};
Get-WmiObject -namespace root\wmi -class DEFAULT_POLICY
可以给我一个具有数组TargetInfo的实例。
当这个元素的HardwareId等于“blabla”时,我想将TargetInfo元素的一个Policy属性修改为1。
怎么做到这一点?
我尝试了Set-WmiInstance和Put(),但它们都不起作用。我总是有不同的错误。
非常感谢。
答案 0 :(得分:0)
您应该可以直接设置属性:
foreach( $targetInfo in $defaultPolicyInstance.TargetInfo )
{
if( $targetInfo.HardwareId -eq "blahba" )
{
$targetInfo.Policy = 1
}
}