共用方式為


關於 CommonParameters

簡短描述

描述可與任何 Cmdlet 搭配使用的參數。

詳細描述

常見的參數是一組 Cmdlet 參數,您可以搭配任何 Cmdlet 使用。 它們是由 PowerShell 實作,而不是由 Cmdlet 開發人員實作,而且會自動提供給任何 Cmdlet 使用。

您可以將通用參數與任何 Cmdlet 搭配使用,但是它們可能不會對所有 Cmdlet 造成影響。 例如,如果 Cmdlet 不會產生任何詳細資訊輸出,則使用 Verbose 通用參數沒有任何作用。

通用參數也適用於使用 CmdletBinding 屬性或 Parameter 屬性的進階函式,以及所有工作流程。

數個常見的參數會覆寫您使用 PowerShell 喜好設定變數所設定的系統預設值或喜好設定。 不同於喜好設定變數,一般參數只會影響它們所使用的命令。

除了一般參數之外,許多 Cmdlet 還提供 WhatIfConfirm 風險降低參數。 涉及系統或用戶數據風險的 Cmdlet 通常會提供這些參數。

下列清單會顯示一般參數。 其別名會列在括弧中。

  • Debug (db)
  • ErrorAction (ea)
  • ErrorVariable (ev)
  • InformationAction (infa)
  • InformationVariable (iv)
  • OutVariable (ov)
  • OutBuffer (ob)
  • PipelineVariable (pv)
  • 詳細資訊 (vb)
  • WarningAction (wa)
  • WarningVariable (wv)

風險降低參數如下:

  • WhatIf (wi)
  • 確認 (cf)

如需詳細資訊,請參閱 about_Preference_Variables

一般參數描述

偵錯

Debug 的別名db

顯示命令所完成之作業的程式設計人員層級詳細數據。 此參數只適用於命令產生偵錯訊息時。 例如,當命令包含 Write-Debug Cmdlet 時,此參數可運作。

Debug 參數會覆寫目前命令的$DebugPreference變數值,並將的值$DebugPreference設定為 Continue。 因為變數的 $DebugPreference 預設值是 SilentlyContinue,所以預設不會顯示偵錯訊息。

-Debug:$true 的效果與 -Debug相同。 當 不是 SilentlyContinue 時,使用 -Debug:$false 來隱藏偵錯訊息$DebugPreference的顯示,這是預設值。

ErrorAction

ErrorAction 的別名是 ea

決定 Cmdlet 如何從 命令回應非終止錯誤。 只有當命令產生非終止錯誤時,此參數才適用,例如 Cmdlet 中的 Write-Error 錯誤。

ErrorAction 參數會覆寫目前命令的$ErrorActionPreference變數值。 因為變數的 $ErrorActionPreference 預設值是 Continue,所以除非您使用 ErrorAction 參數,否則會顯示錯誤訊息並繼續執行。

ErrorAction 參數不會影響終止錯誤 (,例如遺失的數據、無效的參數,或許可權不足) ,以防止命令順利完成。

-ErrorAction:Continue 顯示錯誤訊息並繼續執行 命令。 Continue 是預設值。

-ErrorAction:Ignore 隱藏錯誤訊息並繼續執行 命令。 不同於 SilentlyContinue,Ignore 不會將錯誤訊息新增至 $Error自動變數。 忽略值是在PowerShell 3.0中引進。

-ErrorAction:Inquire 會顯示錯誤訊息,並在繼續執行之前提示您確認。 這個值很少使用。

-ErrorAction:SilentlyContinue 隱藏錯誤訊息並繼續執行 命令。

-ErrorAction:Stop 會顯示錯誤訊息並停止執行命令。

-ErrorAction:Suspend PowerShell Core 不支援,因為它僅適用於工作流程。

注意

ErrorAction 參數會覆寫,但在命令中使用 參數來執行腳本或函式時,不會取代喜好設定變數的值$ErrorAction

ErrorVariable

ErrorVariable 的別名為 ev

