如何在PowerShell中安静地设置执行策略,而不是询问?

时间:2016-12-19 17:50:45

标签: powershell

我正在运行以下命令。

Set-ExecutionPolicy -ExecutionPolicy Bypass

它问我是否确定,如果我是肯定的话,它会按照预期设定政策。但是,我想知道我应该如何执行命令,以便计算机不要求我确认。

我已经搜索了问题并且有一个标记-Confirm,但使用它会产生额外的确认请求。与此相反的是什么,即这样的东西(古怪的拼写错误)?

Set-ExecutionPolicy -ExecutionPolicy Bypass -JustDoWhatWeTellYouForDucksSake

3 个答案:

答案 0 :(得分:3)

正如@Briantist在这种情况下指出的那样,你想使用-Force开关来抑制提示。但是,在大多数情况下,为了将来参考,从大多数cmdlet中删除确认提示的正确语法是-Confirm:$False

答案 1 :(得分:3)

这是稍微好一点,因为即使您没有本地管理员权限,这个也会有效。但是,它仅适用于当前的Powershell会话。

Set-ExecutionPolicy Bypass -scope Process -Force

答案 2 :(得分:0)

或者您可以将策略设置为不受限制,但是随后将正在从中运行脚本的任何文件服务器列入白名单。也可能有一种gpo方式来执行此操作。在文档中不容易找到New-ItemProperty -Type参数。

new-item -path   'hkcu:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\stackoverflow.com\server' -force > $null
new-itemproperty 'hkcu:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\stackoverflow.com\server' * -type DWORD -force > $null