运行似乎certutil.exe -DCInfo Verify
会检查所有域控制器的证书在登录用户帐户的域中。
在我们的 AD 林中,我们有几个域。我只在其中两个域中拥有一个唯一帐户,但我对所有域都拥有管理权限。
有没有办法我可以运行命令来定位与我登录的域不同的域,或者我真的必须在每个域中都有一个帐户?!
或者,还有其他方法可以实现相同的目标吗?
答案1
certutil
在调用它的用户上下文中工作。
如果您没有每个域上的帐户,您似乎不太可能实现您想要的目标,除非您能想出一种方法来模仿其他用户 - 这可能需要调用 Win32 API。这是一个问题如果您决定走这条路,这可能会对您有所帮助。
答案2
如果您使用来自林中另一个域的受信任域管理员帐户在属于您想要定位的每个域的域控制器上
psexec
执行命令,会发生什么情况?certutil.exe
svc_certchk
或者,您可以使用域管理员权限在每个域中创建一个帐户吗?
答案3
遇到同样的问题后,我能够通过 Powershell 获取所需的信息,这要感谢其他人的博客文章。
信用:(如果您读到这篇文章时原始链接还在线的话)
代码:
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("\\dc1\My","LocalMachine")
$store.Open("ReadOnly")
$store.Certificates
然后,您可以解析生成的证书对象。可能需要解决一些访问问题,但在我的环境中,使用针对 2003 和 2008 服务器的企业管理员帐户,一切运行正常。