Windows PowerShell を他のツール (Cmd.exe など) のコマンド ラインから起動します。
構文
PowerShell[.exe] [-PSConsoleFile <file> | -Version <version>] [-EncodedCommand <Base64EncodedCommand>] [-ExecutionPolicy <ExecutionPolicy>] [-File <filePath> <args>] [-InputFormat {Text | XML}] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile] [-OutputFormat {Text | XML}] [-Sta] [-WindowStyle <style>] [-Command { - | <script-block> [-args <arg-array>] | <string> [<CommandParameters>] } ] PowerShell[.exe] -Help | -? | /?
パラメーター
-EncodedCommand
Base 64 エンコード文字列版のコマンドを許可します。このパラメーターは、複雑な引用符や中かっこを必要とするコマンドを Windows PowerShell に渡す場合に使用します。
-ExecutionPolicy
セッションの既定の実行ポリシーを設定します。このパラメーターを指定しても、レジストリで設定された Windows PowerShell の実行ポリシーが変更されるわけではありません。
-File
指定されたスクリプトを実行します。スクリプト ファイルのパスと (存在する場合) パラメーターを入力します。
-InputFormat
Windows PowerShell に送信されるデータの形式を定義します。有効な値は "Text" (テキスト文字列) または "XML" (シリアル化された CLIXML 形式) です。
-NoExit
スタートアップ コマンドの実行後、終了しません。
-NoLogo
スタートアップ時に著作権の見出しを非表示にします。
-NonInteractive
ユーザーに対話的なプロンプトを表示しません。
-NoProfile
Windows PowerShell プロファイルを読み込みません。
-OutputFormat
Windows PowerShell からの出力形式を定義します。有効な値は "Text" (テキスト文字列) または "XML" (シリアル化された CLIXML 形式) です。
-PSConsoleFile
指定された Windows PowerShell コンソール ファイルを読み込みます。コンソール ファイルを作成するには、Windows PowerShell の Export-Console コマンドレットを使用します。
-Sta
シングルスレッド アパートメントを使用して、シェルを起動します。
-Version
指定されたバージョンの Windows PowerShell を起動します。「-version 1.0」のようにパラメーターに続けてバージョン番号を入力します。
-WindowStyle
ウィンドウ スタイルを Normal、Minimized、Maximized、または Hidden に設定します。
-Command
Windows PowerShell のコマンド プロンプトに入力された場合と同様に、指定されたコマンド (および任意のパラメーター) を実行します。NoExit が指定されていない場合は、そのまま終了します。Command の値には、"-"、文字列、またはスクリプト ブロックを指定できます。
Command の値が "-" の場合、コマンド テキストは標準入力から読み取られます。
スクリプト ブロックは中かっこ ({}) で囲む必要があります。スクリプト ブロックを指定できるのは、PowerShell.exe を Windows PowerShell で実行する場合だけです。スクリプトの結果は、ライブ オブジェクトとしてではなく、逆シリアル化された XML オブジェクトとして親シェルに返されます。
Command の値が文字列の場合、Command はコマンドの最後のパラメーターでなければなりません。コマンドの後に入力された文字は、コマンド引数として解釈されるためです。
Windows PowerShell コマンドを実行する文字列を記述するには、次の形式を使用します。
"& {<command>}"
引用符によりこれが文字列であることを示し、呼び出し演算子 (&) によりコマンドが実行されます。
-Help、-?、/?
このメッセージを表示します。Windows PowerShell で PowerShell.exe のコマンドを入力している場合、コマンド パラメーターの前にスラッシュ (/) ではなくハイフン (-) を入力してください。Cmd.exe では、ハイフンとスラッシュのいずれかを使用できます。
例
PowerShell -PSConsoleFile sqlsnapin.psc1 PowerShell -version 1.0 -NoLogo -InputFormat text -OutputFormat XML PowerShell -Command {Get-EventLog -LogName security} PowerShell -Command "& {Get-EventLog -LogName security}" # To use the -EncodedCommand parameter: $command = "dir 'c:\program files' " $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) powershell.exe -encodedCommand $encodedCommand