用于重新启动服务的PowerShell脚本

时间:2010-05-14 15:45:03

标签: powershell windows-services keyboard-shortcuts shortcut

我的任务是按下键盘序列,例如 Ctrl + Shift + R ,以重新启动Windows服务。

我有一个脚本,在使用管理权限启动时,可以在PowerShell ISE中正常工作。

当我尝试使用PowerShell脚本时,由于管理权限不足而失败。令人痛苦的是,我可以使用老式的bat文件,但不能使用PowerShell。

问题的根源是PowerShell脚本的快捷方式将其管理权限框显示为灰色。到目前为止,没有解决方案可以克服这个特权问题。

有什么想法吗?

2 个答案:

答案 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