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 Ausgabe generiert verbose , 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 |
---|---|
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.
Im interaktiven Modus überschreibt der Debug Parameter den Wert der $DebugPreference
Variablen für den aktuellen Befehl, wobei der Wert von $DebugPreference
"Inquire" festgelegt wird.
Im nicht interaktiven Modus überschreibt der Debug Parameter den Wert der $DebugPreference
Variablen für den aktuellen Befehl 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: 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.
-ErrorAction:Break
Gibt den Debugger ein, wenn ein Fehler auftritt oder eine Ausnahme ausgelöst wird.-ErrorAction:Continue
zeigt die Fehlermeldung an und führt den Befehl weiterhin aus.Continue
ist die Standardoption.-ErrorAction: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.-ErrorAction:Inquire
zeigt die Fehlermeldung an und fordert Sie zur Bestätigung auf, bevor Sie die Ausführung fortsetzen. Dieser Wert wird selten verwendet.-ErrorAction:SilentlyContinue
unterdrückt die Fehlermeldung und führt den Befehl weiterhin aus.-ErrorAction:Stop
zeigt die Fehlermeldung an und beendet die Ausführung des Befehls.-ErrorAction: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 $InformationPreference
finden Sie unter about_Preference_Variables.
Type: ActionPreference
Aliases: infa
Accepted values: Suspend, Ignore, Inquire, Continue, Stop, SilentlyContinue
Required: False
Position: Named
Default value: Depends on preference variable
Accept pipeline input: False
Accept wildcard characters: False
-InformationAction:Break
Gibt den Debugger an einem Vorkommen desWrite-Information
Befehls ein.-InformationAction:Stop
beendet einen Befehl oder ein Skript an einem Vorkommen desWrite-Information
Befehls.-InformationAction: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.-InformationAction:Inquire
zeigt die Informationsmeldung an, die Sie in einemWrite-Information
Befehl angeben, und fragt dann, ob Sie den Vorgang fortsetzen möchten.-InformationAction:Continue
zeigt die Informationsmeldung an und wird fortgesetzt.-InformationAction:Suspend
wird in PowerShell 6 und höher nicht unterstützt, da sie nur für Workflows verfügbar ist.-InformationAction: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 $InformationPreference
finden 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 $PSItem
gespeichert) 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
, , process
und 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 $temp
gespeichert 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
Get-Variable : Cannot find a variable with the name 'temp'.
At line:1 char:1
+ Get-Variable temp
+ ~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (temp:String) [Get-Variable], ItemNotFoundException
+ FullyQualifiedErrorId : VariableNotFound,Microsoft.PowerShell.Commands.GetVariableCommand
-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 Suspend
Break
.
Die folgenden Werte sind gültig:
Break
Gibt den Debugger an einem Vorkommen desWrite-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 mitY
oderA
antworten, 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 verbose 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, verbose werden Nachrichten standardmäßig nicht angezeigt.
-Verbose:$true
hat dieselbe Wirkung wie-Verbose
-Verbose:$false
unterdrückt die Anzeige von verbose 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: 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.
-WarningAction:Break
gibt den Debugger ein, wenn eine Warnung auftritt.-WarningAction:Continue
zeigt die Warnmeldungen an und führt den Befehl weiterhin aus.Continue
ist die Standardoption.-WarningAction:Inquire
zeigt die Warnmeldung an und fordert Sie vor dem Fortsetzen der Ausführung zur Bestätigung auf. Dieser Wert wird selten verwendet.-WarningAction:SilentlyContinue
unterdrückt die Warnmeldung und führt den Befehl weiter aus.-WarningAction: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.
-WhatIf:$true
hat dieselbe Wirkung wie-WhatIf
.-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.
-Confirm:$true
hat dieselbe Wirkung wie-Confirm
.-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