Start-Process
ローカル コンピューターで 1 つ以上のプロセスを開始します。
構文
Start-Process
[-FilePath] <String>
[[-ArgumentList] <String[]>]
[-Credential <PSCredential>]
[-WorkingDirectory <String>]
[-LoadUserProfile]
[-NoNewWindow]
[-PassThru]
[-RedirectStandardError <String>]
[-RedirectStandardInput <String>]
[-RedirectStandardOutput <String>]
[-WindowStyle <ProcessWindowStyle>]
[-Wait]
[-UseNewEnvironment]
[<CommonParameters>]
Start-Process
[-FilePath] <String>
[[-ArgumentList] <String[]>]
[-WorkingDirectory <String>]
[-PassThru]
[-Verb <String>]
[-WindowStyle <ProcessWindowStyle>]
[-Wait]
[<CommonParameters>]
説明
Start-Process
コマンドレットは、ローカル コンピューターで 1 つ以上のプロセスを開始します。 プロセスで実行されるプログラムを指定するには、実行可能ファイルまたはスクリプト ファイル、またはコンピューター上のプログラムを使用して開くことができるファイルを入力します。 実行可能ファイル以外のファイルを指定すると、 Start-Process
は Invoke-Item
コマンドレットと同様に、ファイルに関連付けられているプログラムを起動します。
Start-Process
のパラメーターを使用して、ユーザー プロファイルの読み込み、新しいウィンドウでのプロセスの開始、代替資格情報の使用などのオプションを指定できます。
例
例 1: 既定値を使用するプロセスを開始する
この例では、現在のフォルダ内の Sort.exe ファイルを使用するプロセスを開始します。 このコマンドでは、デフォルトのウィンドウスタイル、作業フォルダ、資格情報など、すべてのデフォルト値が使用されます。
Start-Process -FilePath "sort.exe"
例 2: テキスト ファイルを印刷する
この例では、C:\PS-Test\MyFile.txt ファイルを印刷するプロセスを開始します。
Start-Process -FilePath "myfile.txt" -WorkingDirectory "C:\PS-Test" -Verb Print
例 3: 項目を新しいファイルに並べ替えるプロセスを開始する
この例では、Testsort.txt ファイル内の項目を並べ替えるプロセスを開始し、Sorted.txt ファイル内の並べ替えられた項目を返します。 エラーはすべて SortError.txt ファイルに書き込まれます。
Start-Process -FilePath "Sort.exe" -RedirectStandardInput "Testsort.txt" -RedirectStandardOutput "Sorted.txt" -RedirectStandardError "SortError.txt" -UseNewEnvironment
UseNewEnvironment パラメーターは、プロセスが独自の環境変数で実行されることを指定します。
例 4: 最大化されたウィンドウでプロセスを開始する
この例では、 Notepad.exe プロセスを開始します。 ウィンドウが最大化され、プロセスが完了するまでウィンドウが保持されます。
Start-Process -FilePath "notepad" -Wait -WindowStyle Maximized
例 5: 管理者として PowerShell を起動する
この例では、[管理者として実行] オプションを使用して PowerShell を起動します。
Start-Process -FilePath "powershell" -Verb RunAs
例 6: 異なる動詞を使用してプロセスを開始する
この例では、プロセスの開始時に使用できる動詞を検索する方法を示します。 使用可能な動詞は、プロセスで実行されるファイルのファイル名拡張子によって決まります。
$startExe = New-Object System.Diagnostics.ProcessStartInfo -Args PowerShell.exe
$startExe.verbs
open
runas
この例では、New-Object
を使用して、PowerShell プロセスで実行されるファイルである PowerShell.exeの System.Diagnostics.ProcessStartInfo オブジェクトを作成します。
ProcessStartInfo オブジェクトの Verbs プロパティは、PowerShell.exe、または .exe ファイルを実行する任意のプロセスで Open 動詞と RunAs 動詞を使用できることを示しています。
例 7: プロセスへの引数の指定
どちらのコマンドも Windows コマンド インタープリターを起動し、'Program Files' フォルダーに対して dir コマンドを発行します。 このフォルダー名にはスペースが含まれているため、値はエスケープされた引用符で囲む必要があります。 最初のコマンドでは、文字列を ArgumentList として指定していることに注意してください。 2 番目のコマンドは文字列配列です。
Start-Process -FilePath "$env:comspec" -ArgumentList "/c dir `"%systemdrive%\program files`""
Start-Process -FilePath "$env:comspec" -ArgumentList "/c","dir","`"%systemdrive%\program files`""
パラメーター
-ArgumentList
このコマンドレットがプロセスを開始するときに使用するパラメーターまたはパラメーター値を指定します。 パラメータまたはパラメータ値にスペースが含まれている場合は、エスケープされた二重引用符で囲む必要があります。
型: | String[] |
Aliases: | Args |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 User01 や Domain01\User01 などのユーザー名を入力するか、 PSCredential オブジェクト ( Get-Credential
コマンドレットのオブジェクトなど) を入力します。 既定では、コマンドレットは現在のユーザーの資格情報を使用します。
型: | PSCredential |
Aliases: | RunAs |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-FilePath
プロセスで実行されるプログラムのオプションのパスとファイル名を指定します。 実行可能ファイルの名前、またはコンピュータ上のプログラムに関連付けられているドキュメント (.txt ファイルや .doc ファイルなど) の名前を入力します。 このパラメーターは必須です。
ファイル名のみを指定する場合は、WorkingDirectory パラメーターを使用してパスを指定します。
型: | String |
Aliases: | PSPath |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-LoadUserProfile
このコマンドレットが、現在のユーザーの HKEY_USERS レジストリ キーに格納されている Windows ユーザー プロファイルを読み込むことを示します。
このパラメーターは、PowerShell プロファイルには影響しません。 詳細については、about_Profilesを参照してください。
型: | SwitchParameter |
Aliases: | Lup |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-NoNewWindow
現在のコンソール ウィンドウで新しいプロセスを開始します。 デフォルトでは、PowerShell は新しいウィンドウを開きます。
NoNewWindow パラメータと WindowStyle パラメータを同じコマンドで使用することはできません。
型: | SwitchParameter |
Aliases: | nnw |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PassThru
コマンドレットが開始した各プロセスのプロセス オブジェクトを返します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RedirectStandardError
ファイルを指定します。 このコマンドレットは、プロセスによって生成されたエラーを、指定したファイルに送信します。 パスとファイル名を入力します。 既定では、エラーはコンソールに表示されます。
型: | String |
Aliases: | RSE |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RedirectStandardInput
ファイルを指定します。 このコマンドレットは、指定されたファイルから入力を読み取ります。 入力ファイルのパスとファイル名を入力します。 既定では、プロセスはキーボードから入力を取得します。
型: | String |
Aliases: | RSI |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RedirectStandardOutput
ファイルを指定します。 このコマンドレットは、プロセスによって生成された出力を、指定したファイルに送信します。 パスとファイル名を入力します。 既定では、出力はコンソールに表示されます。
型: | String |
Aliases: | RSO |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UseNewEnvironment
このコマンドレットが、プロセスに指定された新しい環境変数を使用することを示します。 デフォルトでは、開始されたプロセスは、コンピューターとユーザーに指定された環境変数で実行されます。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Verb
このコマンドレットがプロセスを開始するときに使用する動詞を指定します。 使用できる動詞は、プロセスで実行されるファイルのファイル名拡張子によって決まります。
次の表は、一般的なプロセス ファイルの種類の動詞を示しています。
ファイルの種類 | 動詞 |
---|---|
.cmd | 編集、開く、印刷、RunAs、RunAsUser |
.exe | 開く、RunAs、RunAsUser |
.txt | 開く、印刷、印刷する |
.wav | 開く、遊ぶ |
プロセスで実行されるファイルで使用できる動詞を検索するには、New-Object
コマンドレットを使用して、ファイルの System.Diagnostics.ProcessStartInfo オブジェクトを作成します。 使用可能な動詞は、ProcessStartInfo オブジェクトの Verbs プロパティにあります。 詳細については、例を参照してください。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Wait
このコマンドレットは、指定されたプロセスとその子孫が完了するまで待機してから、より多くの入力を受け入れることを示します。 このパラメーターは、コマンド プロンプトを抑制するか、プロセスが完了するまでウィンドウを保持します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WindowStyle
新しいプロセスに使用されるウィンドウの状態を指定します。 このパラメーターに指定できる値は、 Normal、 Hidden、 Minimized、 および Maximized です。 既定値は 通常 です。
WindowStyle パラメータと NoNewWindow パラメータを同じコマンドで使用することはできません。
型: | ProcessWindowStyle |
指定可能な値: | Normal, Hidden, Minimized, Maximized |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WorkingDirectory
プロセスで実行される実行可能ファイルまたはドキュメントの場所を指定します。 デフォルトは、新しいプロセスのフォルダです。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットに入力をパイプすることはできません。
出力
None, System.Diagnostics.Process
このコマンドレットは、PassThru パラメーターを指定すると、System.Diagnostics.Process オブジェクトを生成します。 それ以外の場合、このコマンドレットは出力を返しません。
メモ
- このコマンドレットは、System.Diagnostics.Process クラスの Start メソッドを使用して実装されます。 このメソッドの詳細については、「Process.Start メソッドの」を参照してください。