【问题标题】:How to create a WMI filter in a GPO via C#如何通过 C# 在 GPO 中创建 WMI 过滤器
【发布时间】:2009-04-26 04:27:31
【问题描述】:

我正在尝试通过 C# 代码使用 GPMC COM 对象以编程方式创建 GPO。我可以创建 GPO,但在将 WMI 过滤器“插入”到 GPO 时遇到问题。有谁知道我如何为 GPO 创建/更新 WMI 过滤器?

【问题讨论】:

    标签: c# wmi


    【解决方案1】:

    示例代码如下:

    GPMGMTLib.GPM gPM = new GPMGMTLib.GPM(); 
    GPMConstants gPMConstants = gPM.GetConstants(); 
    GPMDomain gPMDomain = gPM.GetDomain(domainName, DC, gPMConstants.UseAnyDC); 
    GPMGPO obj = gPMDomain.CreateGPO(); 
    obj.DisplayName = "New GPO";
    
    
    //replace with the appropiate GUID
    var strWMIFilterID = "{D715559A-7965-45A6-864D-AEBDD9934415}";
    var sWMIFilter = string.Format("MSFT_SomFilter.Domain=\"{0}\",ID=\"{1}\"", domainName, strWMIFilterID);
    
    var oWMIFilter = gPMDomain.GetWMIFilter(sWMIFilter); 
    obj.SetWMIFilter(oWMIFilter);
    

    以下是一些包含更多信息的链接:
    WMIFilters
    Active Directory Cookbook

    【讨论】:

    • 是的,我看过 WMI GPO 过滤文档,这不是我想要做的... GPMGMTLib.GPM gPM = new GPMGMTLib.GPM(); GPMConstants gPMConstants = gPM.GetConstants(); GPMDomain gPMDomain = gPM.GetDomain(域名, DC, gPMConstants.UseAnyDC); GPMGPO obj = gPMDomain.CreateGPO(); obj.DisplayName = "新 GPO";这是我想向 GPO 添加 WMI 过滤器的地方。 C# 和 GPO 文档很少……这就是我在这里问的原因……
    • 另外,var oWMIFilter = gPMDomain.GetWMIFilter("FilterName"); obj.SetWMIFilter(oWMIFilter);下一步是将 WMI 过滤器添加到 GPO。我错过了创建它的部分......
    • 我更新了帖子以合并您的代码和获取过滤器的语法。希望这会有所帮助。
    猜你喜欢
    • 2012-11-16
    • 1970-01-01
    • 2013-05-06
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 2018-06-14
    相关资源
    最近更新 更多