3

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

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

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

Set-GPPermissions -Name "myGPO" -PermissionLevel GpoApply -TargetName "myGroup" -TargetType Group -replace

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

提示?

提前致谢!

4

3 回答 3

3

如您引用的页面上所述,该命令将替换已经存在permissions的组“myGroup”。它不会用组“myGroup”的权限替换组“Authenticated Users”的权限。引自Technet

-替换<开关参数>

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

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

于 2012-09-03T18:02:16.117 回答
2

我发现将 Authenticated User 权限级别设置为 none 就足够了,如下所示:

Set-GPPermissions -Name "MyGPO" -PermissionLevel None -TargetName "Authenticated Users" -TargetType Group 

这删除了“经过身份验证的用户”安全过滤器。

于 2012-09-04T06:24:41.440 回答
1

我认为您应该接受 Ansgar 或 user1458620 的回答;他们是正确的。这是包含相同内容的最终解决方案:

$gpo | Set-GPPermissions -Replace -PermissionLevel None -TargetName 'Authenticated Users' -TargetType group 
$gpo | Set-GPPermissions -PermissionLevel gpoapply -TargetName 'MyGroup' -TargetType group 
于 2013-08-30T19:04:58.440 回答