首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改PowerShell ExecutionPolicy的脚本

更改PowerShell ExecutionPolicy的脚本
EN

Stack Overflow用户
提问于 2014-10-06 12:58:41
回答 2查看 849关注 0票数 0

当我设置我的系统,我使用许多配置脚本有我舒适的地方发挥。

基于,我通过双击下面的enableps.js运行

代码语言:javascript
复制
new ActiveXObject("Shell.Application").ShellExecute(
   "powershell", "-noexit -Command \"& Set-ExecutionPolicy RemoteSigned\"",  "", "runas");

由于-noexit,我可以在显示的PowerShell窗口中发出以下命令:

代码语言:javascript
复制
Get-ExecutionPolicy 

像预期的那样:

代码语言:javascript
复制
RemoteSigned

不幸的是,当打开PowerShell的新实例时,策略保持为Restricted

如果我在标准的cmd提示符中运行:

代码语言:javascript
复制
cscript  "path\to\enableps.js"

它起作用了。但是,如果我将命令嵌入到enableps.cmd批处理中,然后再次尝试通过双击运行它,它就无法工作。如果我右键单击enableps.cmd并使用Runas条目,它将再次工作.

那么,如何使用标准的双击(加上相关的Windows提示符)来实现这些功能呢?

EN

回答 2

Stack Overflow用户

发布于 2014-10-06 20:29:52

..。解决办法是:

双击文件:

代码语言:javascript
复制
// enableps.js
// -----------

new ActiveXObject("Shell.Application").ShellExecute(
   "powershell", "-Command \"Set-ExecutionPolicy RemoteSigned\" -Scope CurrentUser",  
   "", "runas");

考虑将RemoteSigned替换为Unrestricted,以允许运行下载的脚本。

信用归于TheMadTechnician,因为他没有编写完整的代码。

票数 1
EN

Stack Overflow用户

发布于 2014-10-06 20:31:03

默认情况下,进行系统范围的更改将需要您提升流程,如果它还没有被提升。如果希望脚本在机器级别禁用执行策略,那么要么需要关闭UAC,要么必须使用shellExecute运行cscript,这将为用户提供所需的UAC批准对话框。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26216744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档