2016-04-17 75 views
0

我需要通過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}'" 

我在想什麼?

回答

2

Start-Process調用一個新的進程。該調用不會將單引號識別爲引號字符,因此您不會將參數-command與命令字符串'&{Start-Service MyServiceName}'一起傳遞,而是傳遞4個令牌:-command,'&,{Start-ServiceMyServiceName}

更改此:

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

到這一點:

"-command `"& {Start-Service MyServiceName}`"" 
相關問題