【问题标题】:How to delete a DNS Zone with WMI如何使用 WMI 删除 DNS 区域
【发布时间】:2010-09-30 01:37:04
【问题描述】:

我可以创建一个新区域,为该区域添加和删除记录,所有这些都相对容易使用 WMI 和 System.Management,但对于我来说,我无法弄清楚如何删除一个区域。它似乎不是 WMI 文档中的方法:

http://msdn.microsoft.com/en-us/library/ms682123(VS.85).aspx

关于如何做到这一点的任何想法?当我们删除旧网站客户时,试图保持 DNS 服务器干净,但我只能删除一个区域中的所有记录。

编辑:这是在 Windows Server 2008 R2 机器上。如果有替代解决方案我可以从远程机器执行并用 c# 编写代码,我可以回答“不要使用 WMI”

【问题讨论】:

    标签: c# dns windows-server-2008 wmi


    【解决方案1】:

    您可以像删除记录一样删除区域。

    internal static bool DeleteZoneFromDns(string ZoneName)
        {
            try
            {
                string Query = "SELECT * FROM MicrosoftDNS_Zone WHERE ContainerName = '" + ZoneName + "'";
                ObjectQuery qry = new ObjectQuery(Query);
                DnsProvider dns = new DnsProvider();
                ManagementObjectSearcher s = new ManagementObjectSearcher(dns.Session, qry);
                ManagementObjectCollection col = s.Get();
                dns.Dispose();
    
                foreach (ManagementObject obj in col)
                {
                    obj.Delete();
                }
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
    

    【讨论】:

    • 你是摇滚明星!我不确定 DnsProvider 类是什么,但我能够将其替换为我当前在其他 DNS 管理方法中使用的 ManagementScope 对象。无论如何...工作第一次尝试!谢谢一百万
    • 不客气!很抱歉没有澄清 DnsProvider 类,它是我编写的用于协助 DNS 管理的类。我知道你会从我给你的东西中弄清楚。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多