Как программно удалить домен DNS?

Я создаю веб-приложение на C # для управления нашими DNS-серверами и использую пространство имен WMI для всего. Единственное, с чем у меня проблемы, - это удаление доменов DNS. Вот мой код:

internal static bool DeleteDomainFromDns(string DnsServerName, string ContainerName, string Name)
    {
        try
        {
            string Query = "SELECT * FROM MicrosoftDNS_Domain WHERE DnsServerName = '" + DnsServerName + "' AND ContainerName = '" + ContainerName + "' AND Name = '" + Name + "'";
            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(); //Exception occurs here
            }
            return true;
        }
        catch (Exception)
        {
            return false;
        }
    }

Я получаю следующее сообщение об ошибке: ManagementException обнаружен как "Generic Failure". Я читал в Интернете, где люди удаляют домены с помощью пространства имен зоны, но это работает, только если домен, который вы хотите удалить, является самой зоной. Мне нужно удалить домены, не являющиеся зонами. Кто-нибудь может помочь?

7
задан mcass20 12 October 2010 в 16:59
поделиться