如何删除与WMI的DNS区域
问题描述:
我可以创建一个新的区域,添加和删除该区域的记录,所有使用WMI和System.Management都相对容易,但对于我的生活无法弄清楚如何删除一个区域。它不会出现是在WMI文档的方法:如何删除与WMI的DNS区域
http://msdn.microsoft.com/en-us/library/ms682123(VS.85).aspx
如何做到这一点有什么想法?当我们删除旧网站客户时,试图保持DNS服务器清洁,但我只能像删除区域中的所有记录一样好。
编辑:这是在Windows服务器2008 R2计算机上。我可以回答“不要使用WMI”,如果有一个替代解决方案,我可以从远程计算机和c#中的代码执行。
答
您可以使用与记录相同的方式删除区域。
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对象替换它。无论如何...工作第一次尝试!万分感谢 – 2010-10-14 21:09:36
不客气!对不起,我没有说明DnsProvider类,它是我编写的一个类,用于协助DNS管理。我知道你会从我给你的东西中弄明白。 – mcass20 2010-10-15 12:37:21