对于语法:GetObject("WinNT://<server>/<group>,group")
, 找到 here (VBA 代码也在链接中),VBA 代码运行良好并返回组中的所有用户名。
问题:对于一些我们可以手动验证的现有组名,VBA 抛出错误说,
-2147024843
Automation error
The network path was not found.
最佳答案
我会回答这个问题,因为它非常奇怪而且绝对很少发生。
因此,由于 Active Directory 服务器中的兼容性问题,发生了缺少 Windows 组的错误/问题。更新后很多服务器升级到 Win 2K+(是的,正确的 Windows 2000,没什么特别的。)
但是一些服务器仍然使用旧配置,这些服务器上的 Windows 组的名称也是如此。现在,当我们在 AD 服务器上使用 WinMgmt 查询时,它们会默认使用最新的查询。因此,即使您可以在此处手动查看这些 Windows 组名称:RUN --> %windir%\system32\rundll32.exe dsquery,OpenQueryWindow
(这会加载 Active Directory 搜索对话框),Active Directory 服务接口(interface),只是抛出自动化错误。
所以到目前为止我想到的唯一解决方法是,一旦 Windows 组名称引发自动化错误,我们需要重新发送查询,这次我们而不是 Logon Name
我们使用名为 Logon Name (pre-Windows 2000)
的 AD 属性它只是工作。
你可以看到Logon Name (pre-Windows 2000)
通过在 View --> Custom Columns..
中选择相同的任何窗口组的属性在事件目录搜索对话框中。
我知道答案不是很直接和简洁,但我对 Active Directory 的了解非常有限。刚刚发布它,以便将来有人可以对其有用。
关于VBA 和事件目录 : Windows group visible in manual search dialog but VBA script throws error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32771880/