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. |