我刚刚发现我必须在运行特定应用程序的服务器上启用本地组策略设置(计算机配置 -> 管理模板 -> 系统 -> 用户配置文件)。我有一个用于安装应用程序和配置服务器的 PowerShell 安装脚本。我希望能够在我的安装脚本中启用此组策略。有没有办法在 PowerShell 中做到这一点?如果不,任何其他技术我很舒服使用 Win32 API,如果这是我唯一的选择。
答案1
大多数组策略设置只是 HKLM\Software\Policies 下的注册表项。如果您的 PowerShell 脚本以管理员身份运行,您只需设置相应的注册表值即可实现相同的效果,而无需触及组策略。
注册表值和 GPO 设置之间的映射由 Microsoft 记录。https://www.microsoft.com/en-us/download/details.aspx?id=25250
答案2
通常,将本地 GPO 和域 GPO 与服务器混合使用会带来坏处(应该只使用其中一种,否则您会遇到“一次性”问题)。根据功能性 GPO 的原则,我建议创建一个具有特定设置的 GPO,将其附加到您的服务器 OU,然后创建一个过滤器以附加到该 GPO。
过滤器可以用于已安装的应用程序(其注册表项、安装路径等)或COMPUTERNAME
。过滤器设置使用 WQL 供您参考。