根据Microsoft,cmdlet Set-GPPermissions接受选项“-replace”:
“这可确保现有权限级别被新的权限级别替换。”
我从PowerShell导入GPO。之后我想设置安全过滤器。导入之后,在设置安全筛选器之前,GPO的安全筛选是“经过身份验证的用户”。现在我想删除该过滤器选项并将其替换为“myGroup”。为此,我使用以下命令:
Set-GPPermissions -Name "myGPO" -PermissionLevel GpoApply -TargetName "myGroup" -TargetType Group -replace
结果是添加了一个引用“myGroup”的新安全筛选器,但未删除“Authenticated Users”组。 Powershell cmdlet不是替换过滤器,而是添加。
提示?
提前致谢!
答案 0 :(得分:3)
如您引用的页面上所述,该命令将替换组“myGroup”的现有permissions
。它不会替换具有“myGroup”组权限的“Authenticated Users”组的权限。引自Technet:
-Replace< SwitchParameter>
指定在设置新权限级别之前删除组或用户的现有权限级别。
您必须使用Set-GPPermissions
向“myGroup”授予权限,并使用Set-GPPermissions -TargetName "Authenticated Users -PermissionLevel None
删除“经过身份验证的用户”的权限。
答案 1 :(得分:2)
我发现将Authenticated User权限级别设置为none就足够了:
Set-GPPermissions -Name "MyGPO" -PermissionLevel None -TargetName "Authenticated Users" -TargetType Group
删除了“Authenticated Users”安全过滤器。
答案 2 :(得分:1)
我认为你应该接受Ansgar或者用户1458620的回答;他们是对的。 以下是包含相同内容的最终解决方案:
$gpo | Set-GPPermissions -Replace -PermissionLevel None -TargetName 'Authenticated Users' -TargetType group
$gpo | Set-GPPermissions -PermissionLevel gpoapply -TargetName 'MyGroup' -TargetType group