Get-Variable

取得目前控制台中的變數。

Syntax

Get-Variable
   [[-Name] <String[]>]
   [-ValueOnly]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-Scope <String>]
   [<CommonParameters>]

Description

Cmdlet 會 Get-Variable 取得目前控制台中的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 從作業中排除的項目陣列。 允許通配符。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

指定 Cmdlet 將採取動作的項目數組,排除所有其他專案。 允許通配符。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Name

指定變數的名稱。 允許通配符。 您也可以使用管線將變數名稱傳送至 Get-Variable

Type:String[]
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Scope

指定範圍中的變數。此參數可接受的值為:

  • 全球
  • 本機
  • 指令碼
  • 相對於目前範圍的數位(0 到範圍的數目,其中0是目前的範圍,1是其父系)

本機 是預設值。 如需詳細資訊,請參閱 about_Scopes

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ValueOnly

表示此 Cmdlet 只會取得變數的值。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

String

您可以使用管線將包含變數名稱的字串傳送至此 Cmdlet。

輸出

PSVariable

根據預設,此 Cmdlet 會針對它取得的每個變數傳 回 AutomationPSVariable 物件。 物件類型取決於變數。

Object[]

當您指定 ValueOnly 參數,而指定的變數值是集合時,這個 Cmdlet 會傳 [System.Object[]]回 。 此行為可防止一般管線作業一次處理變數的值。 強制集合列舉的因應措施是將 Get-Variable 命令括在括弧中。

備註

PowerShell 包含下列的 Get-Variable別名:

  • 所有平臺:

    • gv
  • 此 Cmdlet 不會管理環境變數。 若要管理環境變數,您可以使用環境變數提供者。