次の方法で共有


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-ProcessInvoke-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.exeSystem.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

新しいプロセスに使用されるウィンドウの状態を指定します。 このパラメーターに指定できる値は、 NormalHiddenMinimizedおよび 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 メソッドの」を参照してください。