ja-JP/about_Automatic_Variables.help.txt

TOPIC
    about_Automatic_Variables

簡単な説明
    PowerShell が状態情報を保持するために自動的に作成・管理する
    「自動変数」を説明します。これらは PowerShell が値を設定します。

詳細な説明
    自動変数は、PowerShell が作成し、その状態を保持するために使う変数です。
    値は PowerShell によって管理されます。基本的には読み取り専用として
    扱い、ユーザーが値を書き換えないようにしてください。

    以下に主な自動変数を示します。

$$
    セッションが受け取った最後の行の、最後のトークンを格納します。

$?
    最後のコマンドの実行状態を格納します。直前のコマンドが成功した場合は
    True、失敗した場合は False になります。

$^
    セッションが受け取った最後の行の、最初のトークンを格納します。

$_
$PSItem
    パイプラインで現在処理中のオブジェクトを格納します。$_ と $PSItem は
    同じ値を表し、どちらを使っても構いません。パイプラインの各要素に対して
    処理を行うコマンド (ForEach-Object, Where-Object など) で使います。

        1, 2, 3 | ForEach-Object { "値: $_" }
        Get-Process | Where-Object { $_.CPU -gt 100 }

$args
    関数・スクリプト・スクリプトブロックに渡された、宣言されていない
    パラメーターの値を配列として格納します。

$ConsoleFileName
    セッションで最後に使われたコンソールファイル (.psc1) のパスを
    格納します。

$EnabledExperimentalFeatures
    有効化されている実験的機能の名前の一覧を格納します。

$Error
    直近のエラーを表すエラーオブジェクトの配列を格納します。最新の
    エラーが配列の先頭 ($Error[0]) になります。

$Event
    処理中のイベントを表す PSEventArgs オブジェクトを格納します。イベント
    登録コマンドの Action ブロック内でのみ値が設定されます。

$EventArgs
    処理中のイベントの最初のイベント引数 (EventArgs 派生オブジェクト) を
    格納します。Action ブロック内でのみ値が設定されます。

$EventSubscriber
    処理中のイベントのイベントサブスクライバーを表す PSEventSubscriber
    オブジェクトを格納します。Action ブロック内でのみ値が設定されます。

$ExecutionContext
    PowerShell ホストの実行コンテキストを表す EngineIntrinsics
    オブジェクトを格納します。

$false
    False を表すブール定数です。

$foreach
    foreach ループの列挙子 (結果の値ではなく enumerator) を格納します。
    foreach 文のブロック内でのみ使えます。

$HOME
    ユーザーのホームディレクトリの完全パスを格納します。Windows では
    $Env:USERPROFILE、Unix 系では HOME 環境変数に相当します。

$Host
    PowerShell の現在のホストアプリケーションを表すオブジェクトを格納
    します。Version などのプロパティを参照できます。

$input
    関数・スクリプトブロック・スクリプトファイルに渡されたすべての入力を
    列挙する列挙子を格納します。

$IsCoreCLR
    現在のセッションが .NET Core (CoreCLR) 上で動作している場合に True を
    格納します。

$IsLinux
    現在のセッションが Linux 上で動作している場合に True を格納します。

$IsMacOS
    現在のセッションが macOS 上で動作している場合に True を格納します。

$IsWindows
    現在のセッションが Windows 上で動作している場合に True を格納します。

$LASTEXITCODE
    最後に実行したネイティブプログラムまたは PowerShell スクリプトの
    終了コードを格納します。

$Matches
    -match または -notmatch 演算子がスカラー入力に対して一致を検出すると、
    ブール値を返すと同時に、一致結果を $Matches ハッシュテーブルに
    格納します。

        "ABC-123" -match "(?<id>\d+)"
        $Matches['id'] # 123

$MyInvocation
    現在のコマンドに関する情報 (名前・パラメーター・パラメーター値や、
    どのように開始されたかなど) を格納します。

$NestedPromptLevel
    現在のプロンプトレベルを格納します。0 は元のプロンプトレベルを
    表します。

$null
    null または空の値を含む自動変数です。値が存在しない、または未定義で
    あることを表すために使えます。

$PID
    現在の PowerShell セッションをホストしているプロセスのプロセス
    識別子 (PID) を格納します。

$PROFILE
    現在のユーザーおよび現在のホストアプリケーション向けの PowerShell
    プロファイルの完全パスを格納します。

$PSBoundParameters
    スクリプトまたは関数に渡されたパラメーターとその現在の値を表す
    ディクショナリを格納します。

$PSCmdlet
    実行中のコマンドレットまたはアドバンス関数を表すオブジェクトを格納
    します。ParameterSetName プロパティや ShouldProcess メソッドなどに
    アクセスできます。

$PSCommandPath
    実行中のスクリプトの完全パスとファイル名を格納します。

$PSCulture
    PowerShell 7 以降、現在の PowerShell ランスペースのカルチャを
    反映します。

$PSDebugContext
    デバッグ中に、デバッグ環境に関する情報を格納します。デバッグ中以外は
    $null です。

$PSEdition
    $PSVersionTable.PSEdition と同じ値を格納します。

$PSHOME
    PowerShell のインストールディレクトリの完全パスを格納します。
    Windows では通常 C:\Program Files\PowerShell\7 です。

$PSItem
    $_ と同じ値 (パイプラインで現在処理中のオブジェクト) を格納します。

$PSScriptRoot
    実行中のスクリプトの親ディレクトリの完全パスを格納します。

$PSSenderInfo
    PSSession を開始したユーザーに関する情報を格納します。

$PSUICulture
    オペレーティングシステムで構成されているユーザーインターフェイス (UI)
    カルチャの名前を格納します。

$PSVersionTable
    実行中の PowerShell のバージョンに関する詳細を表示する、読み取り専用の
    ハッシュテーブルを格納します。

$PWD
    現在の PowerShell ランスペースにおける現在のディレクトリの完全パスを
    表すパスオブジェクトを格納します。

$Sender
    このイベントを生成したオブジェクトを格納します。イベントの Action
    ブロック内で使えます。

$ShellId
    現在のシェルの識別子を格納します。

$StackTrace
    直近のエラーのスタックトレースを格納します。

$switch
    switch 文の列挙子 (結果の値ではなく enumerator) を格納します。

$this
    クラスを定義・拡張するスクリプトブロック内で、クラスのインスタンス
    自身を参照するために使います。

$true
    True を表すブール定数です。

関連項目
    about_Variables
    about_Preference_Variables
    about_Hash_Tables
    about_Functions
    about_Scripts
    about_Switch

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP