我想要获得.csv
所有 AD 用户以及他们需要遵守的策略(每个用户需要的身份验证类型、他的事件日志属性,甚至允许他在 BitLocker 中使用哪种加密)(或任何其他可读格式)。
Get-ADUser
并且CSVDE
命令并没有给我所有的政策。
基本上,我需要对每个用户的 GPO 进行合并......
我发现的唯一“解决方案”是针对每个用户的命令GPResults
,但它仅在用户登录时才有效,这还不够好。
谢谢,尼尔
答案1
组策略:
用户的策略不仅仅取决于用户对象 - 它还可能受到以下因素的影响wmi 过滤器、外部域名组或认证机制保障,这意味着您的群组成员资格将根据您提供凭证的方式而改变。简而言之 - 唯一 100% 准确的方法是实际登录并检查 GP 结果。
你可以尝试 GP 结果“规划”,这意味着所有扩展都会被问到“如果此用户登录,你会做什么”,但是他们必须支持它(更不用说安装在您的机器上)并且它不像 GP 结果“日志记录”那样容易编写脚本 - 据我所知,没有简单的 PowerShell 命令,必须使用 WMI 来完成。
其他的东西:
请注意,您指定的某些内容根本不是 GP 扩展。例如,密码策略是在 DC 级别设置的,即使它是细粒度。
你应该做什么:
如果我是你,我会列出对我而言重要的事情(你开始这样做了 - bitlocker 加密、密码策略、组策略),并区别对待每一项(因为它们必须区别对待)。你最终会得到关于每项策略的一组数据,你可以考虑合并它们(我猜你不会,因为它不会带来任何新的见解)。
编写脚本的重要部分是数据收集(而不是汇总),因为这是需要繁琐工作而不是创造性思维的部分。
答案2
您可以使用 powershell组策略命令行秒。
您可以使用 Get-ADUser 获取用户信息。
然后您可以使用获取 GPInherance在用户 OU 上。
之后您可以运行获取 GPOReport在生成的 GPO 上。
我之前没有尝试过,但使用新的命令行应该可以实现。
然而,这需要大量的工作和研究才能开始,而且可能比你寻找的答案要多得多。
根据你的环境有多大,以及你有多少组策略,遵循 Nitz 的答案可能会更容易。
答案3
我同意 Nitz 的观点,如果您对目标计算机的用户设置进行了环回处理,那么 powershell 或 wmi 就无法猜测到这一点,为什么 gpresult 需要用户登录才能列出实际策略。