Как удалить зону 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;
}
}