具有自动提升权限的启动进程并内联命令

时间:2016-04-17 20:34:21

标签: powershell

我需要通过PS直接运行PS脚本在本地计算机上启动Windows服务,因为需要手动提升权限。这段代码适合我:

Start-Process powershell -Verb runas -ArgumentList "-file MyFileName.ps1"

MyFileName.ps1包含的位置:

Start-Service MyServiceName

但是我想保持简单,而不是将命令存储到单独的文件中,我想运行一个脚本。以下内容对我不起作用:

Start-Process powershell -Verb runas -ArgumentList "-command '& {Start-Service MyServiceName}'"

我错过了什么?

1 个答案:

答案 0 :(得分:2)

Start-Process调用一个新进程。调用不会将单引号识别为引用字符,因此您不会使用命令字符串-command传递参数'&{Start-Service MyServiceName}',而是传递4个令牌:-command'&{Start-ServiceMyServiceName}

改变这个:

"-command '& {Start-Service MyServiceName}'"

进入这个:

"-command `"& {Start-Service MyServiceName}`""