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。