ErrorVariable 會將命令的相關錯誤訊息儲存在指定的變數和自動變數中 $Error 。 如需詳細資訊,請輸入下列命令:

Get-Help about_Automatic_Variables

根據預設,新的錯誤訊息會覆寫已儲存在變數中的錯誤訊息。 若要將錯誤訊息附加至變數內容,請在變數名稱之前輸入加號 (+) 。

例如,下列命令會 $a 建立 變數,然後將任何錯誤儲存在其中:

Get-Process -Id 6 -ErrorVariable a

下列命令會將任何錯誤訊息新增至 $a 變數:

Get-Process -Id 2 -ErrorVariable +a

下列命令會顯示的內容 $a

$a

您可以使用此參數來建立只包含來自特定命令之錯誤訊息的變數。 自動 $Error 變數包含會話中所有命令的錯誤訊息。 您可以使用數位表示法,例如 $a[0]$error[1,2] 來參考儲存在變數中的特定錯誤。

InformationAction

InformationAction 的別名為 ia

PowerShell 5.0 中引進。 在所使用的命令或腳本內, InformationAction 通用參數會覆寫喜好設定變數的值 $InformationPreference ,預設會設定為 SilentlyContinue。 當您 Write-Information 搭配 InformationAction 在腳本中使用時, Write-Information 會根據 InformationAction 參數的值來顯示值。 如需 的詳細資訊 $InformationPreference,請參閱 about_Preference_Variables

-InformationAction:Stop 在發生 Write-Information 命令時停止命令或腳本。

-InformationAction:Ignore 隱藏參考訊息,並繼續執行 命令。 不同於 SilentlyContinue忽略 完全忘記參考訊息;它不會將參考訊息新增至信息數據流。

-InformationAction:Inquire 會顯示您在命令中指定的 Write-Information 參考訊息,然後詢問您是否要繼續。

-InformationAction:Continue 會顯示參考訊息,並繼續執行。

-InformationAction:Suspend PowerShell Core 不支援,因為它僅適用於工作流程。

-InformationAction:SilentlyContinue 沒有作用,因為資訊訊息不會 (顯示預設) ,而且腳本會繼續而不會中斷。

注意

InformationAction 參數會覆寫,但在命令中使用 參數來執行腳本或函式時,不會取代喜好設定變數的值$InformationAction

InformationVariable

InformationVariable 的別名是iv

PowerShell 5.0 中引進。 在所使用的命令或腳本內, InformationVariable 通用參數會儲存在您藉由新增 Write-Information 命令所指定的字串變數中。 Write-Information 值會根據 InformationAction 一般參數的值來顯示;如果您未新增 InformationAction 通用參數, Write-Information 則會根據喜好設定變數的值 $InformationPreference 來顯示字串。 如需 的詳細資訊 $InformationPreference,請參閱 about_Preference_Variables

OutBuffer

OutBuffer 的別名為 ob,並採用 System.Int32 值。

決定在透過管線傳送任何物件之前,在緩衝區中累積的物件數目。 如果您省略此參數,則會在產生物件時傳送物件。

此資源管理參數是專為進階用戶所設計。 當您使用此參數時,PowerShell 會將數據傳送至批次中的 OutBuffer + 1下一個 Cmdlet。

下列範例會在 之間顯示 ,以 ForEach-Object 處理使用 Cmdlet 的 Write-Host 區塊。 以2或 OutBuffer + 1批次表示的顯示替代專案。

1..4 | ForEach-Object {
        Write-Host "$($_): First"; $_
      } -OutBuffer 1 | ForEach-Object {
                        Write-Host "$($_): Second" }
1: First
2: First
1: Second
2: Second
3: First
4: First
3: Second
4: Second

OutVariable

OutVariable 的別名為 ov

除了沿著管線傳送輸出之外,還會將命令的輸出物件儲存在指定的變數中。

若要將輸出新增至變數,而不是取代可能儲存在該處的任何輸出,請在變數名稱之前輸入加號 (+) 。

例如,下列命令會 $out 建立 變數,並將進程物件儲存在其中:

Get-Process PowerShell -OutVariable out

