Freigeben über


about_CommonParameters

Kurze Beschreibung

Beschreibt die Parameter, die mit jedem Cmdlet verwendet werden können.

Lange Beschreibung

Die allgemeinen Parameter sind eine Reihe von Cmdlet-Parametern, die Sie mit jedem cmdlet verwenden können. Sie werden von PowerShell implementiert, nicht vom Cmdlet-Entwickler, und sie sind automatisch für jedes Cmdlet verfügbar.

Sie können die allgemeinen Parameter für jedes Cmdlet verwenden, haben aber möglicherweise keine Auswirkungen auf alle Cmdlets. Wenn ein Cmdlet beispielsweise keine ausführliche Ausgabe generiert, hat die Verwendung des Verbose allgemeinen Parameters keine Auswirkung.

Die allgemeinen Parameter sind auch für erweiterte Funktionen verfügbar, die das CmdletBinding Attribut oder das Parameter Attribut verwenden. Wenn Sie diese Attribute verwenden, fügt PowerShell automatisch die allgemeinen Parameter hinzu. Sie können keine Parameter erstellen, die dieselben Namen wie die allgemeinen Parameter verwenden.

Mehrere gängige Parameter überschreiben Systemstandardwerte oder -einstellungen, die Sie mithilfe der PowerShell-Einstellungsvariablen festlegen. Im Gegensatz zu den Einstellungsvariablen wirken sich die allgemeinen Parameter nur auf die Befehle aus, in denen sie verwendet werden.

Weitere Informationen finden Sie unter about_Preference_Variables.

In der folgenden Liste werden die allgemeinen Parameter angezeigt. Ihre Aliase werden in Klammern aufgeführt.

  • Debug (db)
  • ErrorAction (ea)
  • ErrorVariable (ev)
  • InformationAction (infa)
  • InformationVariable (iv)
  • OutVariable (ov)
  • OutBuffer (ob)
  • PipelineVariable (pv)
  • ProgressAction (Proga)
  • Verbose (vb)
  • WarningAction (wa)
  • WarningVariable (wv)

Die Aktionsparameter sind ActionPreference-Typwerte . ActionPreference ist eine Enumeration mit den folgenden Werten:

Name Wert
Break 6
Suspend 5
Ignore 4
Inquire 3
Continue 2
Stop 1
SilentlyContinue 0

Sie können den Namen oder den Wert mit dem Parameter verwenden.

Neben den allgemeinen Parametern bieten viele Cmdlets Risikominderungsparameter an. Cmdlets, die ein Risiko für das System oder benutzerspezifische Daten beinhalten, bieten in der Regel diese Parameter an.

Die Risikominderungsparameter sind:

  • WhatIf (wi)
  • Confirm (cf)

Allgemeine Parameterbeschreibungen

-Debug

Zeigt Details auf Programmiererebene zum Vorgang an, der vom Befehl ausgeführt wird. Dieser Parameter funktioniert nur, wenn der Befehl eine Debugmeldung generiert. Dieser Parameter funktioniert beispielsweise, wenn ein Befehl das Write-Debug Cmdlet enthält.

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

Das Debuggen von Nachrichten wird standardmäßig nicht angezeigt, da der Wert der $DebugPreference Variablen "SilentlyContinue" lautet.

Der Debug Parameter setzt den Wert der $DebugPreference Variablen für den aktuellen Befehl außer Kraft und legt den Wert auf $DebugPreference"Weiter" fest.

-Debug:$true hat dieselbe Wirkung wie -Debug. Wird verwendet -Debug:$false , um die Anzeige von Debugmeldungen zu unterdrücken, wenn $DebugPreference dies nicht "SilentlyContinue" ist, was die Standardeinstellung ist.

-ErrorAction

Bestimmt, wie das Cmdlet auf einen nicht beendeten Fehler des Befehls reagiert. Dieser Parameter funktioniert nur, wenn der Befehl einen nicht beendeten Fehler generiert, z. B. solche aus dem Write-Error Cmdlet.

Type: ActionPreference
Aliases: ea
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Der ErrorAction-Parameter überschreibt den Wert der $ErrorActionPreference Variablen für den aktuellen Befehl. Da der Standardwert der $ErrorActionPreference Variablen "Weiter" lautet, werden Fehlermeldungen angezeigt, und die Ausführung wird fortgesetzt, es sei denn, Sie verwenden den ErrorAction-Parameter.

