PowerShell----Automatic_Variables(预定义变量)
以下这些变量是由powershell创建和维护的.
ls Variable: 可以获取到所有默认的变量, 每个版本的Powershell可能有差异
$$
包含会话所收到的最后一行中的最后一个令牌。
$?
包含最后一个操作的执行状态。如果最后一个操作成功,则包含 TRUE,失败则包含 FALSE。
$^
包含会话所收到的最后一行中的第一个令牌。
$_
包含管道对象中的当前对象。在对管道中的每个对象或所选对象执行操作的命令中,可以使用此变量。
$Args
包含由未声明参数和/或传递给函数、脚本或脚本块的参数值组成的数组。
在创建函数时可以声明参数,方法是使用 param 关键字或在函数名称后添加以圆括号括起、逗号
分隔的参数列表。
$ConsoleFileName
包含在会话中最近使用的控制台文件 (.psc1) 的路径。在通过 PSConsoleFile 参数启动
Windows PowerShell 或使用 Export-Console cmdlet 将管理单元名称导出到控制台文件
时,将填充此变量。
在使用不带参数的 Export-Console cmdlet 时,它自动更新在会话中最近使用的控制台文件。
可以使用此自动变量确定要更新的文件。
$Error
包含错误对象的数组,这些对象表示最近的一些错误。最近的错误是该数组中的第一个错误对象
($Error[0])。
$Event
包含一个 PSEventArgs 对象,该对象表示一个正在被处理的事件。
此变量只在事件注册命令(例如 Register-ObjectEvent)的 Action 块内填充。
此变量的值是 Get-Event cmdlet 返回的同一个对象。
因此,可以在 Action 脚本块中使用 $Event 变量的属性(例如
$Event.TimeGenerated)。
$EventSubscriber
包含一个 PSEventSubscriber 对象,该对象表示正在被处理的事件的事件订阅者。
此变量只在事件注册命令的 Action 块内填充。此变量的值
是 Get-EventSubscriber cmdlet 返回的同一个对象。
$ExecutionContext
包含一个 EngineIntrinsics 对象,该对象表示 Windows PowerShell 主机的执行上下文。
可以使用此变量来查找可用于 cmdlet 的执行对象。
$False
包含 FALSE。可以使用此变量在命令和脚本中表示 FALSE,而不是使用字符串"false"。如果
该字符串转换为非空字符串或非零整数,则可将该字符串解释为 TRUE。
$ForEach
包含 ForEach-Object 循环的枚举数。可以对 $ForEach 变量的值使用枚举数的属性和方法。
此变量仅在运行 For 循环时存在,循环完成即会删除。
$Home
包含用户的主目录的完整路径。此变量等效于 %homedrive%%homepath% 环境变量。
$Host
包含一个对象,该对象表示 Windows PowerShell 的当前主机应用程序。可以使用此变量在命
令中表示当前主机,或者显示或更改主机的属性,如 $Host.version、$Host.CurrentCulture
或 $host.ui.rawui.setbackgroundcolor("Red")。
$Input
一个枚举数,它包含传递给函数的输入。$Input 变量区分大小写,只能用于函数和脚本块。(脚
本块本质上是未命名的函数。)在函数的 Process 块中,$Input 变量包含当前位于管道中的对
象。在 Process 块完成后,$Input 的值为 NULL。如果函数没有 Process 块,则 $Input
的值可用于 End 块,它包含函数的所有输入。
$LastExitCode
包含运行的最后一个基于 Windows 的程序的退出代码。
$Matches
$Matches 变量与 -match 和 -not match 运算符一起使用。
将标量输入提交给 -match 或 -notmatch 运算符时,如果检测到匹配,则会返回一个布尔值,
并使用由所有匹配字符串值组成的哈希表填充 $Matches 自动变量。有关 -match 运算符的详细
信息,请参阅 about_comparison_operators。
$MyInvocation
包含一个对象,该对象具有有关当前命令(如脚本、函数或脚本块)的信息。可以使用该对象中的
信息(如脚本的路径和文件名 ($myinvocation.mycommand.path) 或函数的名称
($myinvocation.mycommand.name))来标识当前命令。对于查找正在运行的脚本的名称,这非常有用。
$NestedPromptLevel
包含当前提示级别。值 0 指示原始提示级别。该值在进入嵌套级别时递增,在退出嵌套级别时递减。
例如,在使用 $Host.EnterNestedPrompt 方法时,Windows PowerShell 会出现嵌套命令
提示符。在 Windows PowerShell 调试程序中到达断点时,Windows PowerShell 也会出现嵌
套命令提示符。
在进入嵌套提示时,Windows PowerShell 暂停当前命令,保存执行上下文,并递增
$NestedPromptLevel 变量的值。要创建更多嵌套命令提示符(最多 128 级)或返回到原始命
令提示符,请完成命令,或键入"exit"。
$NestedPromptLevel 变量有助于跟踪提示级别。可以创建包含此值的备用 Windows
PowerShell 命令提示符,以使此值始终可见。
$NULL
包含 NULL 或空值。可以在命令和脚本中使用此变量表示 NULL,而不是使用字符串"NULL"。
如果该字符串转换为非空字符串或非零整数,则可将该字符串解释为 TRUE。
$PID
包含承载当前 Windows PowerShell 会话的进程的进程标识符 (PID)。
$Profile
包含当前用户和当前主机应用程序的 Windows PowerShell 配置文件的完整路径。可以在命令
中使用此变量表示配置文件。例如,可以在命令中使用此变量确定是否已创建某个配置文件:
test-path $profile
也可以在命令中使用此变量创建配置文件:
new-item -type file -path $pshome -force
此外,还可以在命令中使用此变量在记事本中打开配置文件:
notepad $profile
$PSBoundParameters
包含活动参数及其当前值的字典。只有在声明参数的作用域(如脚本或函数)中,
此变量才有值。可以使用此变量显示或更改参数的当前值,也可以将参数值传递给
其他脚本或函数。
例如:
function test {
param($a, $b)
# 以词典格式显示参数。
$psboundparameters
# 使用 $a 和 $b 调用 Test1 函数。
test1 @psboundparameters
}
$PsCmdlet
包含一个对象,该对象表示正在运行的 cmdlet 或高级函数。
可以在 cmdlet 或函数代码中使用该对象的属性和方法来响应使用的条件。例如,
ParameterSetName 属性包含正在使用的参数集的名称,而 ShouldProcess 方法将 WhatIf
和 Confirm 参数动态添加到 cmdlet。
有关 $PSCmdlet 自动变量的详细信息,请参阅 about_Functions_Advanced。
$PsCulture
包含操作系统中当前所用的区域性的名称。区域性确定数字、货币和日期等项的显示格式。这是系
统的 System.Globalization.CultureInfo.CurrentCulture.Name 属性的值。要获取系统
的 System.Globalization.CultureInfo 对象,请使用 Get-Culture cmdlet。
$PSDebugContext
在调试期间,此变量包含有关调试环境的信息。在其他时间,此变量包含 NULL 值。因此,可以使
用此变量指示调试程序是否拥有控制权。填充之后,此变量包含一个具有 Breakpoints 和
InvocationInfo 属性的 PsDebugContext 对象。InvocationInfo 属性有多个十分有用的
属性,包括 Location 属性。Location 属性指示正在调试的脚本的路径。
$PsHome
包含 Windows PowerShell 的安装目录的完整路径(通常为
%windir%\System32\WindowsPowerShell\v1.0)。可以在 Windows PowerShell 文件
的路径中使用此变量。例如,下面的命令在概念性帮助主题中搜索"variable"一词:
select-string -pattern variable -path $pshome\*.txt
$PSScriptRoot
包含要从中执行脚本模块的目录。
通过此变量,脚本可以使用模块路径来访问其他资源。
$PsUICulture
包含操作系统中当前所用的用户界面 (UI) 区域性的名称。UI 区域性确定哪些文本字符串用于用户
界面元素(如菜单和消息)。这是系统的
System.Globalization.CultureInfo.CurrentUICulture.Name 属性的值。要获取系统
的 System.Globalization.CultureInfo 对象,请使用 Get-UICulture cmdlet。
$PsVersionTable
包含一个只读哈希表,该哈希表显示有关在当前会话中运行的 Windows PowerShell 版本的详
细信息。
该表包括下列项:
CLRVersion: 公共语言运行时 (CLR) 的版本
BuildVersion: 当前版本的内部版本号
PSVersion: Windows PowerShell 版本号
WSManStackVersion: WS-Management 堆栈的版本号
PSCompatibleVersions: 与当前版本兼容的 Windows PowerShell 版本
SerializationVersion 序列化方法的版本
PSRemotingProtocolVersion
Windows PowerShell 远程管理协议的版本
$Pwd
包含一个路径对象,该对象表示当前目录的完整路径。
$Sender
包含生成此事件的对象。此变量只在事件注册命令的 Action 块内填充。
此变量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 对象的 Sender 属性中找到。
$ShellID
包含当前 shell 的标识符。
$SourceArgs
包含表示正在被处理的事件的事件参数的对象。此变量只在事件注册命令的 Action
块内填充。此变量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 对象的 SourceArgs 属性中找到。
$SourceEventArgs
包含一个对象,该对象表示从正在被处理的事件的 EventArgs 中派生出的
第一个事件参数。此变量只在事件注册命令的 Action 块内填充。
此变量的值也可在 Get-Event 返回的 PSEventArgs
(System.Management.Automation.PSEventArgs) 对象的 SourceArgs 属性中找到。
$This
在定义脚本属性或脚本方法的脚本块中,$This 变量引用要扩展的对象。
$True
包含 TRUE。可以在命令和脚本中使用此变量表示 TRUE。
PowerShell----Automatic_Variables(预定义变量)的更多相关文章
- PHP预定义变量
* PHP预定义 * 预定义变量 * $_GET - 接收客户端以请求类型为GET方法发送的数据内容 * $_POST - 接收客户端以请求类型为POST方法发送的数据内容 * $_REQUEST - ...
- linux中位置参数变量和预定义变量
位置参数变量 预定义变量
- 深入理解PHP内核(八)变量及数据类型-预定义变量
原文链接:http://www.orlion.ga/249/ PHP脚本在执行的时候用户全局变量(在用户空间显示定义的变量)会保存在一个HashTable数据类型的符号表中(symbol_table) ...
- Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1
Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1.1.1 C++内建变量(__LINE__).... 1.1.2 ...
- PHP学习笔记1.2——预定义变量参考
预定义变量和用户自定义变量在使用上没有区别,大多数预定义变量的执行结果都是服务器的相关信息(如:版本号.路径.错误参数等),所以我们很少将其用于网站前台开发,如果被别有用心得人知道了后,会严重威胁服务 ...
- 预定义变量 - PHP手册笔记
预定义变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头.超全局变量是在全部作用域中始终可用的内置变量.在函数或方法中无需执行global $variable,就可以访问它们. $GO ...
- PHP预定义变量$_SERVER
PHP预定义变量$_SERVER $_SERVER 是一个包含诸如头部(headers).路径(paths)和脚本位置(script locations)的数组.数组的实体由 web 服务器创建,不能 ...
- Shell 变量详解教程之位置变量与预定义变量。
Shell 变量分为3部分,分别是用户自定义变量.位置变量和预定义变量. 一. 自定义变量 那么,什么是变量呢?简单的说,就是让某一个特定字符串代表不固定的内容,用户定义的变量是最普通的Shell ...
- [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量
--------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...
- $_ENV和$GLOBALS预定义变量
1,$_ENV该全局数组可以获取环境变量,在php5.3中默认禁用,但是可以在php.ini中启用. variables_order="EGPCS" 2,$GLOBALS一个包含了 ...
随机推荐
- 转:sock_ev——linux平台socket事件框架(socket API的封装) .
把linux平台提供的有关socket操作的API进行封装是有必要的:基于stream操作的流程与基于dgram操作的流程略有不同,分别放在两个类中,但两者又有很多相似的操作,因此写一个基类,让其继承 ...
- Linux程序调试GDB——数据查看
查看栈信息 当程序被停住了,首先要确认的就是程序是在哪儿被断住的.这个一般是通过查看调用栈信息来看的.在gdb中,查看调用栈的命令是backtrace,可以简写为bt. (gdb) bt #0 ...
- DataGridView 的单元格的边框、 网格线样式的设定
1) DataGridView 的边框线样式的设定DataGridView 的边框线的样式是通过 DataGridView.BorderStyle 属性来设定的. BorderStyle 属性设定值是 ...
- 使用maven开发OSGI样例
一:创建maven项目,在pom.xml里面增加例如以下依赖 <dependency> <groupId>org.osgi</groupId> <artifa ...
- Java面试题无答案
写在前面:这篇文章里面总结了很多Java相关的知识,基本上应该算是每个Java程序员必须会的一些知识,所以,也就是很多面试官喜欢拿来考的一些东西.总结他们第一个目的是自己能够经常拿出来看一看,第二个也 ...
- 如何让maven 将工程依赖的jar 复制到WEB-INF/lib 目录下
1.在默认生命周期的compile阶段执行 maven-dependency-plugin:copy-dependencies命令即可:<plugin><groupId>org ...
- CentOS 6 下升级安装Mysql 5.5 完整步骤
使用系统CentOS 6.2本来已经系统自带安装了mysql 5.1,但是奈何5.1不支持utf8mb4字符集(详见:http://blog.csdn.net/shootyou/article/det ...
- RPC服务框架dubbo(一):简介和原理解析
前置概念 在学习dubbo前,需要先了解SOA和RPC这两个概念. SOA 1.英文名称(Service Oriented Ambiguity) 2.中文名称:面向服务架构 2.1 有一个专门提供服务 ...
- Atitit.软件仪表盘(7)--温度监测子系统--电脑重要部件温度与监控and警报
Atitit.软件仪表盘(7)--温度监测子系统--电脑重要部件温度与监控and警报 Cpu温度,风扇转速 主板温度 显卡温度 硬盘温度 电池温度 鲁大师 硬盘温度 Cpu温度 core temp ...
- atitit.html5 vs 原生 app的区别与选择
atitit.html5 vs 原生 app的区别与选择 1. html5的优点 1 1.1. 最大优势::在跨平台(ios苹果,android安卓等) 1 1.2. 开放性 1 1.3. 快速的更 ...