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 是指其父作用域)
默认值为 Local。 有关详细信息,请参阅 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
命令括在括号中。
备注
PowerShell 包含 Get-Variable
的以下别名:
所有平台:
gv
此 cmdlet 不管理环境变量。 若要管理环境变量,可以使用环境变量提供程序。