如何更改 Powershell 嵌套 WMI 类属性?
假设我有一个 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 的实例。 当 TargetInfo 元素的 HardwareId 等于“blabla”时,我想将其中一个元素的 Policy 属性修改为 1。 如何实现这一目标? 我尝试了 Set-WmiInstance 和 Put(),但它们都不起作用。我总是遇到不同的错误。 多谢。
Say I have a MOF file defined as:
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
can give me an instance which has an array TargetInfo.
I want to modify one of the TargetInfo element's Policy property to 1 when this element has HardwareId equal to "blabla".
How to achieve this?
I tried both Set-WmiInstance and Put(), but none of them works. I always got different errors.
Thanks a lot.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您应该能够直接设置属性:
You should be able to set the properties directly: