PowerShellから昇格されたプロセスを開始する
PowerShellは、高度な形式のコマンドプロンプトです。 すぐに使用できるコマンドレットの膨大なセットで拡張され、さまざまなシナリオで.NET Framework / C#を使用する機能が付属しています。 今日は、PowerShellプロンプトから昇格したプロセスを開始する方法を紹介します。
以前、同じことがどのようになり得るかについて説明しました バッチファイルから実行. ただし、Windows 10 Creators Updateでは、Microsoftはコマンドプロンプトを強調せず、PowerShellをあらゆる場所で宣伝します。 参考のためにこれらの記事を参照してください。
- Windows 10ビルド14986は、どこでもコマンドプロンプトをPowerShellに置き換えます
- Windows 10 CreatorsUpdateのWin + Xメニューにコマンドプロンプトを追加します
- Windows 10 CreatorsUpdateのコンテキストメニューにコマンドプロンプトを追加する
- Windows10のコンテキストメニューから[PowerShellウィンドウを開く]をここから削除します
したがって、PowerShellコンソールから実行できるこの便利なトリックを学び、時間を節約することをお勧めします。
PowerShellから昇格されたプロセスを開始する
このタスクでは、Start-Processコマンドレットを使用します。 それはサポートします オプションの数、そのうちの1つは-Verbです。 -Verbを「RunAs」として指定すると、開始しようとしているプロセスが昇格して開かれます。
メモ帳アプリを昇格させて起動してみましょう。
- PowerShellを開く.
- 次のコマンドを入力するか、コピーして貼り付けます。
Start-Process "notepad.exe" -Verb RunAs
- UACプロンプトが表示されます。 それを確認します:
- メモ帳アプリは昇格して開きます。
これは、タスクマネージャーを使用して確認できます。 記事を参照してください: プロセスがWindowsで管理者(昇格)として実行されているかどうかを確認する方法
注:UACプロンプトで[いいえ]ボタンを押すと、PowerShellコンソールは「ユーザーによって操作がキャンセルされました」というエラーメッセージを出力します。 これは予想されます。
ヒント:最初にコンソールを開かなくても、PowerShellを使用して昇格したアプリを直接実行できます。 たとえば、ショートカットを作成するか、[実行]ダイアログで次のコマンドを入力できます。
powershell.exe -Command "Start-Process Notepad.exe -Verb RunAs"
結果は同じになります。 Powershellウィンドウが一瞬点滅し、アプリが昇格して開きます。
PowerShellからの引数で昇格されたプロセスを開始する
PowerShellから昇格して開始するプロセスにいくつかの引数(スイッチまたはパラメーターとも呼ばれます)を渡す必要がある場合は、Start-Processコマンドレットの-Argumentスイッチを使用します。 そこで指定された引数は、ターゲットの実行可能ファイルに渡されます。 上記で使用したNotepad.exeを使用した変更例を次に示します。
PowerShellコンソールの場合は、次のコマンドを使用します。
Start-Process "notepad.exe" -Argument "C:\ My Stuff \ my file.txt" -Verb RunAs
スペースを含むパスは引用符で囲みます。 複数の引数を渡す必要がある場合は、コンマで区切り、ArgumentListを使用します。
Start-Process "file.exe" -ArgumentList "argument1、argument2、argument3" -Verb RunAs
PowerShell内から、次のコマンドを使用できます。
powershell.exe -Command "Start-Process'Notepad.exe '-Argument'C:\ My Stuff \ my file.txt' -Verb RunAs"
さらに別の例:
powershell -Command "Start-Process powershell.exe -ArgumentList'-ExecutionPolicy Bypass -NoExit -Command \ `" Checkpoint-Computer -Description \ "RestorePoint1 \" -RestorePointType \ "MODIFY_SETTINGS \" \ `" '-動詞 RunAs」
詳細については、次の記事を参照してください。 PowerShellを使用してWindows10で復元ポイントを作成する
上記のように、パスをスペースで囲みます。
それでおしまい。