2011-03-15 21 views
0

我被问到是否可以阅读DNS主机记录(A记录)并生成报告,显示哪些帐户具有什么安全权限。我已经搜索到最高和最低,我能找到的最接近的是Bdev.Net.Dns项目,但不幸的是,这不会执行权限。c#可以拉DNS主机记录安全权限吗?

我甚至不确定它是否可以完成。我以前使用实际的文件权限完成此操作,但从未与DNS混淆过。由于我的搜索是徒劳的,有人甚至知道这是可能的吗?

在此先感谢。

地理...

+0

DNS记录是否在特定的DNS服务器中,或者您是否试图为任意主机名执行此操作? – RQDQ 2011-03-15 20:05:33

+0

是的,他们是在一个特定的DNS服务器。 – George 2011-03-15 21:29:07

+0

而且,你在使用什么DNS服务器? Windows服务器? BIND?什么版本? – RQDQ 2011-03-16 12:27:01

回答

0

想通了。关键是找到想要的对象的正确distinguishedName。关键是这样的:CN = MicrosoftDNS,DC = DomainDnsZones

然后,访问像任何其他的AD对象。

objDNSRecord = GetObject("LDAP://DC=" & strComputer & "," & sPath) 
     objNtSecurityDescriptor = objDNSRecord.Get("ntSecurityDescriptor") 
     DACL = objNtSecurityDescriptor.DiscretionaryAcl