当我设置我的系统,我使用许多配置脚本有我舒适的地方发挥。
基于这,我通过双击下面的enableps.js运行
new ActiveXObject("Shell.Application").ShellExecute(
"powershell", "-noexit -Command \"& Set-ExecutionPolicy RemoteSigned\"", "", "runas");由于-noexit,我可以在显示的PowerShell窗口中发出以下命令:
Get-ExecutionPolicy 像预期的那样:
RemoteSigned不幸的是,当打开PowerShell的新实例时,策略保持为Restricted。
如果我在标准的cmd提示符中运行:
cscript "path\to\enableps.js"它起作用了。但是,如果我将命令嵌入到enableps.cmd批处理中,然后再次尝试通过双击运行它,它就无法工作。如果我右键单击enableps.cmd并使用Runas条目,它将再次工作.
那么,如何使用标准的双击(加上相关的Windows提示符)来实现这些功能呢?
发布于 2014-10-06 20:29:52
..。解决办法是:
双击文件:
// enableps.js
// -----------
new ActiveXObject("Shell.Application").ShellExecute(
"powershell", "-Command \"Set-ExecutionPolicy RemoteSigned\" -Scope CurrentUser",
"", "runas");考虑将RemoteSigned替换为Unrestricted,以允许运行下载的脚本。
信用归于TheMadTechnician,因为他没有编写完整的代码。
发布于 2014-10-06 20:31:03
默认情况下,进行系统范围的更改将需要您提升流程,如果它还没有被提升。如果希望脚本在机器级别禁用执行策略,那么要么需要关闭UAC,要么必须使用shellExecute运行cscript,这将为用户提供所需的UAC批准对话框。
https://stackoverflow.com/questions/26216744
复制相似问题