Der ErrorAction-Parameter hat keine Auswirkungen auf das Beenden von Fehlern (z. B. fehlende Daten, ungültige Parameter oder unzureichende Berechtigungen), die verhindern, dass ein Befehl erfolgreich abgeschlossen wird.

  • Break Gibt den Debugger ein, wenn ein Fehler auftritt oder eine Ausnahme ausgelöst wird.
  • Continue zeigt die Fehlermeldung an und führt den Befehl weiterhin aus. Continue ist die Standardoption.
  • Ignore unterdrückt die Fehlermeldung und führt den Befehl weiterhin aus. Im Gegensatz zu SilentlyContinue fügt Ignore die Fehlermeldung nicht zur $Error automatischen Variablen hinzu. Der Wert "Ignorieren" wird in PowerShell 3.0 eingeführt.
  • Inquire zeigt die Fehlermeldung an und fordert Sie zur Bestätigung auf, bevor Sie die Ausführung fortsetzen. Dieser Wert wird selten verwendet.
  • SilentlyContinue unterdrückt die Fehlermeldung und führt den Befehl weiterhin aus.
  • Stop zeigt die Fehlermeldung an und beendet die Ausführung des Befehls.
  • Suspend ist nur für Workflows verfügbar, die in PowerShell 6 und darüber hinaus nicht unterstützt werden.

Hinweis

Der ErrorAction-Parameter setzt außer Kraft, ersetzt jedoch nicht den Wert der $ErrorActionPreference Variablen, wenn der Parameter in einem Befehl zum Ausführen eines Skripts oder einer Funktion verwendet wird.

-ErrorVariable

Fehlerdatensätze werden automatisch in der $Error automatischen Variablen gespeichert. Weitere Informationen finden Sie unter about_Automatic_Variables.

Wenn Sie den Parameter ErrorVariable für einen Befehl verwenden, speichert PowerShell auch die Fehlereinträge, die vom Befehl in der variablen ausgegeben werden, die durch den Parameter angegeben wird.

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

Standardmäßig überschreiben neue Fehlermeldungen Fehlermeldungen, die bereits in der Variablen gespeichert sind. Um die Fehlermeldung an den Variableninhalt anzufügen, setzen Sie ein Pluszeichen (+) vor dem Variablennamen.

Der folgende Befehl erstellt z. B. die $a Variable und speichert dann alle Darin enthaltenen Fehler:

Get-Process -Id 6 -ErrorVariable a

Mit dem folgenden Befehl werden der $a Variablen alle Fehlermeldungen hinzugefügt:

Get-Process -Id 2 -ErrorVariable +a

Der folgende Befehl zeigt den Inhalt von $a:

$a

Mit diesem Parameter können Sie eine Variable erstellen, die nur Fehlermeldungen aus bestimmten Befehlen enthält und sich nicht auf das Verhalten der $Error automatischen Variablen auswirkt. Die $Error automatische Variable enthält Fehlermeldungen aller Befehle in der Sitzung. Sie können arraynotation verwenden, z $a[0]$error[1,2] . B. um auf bestimmte Fehler zu verweisen, die in den Variablen gespeichert sind.

Hinweis

Die benutzerdefinierte Fehlervariable enthält alle vom Befehl generierten Fehler, einschließlich Fehler von Aufrufen von geschachtelten Funktionen oder Skripts.

-InformationAction

In PowerShell 5.0 eingeführt. Innerhalb des Befehls oder Skripts, in dem er verwendet wird, überschreibt der allgemeine InformationAction-Parameter den Wert der $InformationPreference Einstellungsvariable, die standardmäßig auf SilentlyContinue festgelegt ist. Wenn Sie in einem Skript mit InformationAction verwendenWrite-Information, Write-Information werden Werte abhängig vom Wert des InformationAction-Parameters angezeigt. Weitere Informationen $InformationPreferencefinden Sie unter about_Preference_Variables.

Type: ActionPreference
Aliases: infa
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False
  • Break Gibt den Debugger an einem Vorkommen des Write-Information Befehls ein.
  • Stop beendet einen Befehl oder ein Skript an einem Vorkommen des Write-Information Befehls.
  • Ignore unterdrückt die Informationsmeldung und setzt die Ausführung des Befehls fort. Im Gegensatz zu "SilentlyContinue" wird die Informationsmeldung vollständig vergessen. Die Informationsmeldung wird dem Informationsstream nicht hinzugefügt.
  • Inquire zeigt die Informationsmeldung an, die Sie in einem Write-Information Befehl angeben, und fragt dann, ob Sie den Vorgang fortsetzen möchten.
  • Continue zeigt die Informationsmeldung an und wird fortgesetzt.
  • Suspend wird in PowerShell 6 und höher nicht unterstützt, da sie nur für Workflows verfügbar ist.
  • SilentlyContinue keine Auswirkung, da die Informationsmeldung nicht angezeigt wird (Standard), und das Skript wird ohne Unterbrechung fortgesetzt.

