2016-04-17 13 views
0

手動でアクセス許可を昇格させる必要がある場合は、PSスクリプトを直接実行してPS経由でローカルコンピュータ上のWindowsサービスを開始する必要があります。このコードは、私の作品:自動昇格されたアクセス許可とコマンドをインラインで受け付ける開始プロセス

MyFileName.ps1が含まれてい
Start-Process powershell -Verb runas -ArgumentList "-file MyFileName.ps1" 

Start-Service MyServiceName 

をしかし、私は、単純な、それを維持したいし、代わりに別のファイルにコマンドを格納する、私は単一のスクリプトを実行したいです。以下は私のためには機能しません:

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

私は何が欠けていますか?

答えて

2

Start-Processは、新しいプロセスを呼び出します。呼び出しは一重引用符を引用文字として認識しないので、パラメータ文字'&{Start-Service MyServiceName}'を使用して-commandというパラメータを渡すのではなく、-command'&{Start-Service、およびMyServiceName}の4つのトークンを渡しています。

変更この:この中

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

"-command `"& {Start-Service MyServiceName}`"" 
関連する問題