Powershell - 特殊變數

PowerShell 特殊變數儲存有關 PowerShell 的資訊。這些也稱為自動變數。以下是自動變數列表 -

特殊變數 描述
$$ 表示會話收到的最後一行中的最後一個標記。
$? 表示上一個操作的執行狀態。如果上一次操作成功,則包含 TRUE;如果失敗,則包含 FALSE。
$^ 表示會話收到的最後一行中的第一個標記。
$_ $PSItem 相同。包含管道物件中的當前物件。你可以在對每個物件或管道中的選定物件執行操作的命令中使用此變數。
$ARGS 表示傳遞給函式,指令碼或指令碼塊的未宣告引數和/或引數值的陣列。
$CONSOLEFILENAME 表示最近在會話中使用的控制檯檔案(.psc1)的路徑。
$ERROR 表示表示最新錯誤的錯誤物件陣列。
$EVENT 表示 PSEventArgs 物件,該物件表示正在處理的事件。
$EventArgs 表示一個物件,該物件表示從正在處理的事件的 EventArgs 派生的第一個事件引數。
$EVENTSUBSCRIBER 表示 PSEventSubscriber 物件,該物件表示正在處理的事件的事件訂閱者。
$EXECUTIONCONTEXT 表示 EngineIntrinsics 物件,該物件表示 PowerShell 主機的執行上下文。
$FALSE 代表 FALSE。你可以使用此變數在命令和指令碼中表示 FALSE,而不是使用字串 false
$FOREACH 表示 ForEach 迴圈的列舉器(不是結果值)。你可以在$ ForEach 變數的值上使用列舉器的屬性和方法。
$HOME 表示使用者主目錄的完整路徑。
$HOST 表示表示 PowerShell 的當前宿主應用程式的物件。
$INPUT 表示列舉傳遞給函式的所有輸入的列舉器。
$LASTEXITCODE 表示已執行的最後一個基於 Windows 的程式的退出程式碼。
$MATCHES $Matches 變數與-match 和-notmatch 運算子一起使用。
$MYINVOCATION $ MyInvocation 僅填充指令碼,函式和指令碼塊。 $ MyInvocation 自動變數的 PSScriptRoot 和 PSCommandPath 屬性包含有關呼叫者或呼叫指令碼的資訊,而不是當前指令碼。
$ NESTEDPROMPTLEVEL 表示當前提示級別。
$NULL $NULL 是一個包含 NULL 或空值的自動變數。你可以使用此變數來表示命令和指令碼中缺少或未定義的值。
$PID 表示承載當前 PowerShell 會話的程序的程序識別符號(PID)。
$PROFILE 表示當前使用者和當前主機應用程式的 PowerShell 配置檔案的完整路徑。
$PSCMDLET 表示一個物件,該物件表示正在執行的 cmdlet 或高階函式。
$PSCOMMANDPATH 表示正在執行的指令碼的完整路徑和檔名。
$PSCULTURE 表示作業系統中當前使用的區域性的名稱。
$PSDEBUGCONTEXT 在除錯時,此變數包含有關除錯環境的資訊。否則,它包含 NULL 值。
$ PSHome 的 表示 PowerShell 的安裝目錄的完整路徑。
$PSITEM $_ 相同。包含管道物件中的當前物件。
$PSSCRIPTROOT 表示執行指令碼的目錄。
$PSSENDERINFO 表示有關啟動 PSSession 的使用者的資訊,包括使用者標識和原始計算機的時區。
$PSUICULTURE 表示當前在作業系統中使用的使用者介面(UI)區域性的名稱。
$PSVERSIONTABLE 表示只讀雜湊表,顯示有關當前會話中執行的 PowerShell 版本的詳細資訊。
$SENDER 表示生成此事件的物件。
$SHELLID 表示當前 shell 的識別符號。
$STACKTRACE 表示最近錯誤的堆疊跟蹤。
$THIS 在定義指令碼屬性或指令碼方法的指令碼塊中,$This 變數引用正在擴充套件的物件。
$TRUE 代表 TRUE。你可以使用此變數在命令和指令碼中表示 TRUE。