Hinweis

Der InformationAction-Parameter setzt außer Kraft, ersetzt jedoch nicht den Wert der $InformationAction Einstellungsvariable, wenn der Parameter in einem Befehl zum Ausführen eines Skripts oder einer Funktion verwendet wird.

-InformationVariable

In PowerShell 5.0 eingeführt. Wenn Sie den allgemeinen Parameter InformationVariable verwenden, werden Informationsdatensätze in der variablen gespeichert, die durch den Parameter angegeben wird. Und das PowerShell-Cmdlet kann Informationseinträge in den Informationsstream schreiben. Sie können das Write-Information Cmdlet auch zum Schreiben von Informationsdatensätzen verwenden.

Informationseinträge werden standardmäßig als Nachrichten in der Konsole angezeigt. Mit dem allgemeinen Parameter InformationAction können Sie die Anzeige des Informationsdatensatzes steuern. Sie können das Verhalten auch mithilfe der Einstellungsvariablen $InformationPreference ändern. Weitere Informationen $InformationPreferencefinden Sie unter about_Preference_Variables.

Hinweis

Die Informationsvariable enthält alle vom Befehl generierten Informationsmeldungen, einschließlich Informationsmeldungen von Aufrufen von geschachtelten Funktionen oder Skripts.

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

Standardmäßig überschreiben neue Informationsdatensatz Werte, die bereits in der Variablen gespeichert sind. Um die Fehlermeldung an den Variableninhalt anzufügen, setzen Sie ein Pluszeichen (+) vor dem Variablennamen.

-OutBuffer

Bestimmt die Anzahl der Objekte, die in einem Puffer gesammelt werden sollen, bevor Objekte über die Pipeline gesendet werden. Wenn Sie diesen Parameter weglassen, werden Objekte gesendet, sobald sie generiert werden.

Type: Int32
Aliases: ob
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Dieser Ressourcenverwaltungsparameter wurde für erweiterte Benutzer entwickelt. Wenn Sie diesen Parameter verwenden, sendet PowerShell Daten an das nächste Cmdlet in Batches von OutBuffer + 1.

Im folgenden Beispiel werden zwischen Prozessblöcken ForEach-Object , die das Write-Host Cmdlet verwenden, angezeigt. Die Anzeige wechselt in Batches von 2 oder 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

Speichert Ausgabeobjekte aus dem Befehl in der angegebenen Variablen zusätzlich zum Senden der Ausgabe entlang der Pipeline.

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

Wenn Sie die Ausgabe der Variablen hinzufügen möchten, geben Sie vor dem Variablennamen ein Pluszeichen (+) ein, anstatt alle dort möglicherweise bereits gespeicherten Ausgaben zu ersetzen.

Mit dem folgenden Befehl wird beispielsweise die $out Variable erstellt und das Prozessobjekt darin gespeichert:

Get-Process PowerShell -OutVariable out

Mit dem $out folgenden Befehl wird der Variablen das Prozessobjekt hinzugefügt:

Get-Process iexplore -OutVariable +out

Der folgende Befehl zeigt den Inhalt der $out Variablen an:

$out

Hinweis

Die vom OutVariable-Parameter erstellte Variable ist ein [System.Collections.ArrayList].

-PipelineVariable

PipelineVariable ermöglicht den Zugriff auf den letzten Wert, der vom Befehl, der diesen Parameter verwendet, in das nächste Pipelinesegment übergeben wird. Jeder Befehl in der Pipeline kann mit dem Namen PipelineVariable auf den Wert zugreifen. Der Wert wird der Variablen zugewiesen, wenn er in das nächste Pipelinesegment übergeben wird. Dadurch ist die Verwendung von PipelineVariable einfacher als eine bestimmte temporäre Variable, die möglicherweise an mehreren Speicherorten zugewiesen werden muss.

