我正在尝试阅读&使用C#将值与WMI放在一起。
当前示例使用ccm命名空间,用于configmgr客户端。
读取功能正常工作,能够读取ADV_RepeatRunBehavior值。 虽然Put();如果没有按预期工作,则不会存储这些值并抛出Invalid Class异常。
一些建议会很好,因为我是新手,非常感谢。
static void Main(string[] args)
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"root\\ccm\\Policy\\Machine",
"SELECT * FROM CCM_SoftwareDistribution WHERE PKG_PackageID='XXXXXXXX'");
foreach (ManagementObject queryObj in searcher.Get())
{
//Read works
//Console.WriteLine(queryObj["ADV_RepeatRunBehavior"].ToString());
//Console.ReadLine();
//Put doesn't
queryObj["ADV_RepeatRunBehavior"] = "RerunNever";
queryObj.Put();
}
}
catch (ManagementException z)
{
Console.WriteLine("An error occurred: " + z.Message);
Console.ReadLine();
}
}
答案 0 :(得分:1)
找到解决方法。
\\root\\ccm\\Policy\\Machine\\ActualConfig
,然后才能为Put()值。