我的任务是按下键盘序列,例如 Ctrl + Shift + R ,以重新启动Windows服务。
我有一个脚本,在使用管理权限启动时,可以在PowerShell ISE中正常工作。
当我尝试使用PowerShell脚本时,由于管理权限不足而失败。令人痛苦的是,我可以使用老式的bat文件,但不能使用PowerShell。
问题的根源是PowerShell脚本的快捷方式将其管理权限框显示为灰色。到目前为止,没有解决方案可以克服这个特权问题。
有什么想法吗?
答案 0 :(得分:2)
一种方法是在脚本中启动另一个提升的PowerShell会话,如下所示:
Start-Process PowerShell.exe -arg '-nologo -noprofile script.ps1' -verb runas
这应该提示升级新的PowerShell会话。我认为您应该能够设置-WindowStyle参数,以便不会出现新窗口(如果您需要该行为)。请注意,您需要指定现有脚本的完整路径。
答案 1 :(得分:0)
你建议你不喜欢用批处理文件解决这个问题(例如net start),我认为因为批处理文件本质上比powershell脚本更有限。您可以做的是将Ps脚本包装在批处理文件中,但是为了实现您声明的目标 - 运行带有键盘快捷键的PowerShell脚本而没有访问权限问题。在批处理文件中尝试:
powershell set-executionpolicy remotesigned
powershell myscript.ps1