我们有一堆 GPO,它们随着时间的推移而自然增长。我认为其中许多都在定义密码策略。我知道它只能在域中设置一次(除了 PSO 和 GPO 链接到仅影响本地用户帐户的计算机对象的特殊情况)
所以问题是:如何找到域中定义密码策略的所有 GPO?
答案1
您可以使用 Microsoft 在 Technet 上开发的脚本:
您可以将现有 GPO(如默认域策略)导出为 XML(右键单击 GPMC 中的 GPO 并将“保存报告”保存为 XML)以查看并了解基于脚本功能的各种“选择”。
例如,以下是设置密码策略的 GPO 的一些输出:
Extension xmlns:q1="http://www.microsoft.com/GroupPolicy/Settings/Security" xsi:type="q1:SecuritySettings">
<q1:Account>
<q1:Name>ClearTextPassword</q1:Name>
<q1:SettingBoolean>false</q1:SettingBoolean>
<q1:Type>Password</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>LockoutBadCount</q1:Name>
<q1:SettingNumber>0</q1:SettingNumber>
<q1:Type>Account Lockout</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>MaximumPasswordAge</q1:Name>
<q1:SettingNumber>30</q1:SettingNumber>
<q1:Type>Password</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>MinimumPasswordAge</q1:Name>
<q1:SettingNumber>0</q1:SettingNumber>
<q1:Type>Password</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>MinimumPasswordLength</q1:Name>
<q1:SettingNumber>7</q1:SettingNumber>
<q1:Type>Password</q1:Type>
</q1:Account>
<q1:Account>
<q1:Name>PasswordComplexity</q1:Name>
<q1:SettingBoolean>true</q1:SettingBoolean>
<q1:Type>Password</q1:Type>
</q1:Account>
对于密码策略,您可以使用类似以下语法的脚本:
.\SearchGPOsForSetting.ps1 -IsComputerConfiguration $true -Extension Security -Where Name -Is PasswordComplexity
查找设置了 PasswordComplexity 的任何 GPO。
如果您了解 PS 脚本,您可以根据自己的需要修改脚本,但基本内容已经足够让您得到想要的内容。