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

输入

String

可以通过管道将包含变量名称的字符串传递给此 cmdlet。

输出

PSVariable

默认情况下,此 cmdlet 为它获取的每个变量返回 AutomationPSVariable 对象。 对象类型取决于变量。

Object[]

当指定 ValueOnly 参数,并且指定的变量的值是集合时,此 cmdlet 将返回 [System.Object[]]。 此行为可防止正常管道作一次处理变量的值。 强制集合枚举的解决方法是将 Get-Variable 命令括在括号中。

备注

Windows PowerShell 包含以下 Get-Variable别名:

  • gv

  • 此 cmdlet 不管理环境变量。 若要管理环境变量,可以使用环境提供程序。