Bestätigungsaufforderung in PowerShell
-
Verwenden Sie den Schalter
-Confirm
für die Bestätigungsaufforderung in PowerShell -
Verwenden Sie die
if
-Anweisung für die Bestätigungsaufforderung in PowerShell -
Verwenden Sie die Methode
PromptForChoice()
für die Bestätigungsaufforderung in PowerShell
Die allgemeine Idee hinter der Bestätigungsaufforderung ist es, eine Option zum Wechseln zwischen verschiedenen Aktionen zu schaffen. Wenn der Benutzer zum Beispiel Ja
auswählt, sollte das Skript fortgesetzt werden, und wenn der Benutzer Nein
auswählt, sollte das Skript beendet werden.
PowerShell kann den Benutzer automatisch um eine Bestätigung bitten, bevor eine Aktion mit dem Schalter -Confirm
ausgeführt wird.
In diesem Tutorial werden verschiedene Methoden vorgestellt, um Benutzer um Bestätigung für jede Aktion zu bitten, die in PowerShell fortgesetzt werden soll.
Verwenden Sie den Schalter -Confirm
für die Bestätigungsaufforderung in PowerShell
PowerShell verfügt über eine Reihe von Einstellungsvariablen, die sich auf die Betriebsumgebung auswirken und es Ihnen ermöglichen, sein Verhalten anzupassen. $ConfirmPreference
ist eine der Einstellungsvariablen, die bestimmen, ob PowerShell Sie automatisch zur Bestätigung auffordert, bevor ein Cmdlet oder eine Funktion ausgeführt wird.
Es hilft, eine Bestätigung anzufordern, bevor Cmdlets oder Funktionen mit einem niedrigen, mittleren oder hohen Risiko ausgeführt werden. Da die meisten Cmdlets und Funktionen ein mittleres Risiko aufweisen, wird nicht nach einer Bestätigung gefragt, wenn der Wert der Variable auf Hoch
gesetzt ist.
$ConfirmPreference
Ausgang:
High
Sie müssen den Schalter -Bestätigen
des Befehls verwenden, um den Benutzer zur Bestätigung aufzufordern. Es zwingt den Befehl, die Bestätigungsaufforderung in PowerShell anzuzeigen.
Eine einfachere Möglichkeit, den Schalter -Confirm
zu verwenden, wäre die Verwendung im Cmdlet Remove-Item
, das eine Bestätigungsaktion in einem einfacheren Befehl erzeugen kann.
Der folgende Befehl zeigt ein Beispiel für seine Verwendung.
Remove-Item test.txt -Confirm
Ausgang:
Confirm
Are you sure you want to perform this action?
Performing the operation "Remove File" on target "C:\Users\rhntm\test.txt".
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): N
In der GUI von PowerShell sieht es so aus.
Verwenden Sie die if
-Anweisung für die Bestätigungsaufforderung in PowerShell
Sie können auch die if
-Anweisung verwenden und den Benutzern die Bedingungen für die Fortsetzung bereitstellen.
Beispielsweise fordert der folgende Befehl den Benutzer zur Bestätigung auf, ob er fortfahren möchte. Wenn die Antwort gleich y
ist, wird nur der Befehl in den geschweiften Klammern ausgeführt.
$confirmation = Read-Host "Do you want to continue?"
if ($confirmation -eq 'y') {
Write-Host "Welcome to DelftStack."
}
Ausgang:
Do you want to continue?: y
Welcome to DelftStack.
Das Cmdlet Read-Host
wird verwendet, um die Eingabe eines Benutzers zu lesen.
Verwenden Sie die Methode PromptForChoice()
für die Bestätigungsaufforderung in PowerShell
In PowerShell können Sie die Benutzer auch mit der Methode PromptForChoice()
zur Bestätigung auffordern. Es zeigt ein Dialogfeld an, in dem der Benutzer eine Option aus einer Reihe von Optionen auswählen und mit der Aktion gemäß seiner Auswahl fortfahren kann.
Der folgende Befehl ist ein Beispiel, das einen Benutzer zu einer Ja/Nein
-Eingabe auffordert. Wenn der Benutzer Ja
wählt, wird der erste Befehl innerhalb der Klammern {}
ausgeführt.
$title = 'Confirm'
$question = 'Do you want to continue?'
$choices = '&Yes', '&No'
$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
if ($decision -eq 0) {
Write-Host 'Your choice is Yes.'
} else {
Write-Host 'Your choice is No.'
}
Ausgang:
Confirm
Do you want to continue?
[Y] Yes [N] No [?] Help (default is "N"): Yes
Your choice is Yes.
Als Ergebnis wird die Ausgabe Your choice is Yes.
gedruckt wird.
Wenn der Benutzer Nein
auswählt, wird der zweite Befehl innerhalb der Klammern ausgeführt.
Ausgang:
Confirm
Do you want to continue?
[Y] Yes [N] No [?] Help (default is "N"): No
Your choice is No.
Daher: Ihre Wahl ist Nein.
wird gedruckt.
Wenn Sie das obige Skript in der GUI-Version von PowerShell ausführen, können Sie das Bestätigungsdialogfeld anzeigen.
Wir hoffen, dass dieses Tutorial Ihnen hilft zu verstehen, wie Sie Benutzer in PowerShell zu einer Ja/Nein
-Bestätigung auffordern.