我正在编写一个应用程序,用于更改本地服务器上的DNS资源记录。
我写了一个函数来做到这一点:
public void UpdateDomainRecord(string domainName, string recordname, IEnumerable<JProperty> content)
{
ResourceRecord Rezults = new ResourceRecord();
string wql = "";
wql += " SELECT * ";
wql += " FROM MicrosoftDNS_ResourceRecord";
wql += " WHERE OwnerName = '" + recordname + '.' + domainName + "'";
ObjectQuery q = new ObjectQuery(wql);
ManagementObjectSearcher s = new ManagementObjectSearcher(this.Session, q);
ManagementObjectCollection col = s.Get();
int total = col.Count;
foreach (ManagementObject o in col)
{
foreach (JProperty prop in content)
{
o.SetPropertyValue(prop.Name.ToString(),prop.Value.ToString());
}
o.Put();
}
}
似乎 o.Put()方法不起作用:循环更改了ManagementObject对象的属性,但更改未保存在服务器上。
你对它为什么不起作用有任何想法吗?