下列命令會將行程物件新增至 $out 變數:

Get-Process iexplore -OutVariable +out

下列命令會顯示 變數的內容 $out

$out

注意

OutVariable 參數所建立的變數是 [System.Collections.ArrayList]

PipelineVariable

PipelineVariable 的別名是 pv,並採用字串值。

PipelineVariable 會將目前管線元素的值儲存為變數,供任何具名命令在管線中流動時儲存。

有效值為字串,與任何變數名稱相同。

以下是 PipelineVariable 運作方式的範例。 在此範例中, PipelineVariable 參數會新增至 Foreach-Object 命令,以將命令的結果儲存在變數中。 數位範圍 1 到 10 會以管線傳送至第一 Foreach-Object 個命令,結果會儲存在名為 Left 的變數中。

第一 Foreach-Object 個命令的結果會以管線傳送至第二 Foreach-Object 個命令,以篩選第一個 Foreach-Object 命令所傳回的物件。 第二個命令的結果會儲存在名為 Right 的變數中。

在第三 Foreach-Object 個命令中,前兩 Foreach-Object 個管線命令的結果是由 LeftRight 變數所表示,是使用乘法運算符來處理。 此命令會指示儲存在 LeftRight 變數中的物件相乘,並指定結果應該顯示為 “Left range member * Right range member = product”。

1..10 | Foreach-Object -PipelineVariable Left -Process { $_ } |
  Foreach-Object -PV Right -Process { 1..10 } |
  Foreach-Object -Process { "$Left * $Right = " + ($Left*$Right) }
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 4 = 4
1 * 5 = 5
...

「詳細資訊」

Verbose 的別名為 vb

顯示命令所完成作業的詳細資訊。 這項信息類似於追蹤或事務歷史記錄中的資訊。 只有當命令產生詳細資訊訊息時,此參數才有效。 例如,當命令包含 Write-Verbose Cmdlet 時,此參數可運作。

Verbose 參數會覆寫目前命令的$VerbosePreference變數值。 由於變數的 $VerbosePreference 預設值為 SilentlyContinue,因此預設不會顯示詳細資訊訊息。

-Verbose:$true 與相同效果 -Verbose

-Verbose:$false 隱藏詳細資訊訊息的顯示。 當 的值 $VerbosePreference 不是 SilentlyContinue (預設) 時,請使用此參數。

WarningAction

WarningAction 的別名為 wa

決定 Cmdlet 如何回應命令中的警告。 Continue 是預設值。 只有當命令產生警告訊息時,這個參數才有效。 例如,當命令包含 Write-Warning Cmdlet 時,此參數可運作。

WarningAction 參數會覆寫目前命令的$WarningPreference變數值。 因為變數的 $WarningPreference 預設值是 Continue,所以除非您使用 WarningAction 參數,否則會顯示警告並繼續執行。

-WarningAction:Continue 會顯示警告訊息,並繼續執行 命令。 Continue 是預設值。

-WarningAction:Inquire 會顯示警告訊息,並在繼續執行之前提示您確認。 這個值很少使用。

-WarningAction:SilentlyContinue 會隱藏警告訊息,並繼續執行 命令。

-WarningAction:Stop 會顯示警告訊息,並停止執行命令。

注意

WarningAction 參數會覆寫,但在命令中使用 參數來執行腳本或函式時,不會取代喜好設定變數的值$WarningAction

WarningVariable

WarningVariable 的別名為 wv

將命令的警告儲存在指定的變數中。

所有產生的警告都會儲存在變數中,即使不會向用戶顯示警告也一樣。

若要將警告附加至變數內容,而不是取代可能儲存在該處的任何警告,請在變數名稱之前輸入加號 (+) 。

例如,下列命令會 $a 建立 變數,然後將任何警告儲存在變數中:

Get-Process -Id 6 -WarningVariable a

下列命令會將任何警告新增至 $a 變數:

Get-Process -Id 2 -WarningVariable +a

下列命令會顯示的內容 $a

$a

