5

我的任务是按键盘序列(例如Ctrl++ ShiftR来重新启动 Windows 服务。

当以管理权限启动时,我有一个在 PowerShell ISE 中运行良好的脚本。

当我尝试使用 PowerShell 脚本时,由于管理权限不足而失败。我可以让它与老式的 bat 文件一起工作,但不能与 PowerShell 一起工作,这真是令人恼火。

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

有任何想法吗?

4

2 回答 2

2

一种方法是在脚本中启动另一个提升的 PowerShell 会话,如下所示:

Start-Process PowerShell.exe -arg '-nologo -noprofile script.ps1' -verb runas

这应该会提示提升新的 PowerShell 会话。我认为您应该能够设置 -WindowStyle 参数,以便不会出现新窗口(如果您需要该行为)。请注意,您需要指定现有脚本的完整路径。

于 2010-05-14T16:00:21.490 回答
0

您建议您不喜欢使用批处理文件(例如 net start)解决此问题,我认为因为批处理文件本质上比 powershell 脚本更受限制。但是,您可以将 Ps 脚本包装在一个批处理文件中,以实现您声明的目标 - 使用键盘快捷键运行 powershell 脚本,而不会出现访问权限问题。在批处理文件中试试这个:

 powershell set-executionpolicy remotesigned
 powershell myscript.ps1
于 2010-05-14T16:00:02.223 回答