ネイティブコマンドへの引数渡し
PowerShellが解析した引数を、外部プログラム(ネイティブコマンド)のプロセスへ渡す一連の仕組み。引数モードでの構文解析と、解析後にプロセスへ届ける経路の2段階からなる。
- 概念URI
https://comcomponent.com/knowledge/native-command-argument-passing/
- 別名・表記
- 外部プログラムへの引数渡し
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- ネイティブコマンドへの引数渡しは引数モード(argument mode)による解析を利用します。PowerShellは外部コマンドの呼び出し以降を引数モードで解析してから、ネイティブコマンドへ引数を渡す。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しは$PSNativeCommandArgumentPassingで構成できます。ネイティブコマンドへの引数の組み立て方は$PSNativeCommandArgumentPassing(Legacy/Standard/Windows)で構成できる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 配列スプラッティングによる引数渡しはネイティブコマンドへの引数渡しに対する本記事の推奨です。変数の値を渡す第一候補として、記事は配列スプラッティング(& $exe @args)を推奨している。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 停止解析トークン(--%)はネイティブコマンドへの引数渡しに対する本記事の推奨です。--%は変数を含まない固定文字列の引数に限り、エスケープを避ける最短手段として使える。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しはバッチファイル経由のコマンド注入リスクの原因になることがあります。バッチファイルへの引数は生のコマンドライン文字列としてcmd.exeへ渡るため、信頼できない入力をそのまま渡すとコマンド注入の余地が残る。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しは[Console]::OutputEncodingを利用します。外部コマンドの出力をPowerShellが復号する際は[Console]::OutputEncodingが使われる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しは$OutputEncodingを利用します。PowerShellから外部コマンドへパイプで文字列を送る際は$OutputEncodingが使われる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しは$LASTEXITCODEで確認できます。外部プログラムの成否は$LASTEXITCODEで確認できる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 2>&1によるstderrの合流をネイティブコマンドへの引数渡しに用いることは推奨されません。stdoutとstderrの両方を区別して扱いたい場合、2>&1による合流は合流後の型が5.1と7.4以降で異なるため推奨されず、別々に受け取るほうが確実である。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- ネイティブコマンドへの引数渡しはTrace-Command -Name ParameterBindingで確認できます。実際にどんな引数が渡ったかはTrace-Command -Name ParameterBindingで確認できる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- Start-Processはネイティブコマンドへの引数渡しに対する本記事の推奨です。別ウィンドウでの起動・別ユーザー実行・管理者権限への昇格が必要な場面では、直接呼び出しの代わりにStart-Processが推奨される。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。