如何在没有确认提示的情况下执行 Set-GPPermissions 命令
Posted
技术标签:
【中文标题】如何在没有确认提示的情况下执行 Set-GPPermissions 命令【英文标题】:How to execute Set-GPPermissions command without confirmation prompt 【发布时间】:2017-11-07 11:50:53 【问题描述】:Set-GPPermissions -Guid <Guid> -TargetName "Authenticated Users" -PermissionLevel None -TargetType Group -Replace -Confirm:$false
以前可以正常工作,但是当安装了 KB3163622 补丁时,它现在要求我确认提示:
“组策略要求每个计算机帐户都具有从域控制器读取 GPO 数据的权限,以便 要成功应用的用户组策略设置。删除 Authenticated Users 组可能会阻止处理 用户组策略。欲了解更多信息,请参阅https://support.microsoft.com/en-us/kb/3163622 要继续吗?”
我从 Powershell 和 C# 执行此命令。
有什么方法可以跳过这个确认提示?
【问题讨论】:
我以前从未见过-Confirm:$false
失败...您是从管理帐户运行它吗?
没关系。两种情况下都会出现确认提示。
-Confirm:$false
在命令执行前抑制确认提示。命令执行过程中出现我的确认提示。
虽然您绝对应该在测试后将其改回,但请尝试将 $ConfirmPreference
设置为 "none" $ConfirmPreference = "none"
。默认为“高”
尼克同上。是否值得在服务器故障论坛上提问,特别是如果您怀疑这不是 PowerShell 的问题,并且可能是 cmdlet 行为的变化?
【参考方案1】:
我知道这是一个旧线程,但谷歌将我发送到那里:
dsacls "cn=$($gpo.id),cn=policies,cn=system,DC=domain,DC=com" /R "Authenticated Users"
【讨论】:
它绝对合法,鼓励您迟到回答问题!【参考方案2】:由于它在不同的机器上工作,请检查 PowerShell 版本。如果它们不一样,请在相同版本上获取非工作机器。如果这不起作用,我建议卸载并重新安装补丁。最后,如果您仍然遇到问题,请盘点两台机器,看看它们有什么不同。软件、.NET 版本等。
如果这仍然不起作用,则表明坏机器上的某些内容已损坏或配置错误。如果你能弄清楚它是什么,然后修复它。否则,如果可以,请使用另一台,或者重新映像不工作的机器。
【讨论】:
以上是关于如何在没有确认提示的情况下执行 Set-GPPermissions 命令的主要内容,如果未能解决你的问题,请参考以下文章