使用 powershell Set-GPPermissions cmdlet 设置 GPO 安全筛选器

use*_*620 5 security powershell filter gpo powershell-cmdlet

根据Microsoft 的说法,cmdlet Set-GPPermissions接受选项“-replace”:

“这确保现有的权限级别被新的权限级别取代。”

我从 PowerShell 导入 GPO。之后我想设置安全过滤器。导入后,在设置安全过滤器之前,GPO 的安全过滤为“Authenticated Users”。现在我想删除该过滤器选项并将其替换为“myGroup”。为此,我使用以下命令:

Set-GPPermissions -Name "myGPO" -PermissionLevel GpoApply -TargetName "myGroup" -TargetType Group -replace
Run Code Online (Sandbox Code Playgroud)

结果是添加了一个引用“myGroup”的新安全过滤器,但组“Authenticated Users”并未被删除。Powershell cmdlet 不会替换过滤器,而是添加它。

提示?

提前致谢!

Ans*_*ers 3

正如您引用的页面上所记录的,该命令将替换现有的permissions组“myGroup”。它不会用组“myGroup”的权限替换组“Authenticated Users”的权限。引用自Technet

-替换<开关参数>

指定在设置新权限级别之前删除组或用户的现有权限级别。

您必须使用Set-GPPermissions向“myGroup”授予权限并Set-GPPermissions -TargetName "Authenticated Users -PermissionLevel None删除“Authenticated Users”的权限。