您可以使用此參數來建立只包含特定命令警告的變數。 您可以使用數位表示法,例如 $a[0]$warning[1,2] 來參考儲存在變數中的特定警告。

注意

WarningVariable 參數不會從函式或腳本中的巢狀呼叫擷取警告。

風險管理參數描述

WhatIf

WhatIf 的別名是wi

顯示描述命令效果的訊息,而不是執行 命令。

WhatIf 參數會覆寫目前命令的$WhatIfPreference變數值。 因為變數的 $WhatIfPreference 預設值為 0 (停用) , 所以 WhatIf 行為不會在沒有 WhatIf 參數的情況下完成。 如需詳細資訊,請輸入下列命令:

Get-Help about_Preference_Variables

-WhatIf:$true 的效果與相同 -WhatIf

-WhatIf:$false 隱藏變數值為 $WhatIfPreference 1 時所產生的自動 WhatIf 行為。

例如,下列命令會在 -WhatIf 命令中使用 Remove-Item 參數:

Remove-Item Date.csv -WhatIf

PowerShell 會列出其會執行的作業,以及受影響的專案,而不是移除專案。 此命令會產生下列輸出:

What if: Performing operation "Remove File" on
Target "C:\ps-test\date.csv".

確認

Confirm 的別名為 cf

在執行命令之前提示您確認。

Confirm 參數會覆寫目前命令的$ConfirmPreference變數值。 預設值為 true。 如需詳細資訊,請輸入下列命令:

Get-Help about_Preference_Variables

-Confirm:$true 的效果與相同 -Confirm

-Confirm:$false 隱藏自動確認,當的值 $ConfirmPreference 小於或等於 Cmdlet 的估計風險時,就會發生此情況。

例如,下列命令會搭配Remove-Item命令使用 Confirm 參數。 拿掉專案之前,PowerShell 會列出其會執行的作業,以及受影響的專案,並要求核准。

PS C:\ps-test> Remove-Item tmp*.txt -Confirm

Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target " C:\ps-test\tmp1.txt
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend
[?] Help (default is "Y"):

[確認回應] 選項如下所示:

回應 結果
是 (Y) 執行動作。
是給所有 (A) 執行所有動作並隱藏後續的 Confirm 查詢
針對此命令。
沒有 (N) : 請勿執行動作。
[全部 (L) : 請勿執行任何動作並隱藏後續的 Confirm
查詢此命令。
暫停 (S) : 暫停命令並建立暫存會話。
說明 (?) 顯示這些選項的說明。

Suspend 選項會將命令置於保留狀態,並建立暫存的巢狀會話,直到您準備好選擇 [確認] 選項為止。 巢狀會話的命令提示字元有兩個額外的插入號 (>>) ,表示它是原始父命令的子作業。 您可以在巢狀會話中執行命令和腳稿。 若要結束巢狀會話,並返回原始命令的 Confirm 選項,請輸入 「exit」。

在下列範例中,當使用者檢查命令參數的說明時,會使用 Suspend 選項 (S) 暫時停止命令。 取得所需的信息之後,使用者輸入“exit” 結束巢狀提示,然後選取 [是] (y) 回應確認查詢。

PS C:\ps-test> New-Item -ItemType File -Name Test.txt -Confirm

Confirm
Are you sure you want to perform this action?

Performing operation "Create File" on Target "Destination:
C:\ps-test\test.txt".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default
is "Y"): s

PS C:\ps-test> Get-Help New-Item -Parameter ItemType

-ItemType <string>
Specifies the provider-specified type of the new item.

Required?                    false
Position?                    named
Default value
Accept pipeline input?       true (ByPropertyName)
Accept wildcard characters?  false

PS C:\ps-test> exit

Confirm
Are you sure you want to perform this action?
Performing operation "Create File" on Target "Destination: C:\ps-test\test
.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (defau
lt is "Y"): y

Directory: C:\ps-test

Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         8/27/2010   2:41 PM          0 test.txt

關鍵 字

about_Common_Parameters

另請參閱

about_Preference_Variables

Write-Debug

Write-Warning

Write-Error

Write-Verbose