Anders als $_ bei Verwendung einer PipelineVariable können alle Pipelinebefehle auf Pipelinewerte zugreifen, die von anderen Befehlen als dem unmittelbar vorherigen Befehl übergeben (und $PSItemgespeichert) werden. Pipelinebefehle können auf den zuletzt weitergeleiteten Wert zugreifen, während das nächste Element verarbeitet wird, das die Pipeline durchgibt. Auf diese Weise kann ein Befehl seine Ausgabe in einen vorherigen Befehl (oder selbst) zurückfeeden .

Hinweis

Erweiterte Funktionen können bis zu drei Skriptblöcke aufweisen: begin, , processund end. Bei Verwendung des PipelineVariable-Parameters mit erweiterten Funktionen werden nur Werte aus dem ersten definierten Skriptblock der Variablen zugewiesen, während die Funktion ausgeführt wird. Weitere Informationen finden Sie unter "Erweiterte Funktionen". PowerShell 7.2 korrigiert dieses Verhalten.

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

Gültige Werte sind Zeichenfolgen, identisch mit variablen Namen.

Achtung

Die PipelineVariable ist auf die Pipeline begrenzt, in der sie aufgerufen wird. Variablen außerhalb der Pipeline, die denselben Namen verwenden, werden gelöscht, bevor die Pipeline ausgeführt wird. Die PipelineVariable geht außerhalb des Gültigkeitsbereichs, wenn die Pipeline beendet wird. Wenn mehrere Befehle in der Pipeline dieselbe PipelineVariable angeben, gibt es nur eine freigegebene Variable. Diese Variable wird mit der letzten weitergeleiteten Ausgabe des Befehls aktualisiert, die die Variable angibt.

Einige Blockieren von Befehlen sammeln alle Pipelineelemente, bevor eine Ausgabe erstellt wird, z. B Sort-Object . oder Select-Object -Last. Jede pipelineVariable , die einem Befehl zugewiesen wurde, bevor ein solcher Blockierungsbefehl immer das endgültige weitergeleitete Element aus dem vorherigen Befehl enthält, wenn er nach dem Blockierungsbefehl in einem Befehl verwendet wird.

Im Folgenden sehen Sie ein Beispiel für die Funktionsweise von PipelineVariable . In diesem Beispiel wird der Parameter PipelineVariable einem Foreach-Object Befehl hinzugefügt, um die Ergebnisse des Befehls in Variablen zu speichern. Ein Zahlenbereich von 1 bis 5 wird in den ersten Foreach-Object Befehl weitergeleitet, deren Ergebnisse in einer Variablen mit dem Namen $tempgespeichert werden.

Die Ergebnisse des ersten Foreach-Object Befehls werden in einen zweiten Foreach-Object Befehl weitergeleitet, der die aktuellen Werte von $temp und $_.

# Create a variable named $temp
$temp=8
Get-Variable temp
# Note that the variable just created isn't available on the
# pipeline when -PipelineVariable creates the same variable name
1..5 | ForEach-Object -PipelineVariable temp -Begin {
    Write-Host "Step1[BEGIN]:`$temp=$temp"
} -Process {
  Write-Host "Step1[PROCESS]:`$temp=$temp - `$_=$_"
  Write-Output $_
} | ForEach-Object {
  Write-Host "`tStep2[PROCESS]:`$temp=$temp - `$_=$_"
}
# The $temp variable is deleted when the pipeline finishes
Get-Variable temp
Name                           Value
----                           -----
temp                           8

Step1[BEGIN]:$temp=
Step1[PROCESS]:$temp= - $_=1
        Step2[PROCESS]:$temp=1 - $_=1
Step1[PROCESS]:$temp=1 - $_=2
        Step2[PROCESS]:$temp=2 - $_=2
Step1[PROCESS]:$temp=2 - $_=3
        Step2[PROCESS]:$temp=3 - $_=3
Step1[PROCESS]:$temp=3 - $_=4
        Step2[PROCESS]:$temp=4 - $_=4
Step1[PROCESS]:$temp=4 - $_=5
        Step2[PROCESS]:$temp=5 - $_=5

Name                           Value
----                           -----
temp

-ProgressAction

Bestimmt, wie PowerShell auf Statusaktualisierungen reagiert, die von einem Skript, Cmdlet oder Anbieter generiert werden, z. B. auf die Statusanzeigen, die vom Cmdlet Write-Progress generiert werden. Das Write-Progress Cmdlet erstellt Statusanzeigen, die den Status eines Befehls anzeigen. Der ProgressAction-Parameter wurde in PowerShell 7.4 hinzugefügt.

