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 $MyInspiration 仅针对脚本、函数和脚本块填充。 $MyInspiration 自动变量的 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。