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



根据Microsoft的说法,cmdlet Set-GPPermissions接受选项"-replacement":

"这可以确保现有的权限级别被新的权限级别所取代。"

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

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

结果是,添加了一个引用"myGroup"的新安全筛选器,但没有删除"Authenticated Users"组。Powershell cmdlet不是替换筛选器,而是添加它。

提示?

提前感谢!

正如您引用的页面上所记录的,该命令将替换组中已经存在的permissions;myGroup";。它不会替换组"的权限;认证用户";具有一个组的权限";myGroup";。来自Technet的报价:

-替换<切换参数>

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

您必须使用CCD_ 2来授予";myGroup";和CCD_ 3以删除对";Authenticated Users";。

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

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

这删除了"Authenticated Users"安全过滤器。

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

$gpo | Set-GPPermissions -Replace -PermissionLevel None -TargetName 'Authenticated Users' -TargetType group 
$gpo | Set-GPPermissions -PermissionLevel gpoapply -TargetName 'MyGroup' -TargetType group 

最新更新