我有一个 GPO,配置为更改某些计算机上的本地内置管理员密码。我需要找到哪些计算机已将此 GPO 应用于自身。我编写了一个脚本,该脚本在多个系统上尝试密码,有些系统有该密码,有些没有。我有很多计算机需要检查,而我的老板认为在所有计算机上尝试密码是行不通的。
有没有办法,仅提供对 \DC1\SYSVOL\domain.com\Policies... 文件的访问权限,我可以确定:
- 应用该策略的本地用户名到底是什么?
- 哪台机器包含该本地用户?
如果我无法确定仅通过 SYSVOL 共享访问,我需要什么级别的访问才能获取所需的信息?
我的老板正在对我施加压力,我觉得这超出了我的能力范围。
感谢您提供的任何意见或帮助-
答案1
您必须仔细检查每台机器的事件日志,以查看其是否已应用组策略。客户端不会通知域控制器它们是否已应用 GPO。
在客户端的组策略操作事件日志中,将有一个事件 ID 5312,其中包含当时即将应用于计算机的所有适用 GPO 的列表。您的特殊 GPO 应该在该列表中。每次刷新组策略时都会显示该事件。
如果您想要查找包含本地帐户信息的 GPO,请在策略中搜索 Groups.xml 文件。如下所示:
$GroupsFiles = Get-ChildItem -Path "\\$Env:UserDNSDomain\SYSVOL" -Recurse -Include Groups.xml
此外,你应该停止这样做。将本地管理员密码存储在 GPO 中是极其危险。它们采用可逆加密存储。
答案2
也许我没有理解这个问题,但您可以对远程计算机运行 gpresult 并将结果保存到文件中。这将向您显示应用了哪些 GPO、计算机上次处理 GP 的时间以及所述 GPO 应用了哪些设置。