如何使用WMI删除DNS区域

时间:2010-09-30 01:37:04

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

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

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

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

编辑:这是在Windows Server 2008 R2计算机上。如果有一个替代解决方案我可以从远程机器执行并且代码在c#

中,我会回答“不要使用WMI”。

1 个答案:

答案 0 :(得分:3)

您可以按照与录制相同的方式删除区域。

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;
        }
    }