Как удалить зону DNS с помощью WMI

Я могу создать новую зону, добавлять и удалять записи для этой зоны, и все относительно легко, используя WMI и System.Management, но пока не могу понять, как удалить зону. Это не похоже на метод в документации WMI:

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

Есть мысли о том, как это сделать? Попытка поддерживать DNS-сервер в чистоте, когда мы удаляем старых клиентов веб-сайта, но я могу добиться того же, что и удалить все записи в зоне.

РЕДАКТИРОВАТЬ: Это на машине Windows Server 2008 R2. И я был бы согласен с ответом "не использовать WMI", если есть альтернативное решение, которое я могу выполнить с удаленной машины и код на C#

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;
        }
    }
Другие вопросы по тегам