Bestätigungsaufforderung in PowerShell

Rohan Timalsina 15 Februar 2024
  1. Verwenden Sie den Schalter -Confirm für die Bestätigungsaufforderung in PowerShell
  2. Verwenden Sie die if-Anweisung für die Bestätigungsaufforderung in PowerShell
  3. Verwenden Sie die Methode PromptForChoice() für die Bestätigungsaufforderung in PowerShell
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.

Bestätigen Sie die Wechselaufforderung in der Powershell

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.

PromptForChoice-Bestätigungsaufforderung in Powershell

Wir hoffen, dass dieses Tutorial Ihnen hilft zu verstehen, wie Sie Benutzer in PowerShell zu einer Ja/Nein-Bestätigung auffordern.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website