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

时间:2012-09-03 14:20:39

标签: security powershell filter cmdlet gpo

根据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不是替换过滤器,而是添加

提示?

提前致谢!

3 个答案:

答案 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