Der ProgressAction-Parameter verwendet einen der ActionPreference Enumerationswerte: SilentlyContinue, , Stop, Continue, , Inquire, Ignore, oder SuspendBreak.

Die folgenden Werte sind gültig:

  • Break Gibt den Debugger an einem Vorkommen des Write-Progress Befehls ein.
  • Stop: Zeigt die Statusanzeige nicht an. Stattdessen wird eine Fehlermeldung angezeigt und die Ausführung beendet.
  • Inquire: Zeigt die Statusanzeige nicht an. Fordert zum Fortsetzen der Berechtigung auf. Wenn Sie mit Y oder Aantworten, wird die Statusleiste angezeigt.
  • Continue: (Standard) Zeigt die Statusleiste an und setzt die Ausführung fort.
  • SilentlyContinue: Führt den Befehl aus, zeigt jedoch nicht die Statusleiste an.
Type: ActionPreference
Aliases: proga
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

-Verbose

Zeigt detaillierte Informationen über den Vorgang an, der vom Befehl ausgeführt wird. Diese Informationen ähneln den Informationen in einer Ablaufverfolgung oder in einem Transaktionsprotokoll. Dieser Parameter funktioniert nur, wenn der Befehl eine ausführliche Nachricht generiert. Dieser Parameter funktioniert beispielsweise, wenn ein Befehl das Write-Verbose Cmdlet enthält.

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

Der Verbose Parameter überschreibt den Wert der $VerbosePreference Variablen für den aktuellen Befehl. Da der Standardwert der $VerbosePreference Variablen "SilentlyContinue" lautet, werden ausführliche Nachrichten standardmäßig nicht angezeigt.

  • -Verbose:$true hat dieselbe Wirkung wie -Verbose
  • -Verbose:$false unterdrückt die Anzeige ausführlicher Nachrichten. Verwenden Sie diesen Parameter, wenn der Wert von $VerbosePreference "SilentlyContinue" (Standardeinstellung) nicht lautet.

-WarningAction

Bestimmt, wie das Cmdlet auf eine Warnung des Befehls reagiert. "Continue" ist der Standardwert. Dieser Parameter funktioniert nur, wenn der Befehl eine Warnmeldung generiert. Dieser Parameter funktioniert beispielsweise, wenn ein Befehl das Write-Warning Cmdlet enthält.

Type: ActionPreference
Aliases: wa
Accepted values: Break, Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Der WarningAction-Parameter überschreibt den Wert der $WarningPreference Variablen für den aktuellen Befehl. Da der Standardwert der $WarningPreference Variablen "Weiter" lautet, werden Warnungen angezeigt, und die Ausführung wird fortgesetzt, es sei denn, Sie verwenden den WarningAction-Parameter.

  • Break gibt den Debugger ein, wenn eine Warnung auftritt.
  • Continue zeigt die Warnmeldungen an und führt den Befehl weiterhin aus. Continue ist die Standardoption.
  • Inquire zeigt die Warnmeldung an und fordert Sie vor dem Fortsetzen der Ausführung zur Bestätigung auf. Dieser Wert wird selten verwendet.
  • SilentlyContinue unterdrückt die Warnmeldung und führt den Befehl weiter aus.
  • Stop zeigt die Warnmeldung an und beendet die Ausführung des Befehls.

Hinweis

Der WarningAction-Parameter setzt außer Kraft, ersetzt jedoch nicht den Wert der $WarningAction Einstellungsvariable, wenn der Parameter in einem Befehl zum Ausführen eines Skripts oder einer Funktion verwendet wird.

-WarningVariable

Speichert Warndatensätze zum Befehl in der angegebenen Variablen.

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

Alle generierten Warnungen werden in der Variablen gespeichert, auch wenn die Warnungen nicht für den Benutzer angezeigt werden.

Wenn Sie die Warnungen an den Variableninhalt anfügen möchten, geben Sie vor dem Variablennamen ein Pluszeichen (+) ein, anstatt alle Warnungen zu ersetzen, die dort möglicherweise bereits gespeichert sind.

Der folgende Befehl erstellt z. B. die $a Variable und speichert dann alle darin enthaltenen Warnungen:

Get-Process -Id 6 -WarningVariable a

Mit dem folgenden Befehl werden der $a Variablen alle Warnungen hinzugefügt:

Get-Process -Id 2 -WarningVariable +a

