Get-Variable
获取当前控制台中的变量。
语法
Get-Variable
[[-Name] <String[]>]
[-ValueOnly]
[-Include <String[]>]
[-Exclude <String[]>]
[-Scope <String>]
[<CommonParameters>]
说明
Get-Variable
cmdlet 获取当前控制台中的 PowerShell 变量。
可以通过指定 ValueOnly 参数来仅检索变量的值,并且可以按名称筛选返回的变量。
示例
示例 1:按字母获取变量
此命令获取名称以字母 m 开头的变量。 该命令还获取变量的值。
Get-Variable m*
示例 2:按字母获取变量值
此命令仅获取名称以 m 开头的变量的值。
Get-Variable m* -ValueOnly
示例 3:按两个字母获取变量
此命令获取以字母 M 或字母 P 开头的变量的相关信息。
Get-Variable -Include M*,P*
示例 4:按范围获取变量
第一个命令仅获取在本地范围内定义的变量。
它等效于 Get-Variable -Scope Local
,可缩写为 gv -s 0
。
第二个命令使用 Compare-Object
cmdlet 查找父范围(范围 1)中定义的变量,但仅在本地范围(范围 0)中可见。
Get-Variable -Scope 0
Compare-Object (Get-Variable -Scope 0) (Get-Variable -Scope 1)
参数
-Exclude
指定此 cmdlet 从作中排除的项数组。 允许通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Include
指定 cmdlet 将对其执行作的项数组,不包括所有其他项。 允许通配符。
类型: | String[] |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | True |
-Name
指定变量的名称。
允许通配符。
还可以通过管道将变量名称传递给 Get-Variable
。
类型: | String[] |
Position: | 0 |
默认值: | None |
必需: | False |
接受管道输入: | True |
接受通配符: | True |
-Scope
指定作用域中的变量。此参数的可接受值为:
- 全局
- 本地
- 脚本
- 相对于当前范围的数字(0 到范围的数目,其中 0 是当前范围,1 是它的父范围)
本地 为默认值。 有关详细信息,请参阅 about_Scopes。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-ValueOnly
指示此 cmdlet 仅获取变量的值。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将包含变量名称的字符串传递给此 cmdlet。
输出
默认情况下,此 cmdlet 为它获取的每个变量返回 AutomationPSVariable 对象。 对象类型取决于变量。
Object[]
当指定 ValueOnly 参数,并且指定的变量的值是集合时,此 cmdlet 将返回 [System.Object[]]
。 此行为可防止正常管道作一次处理变量的值。 强制集合枚举的解决方法是将 Get-Variable
命令括在括号中。
备注
Windows PowerShell 包含以下 Get-Variable
别名:
gv
此 cmdlet 不管理环境变量。 若要管理环境变量,可以使用环境提供程序。