Der folgende Befehl zeigt den Inhalt von $a:

$a

Mit diesem Parameter können Sie eine Variable erstellen, die nur Warnungen aus bestimmten Befehlen enthält. Sie können arraynotation verwenden, z $a[0]$warning[1,2] . B. oder um auf bestimmte Warnungen zu verweisen, die in der Variablen gespeichert sind.

Hinweis

Die Warnungsvariable enthält alle Warnungen, die vom Befehl generiert werden, einschließlich Warnungen von Aufrufen von geschachtelten Funktionen oder Skripts.

Beschreibungen des Risikomanagementparameters

-WhatIf

Zeigt eine Meldung an, die den Effekt des Befehls beschreibt, anstatt den Befehl auszuführen.

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

Der WhatIf-Parameter überschreibt den Wert der $WhatIfPreference Variablen für den aktuellen Befehl. Da der Standardwert der $WhatIfPreference Variablen 0 (deaktiviert) ist, erfolgt das WhatIf-Verhalten nicht ohne den WhatIf-Parameter. Weitere Informationen finden Sie unter about_Preference_Variables.

  • $true hat dieselbe Wirkung wie -WhatIf.
  • $false unterdrückt das automatische WhatIf-Verhalten, das beim Wert der $WhatIfPreference Variablen 1 ergibt.

Der folgende Befehl verwendet beispielsweise den -WhatIf Parameter in einem Remove-Item Befehl:

Remove-Item Date.csv -WhatIf

Statt das Element zu entfernen, listet PowerShell die Vorgänge auf, die es tun würde, und die Elemente, die betroffen wären. Dieser Befehl erstellt die folgende Ausgabe:

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

-Confirm

Fordert eine Bestätigung an, bevor der Befehl ausgeführt wird.

Type: SwitchParameter
Aliases: cf
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False

Der Confirm Parameter überschreibt den Wert der $ConfirmPreference Variablen für den aktuellen Befehl. Der Standardwert lautet true. Weitere Informationen finden Sie unter about_Preference_Variables.

  • $true hat dieselbe Wirkung wie -Confirm.
  • $false unterdrückt die automatische Bestätigung, die auftritt, wenn der Wert $ConfirmPreference kleiner oder gleich dem geschätzten Risiko des Cmdlets ist.

Der folgende Befehl verwendet beispielsweise den Confirm Parameter mit einem Remove-Item Befehl. Bevor Sie das Element entfernen, listet PowerShell die Vorgänge auf, die dies tun würde, und die Elemente, die betroffen wären, und fordert die Genehmigung an.

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"):

Die Confirm Antwortoptionen sind wie folgt:

Antwort Ergebnis
Yes (Y) Führen Sie die Aktivität aus.
Yes to All (A) Ausführen aller Aktionen und Unterdrücken der nachfolgenden Aktionen Confirm
fragt nach diesem Befehl ab.
No (N): Führen Sie die Aktion nicht aus.
No to All (L): Führen Sie keine Aktionen aus, und unterdrücken Sie nachfolgende Aktionen.
Confirm fragt nach diesem Befehl ab.
Suspend (S): Halten Sie den Befehl an, und erstellen Sie eine temporäre Sitzung.
Help (?) Zeigen Sie Hilfe zu diesen Optionen an.

Mit der Option "Anhalten " wird der Befehl gehalten und eine temporäre geschachtelte Sitzung erstellt, in der Sie arbeiten können, bis Sie bereit sind, eine Confirm Option auszuwählen. Die Eingabeaufforderung für die geschachtelte Sitzung enthält zwei zusätzliche Carets (>>), um anzugeben, dass es sich um einen untergeordneten Vorgang des ursprünglichen übergeordneten Befehls ist. Sie können Befehle und Skripts in der geschachtelten Sitzung ausführen. Um die geschachtelte Sitzung zu beenden und zu den Confirm Optionen für den ursprünglichen Befehl zurückzukehren, geben Sie "exit" ein.

Im folgenden Beispiel wird die Option "Anhalten " (S) verwendet, um einen Befehl vorübergehend anzuhalten, während der Benutzer die Hilfe für einen Befehlsparameter überprüft. Nachdem sie die erforderlichen Informationen abgerufen haben, gibt der Benutzer "exit" ein, um die geschachtelte Eingabeaufforderung zu beenden, und wählt dann die Antwort "Ja(y)" für die Confirm Abfrage aus.

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

Weitere Informationen