Wie man Boolesche Parameter von einer Eingabeaufforderung an ein PowerShell-Skript übergibt

Wie man Boolesche Parameter von einer Eingabeaufforderung an ein PowerShell-Skript übergibt

Ein PowerShell-Skript ist eine strukturierte Folge von Befehlen, die in einer Textdatei mit der Erweiterung .ps1 gespeichert sind. Bei der Ausführung verarbeitet PowerShell diese Befehle nacheinander, sodass Benutzer verschiedene Aufgaben automatisieren können.

Um Skripte vielseitiger und anpassungsfähiger zu gestalten, können Sie Parameter mit der param-Anweisung innerhalb Ihres PowerShell-Codes definieren. Wenn Sie einen Parameter in Ihrem Skript definieren, schaffen Sie einen Einstiegspunkt, um Daten an das Skript zu übergeben, wenn es ausgeführt wird.

Lassen Sie uns dies mit einem einfachen Beispiel veranschaulichen. Betrachten Sie ein PowerShell-Skript mit dem Namen YourScript.ps1, das Benutzereingabewerte entgegennimmt.

param (
    $a, $b
)

if ($a -lt $b) {
    Write-Host "$a is less than $b"
}
else {
    Write-Host "$a is not less than $b"
}

Um dieses Skript auszuführen und Werte vom Eingabeaufforderungsfenster zu übergeben, können Sie den folgenden Befehl verwenden:

powershell.exe -NoProfile -Command .\YourScript.ps1 -a 4 -b 5

Nach der Ausführung erhalten Sie folgende Ausgabe:

4 is less than 5

Dies zeigt, wie man Werte effizient an ein PowerShell-Skript übergibt, wodurch Benutzer in der Lage sind, das Verhalten des Skripts anzupassen.

Nun lassen Sie uns in das Thema der Übergabe von Boolean-Werten an ein PowerShell-Skript von der Eingabeaufforderung eintauchen. Ein Boolean-Wert kann entweder TRUE oder FALSE darstellen, und die Einbindung dieser Werte in Ihre Skripte kann für Entscheidungsfindung und bedingte Ausführung äußerst wertvoll sein.

Verwenden Sie den Boolean-Parameter, um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript zu übergeben

Um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript zu übergeben, müssen Sie zuerst einen Parameter deklarieren, der Boolean-Werte akzeptiert. Sie können den Datentyp [bool] verwenden, um anzugeben, dass der Parameter Boolean-Werte akzeptieren soll.

Zum Beispiel:

param (
    [bool]$MyBooleanParameter
)

Jetzt, da Sie Ihren Parameter eingerichtet haben, können Sie die Variable $MyBooleanParameter in Ihrem Skript verwenden, um Entscheidungen basierend auf dem Boolean-Wert zu treffen.

Zum Beispiel, betrachten Sie das folgende Beispiel:

if ($MyBooleanParameter) {
    Write-Host "The Boolean parameter is true."
}
else {
    Write-Host "The Boolean parameter is false."
}

Jetzt, da Sie den Parameter in Ihrem PowerShell-Skript definiert haben, können Sie Boolean-Werte von der Eingabeaufforderung beim Ausführen des Skripts übergeben.

Um dies zu tun, befolgen Sie diese Schritte:

  • Öffnen Sie die Eingabeaufforderung

Drücken Sie Win+R, geben Sie cmd ein und drücken Sie Enter, um die Eingabeaufforderung zu öffnen.

Verwenden Sie den Befehl cd, um zu dem Verzeichnis zu gelangen, in dem sich Ihr PowerShell-Skript befindet. Zum Beispiel:

	cd C:\Path\To\Your\Script
	```

- ##### Führen Sie das Skript aus

Um Ihr PowerShell-Skript auszuführen und einen Boolean-Wert an den Parameter zu übergeben, verwenden Sie den Befehl `PowerShell.exe`. Geben Sie den Dateinamen des Skripts an und verwenden Sie den Parameter `-MyBooleanParameter`, um den Boolean-Wert zu übergeben.

Zum Beispiel:

```powershell
	PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $true
	```

Im obigen Beispiel übergeben wir den Wert `$true` an den Parameter `-MyBooleanParameter`.

Um einen `false` Boolean-Wert an den Parameter zu übergeben, geben Sie ebenfalls den Dateinamen des Skripts an und verwenden Sie den Parameter `-MyBooleanParameter` mit dem Wert `$false`.

Zum Beispiel:

```powershell
	PowerShell.exe -File "YourScript.ps1" -MyBooleanParameter $false
	```

Im obigen Befehl übergeben wir den Wert `$false` an den Parameter `-MyBooleanParameter`, was bedeutet, dass der Boolean-Parameter innerhalb Ihres Skripts beim Ausführen einen `false`-Wert erhält. Ihr Skript wird dann entsprechend diesem `false`-Wert reagieren.


</div>

<!--undrads4-->

### Verwenden Sie den `switch`-Parameter, um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript zu übergeben

Die `switch`-Parameter in PowerShell sind eine besondere Art von Parametern, die verwendet werden, um Boolean-Optionen anzugeben. Sie werden verwendet, wenn ein Parameter entweder vorhanden (`true`) oder nicht vorhanden (`false`) ist.

Mit anderen Worten, Sie müssen keinen Wert für einen `switch`-Parameter angeben; seine bloße Anwesenheit deutet auf einen `true`-Wert hin, während dessen Abwesenheit auf einen `false`-Wert hindeutet.

Um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript unter Verwendung von `switch`-Parametern zu übergeben, müssen Sie zuerst einen Parameter als `switch` deklarieren, um Boolean-Werte zu akzeptieren. Sie können den Datentyp `[switch]` verwenden, um anzugeben, dass der Parameter ein Switch ist.

Hier ist ein Beispiel dafür, wie man einen `switch`-Parameter definiert:

```powershell
param (
    [switch]$MySwitchParameter
)

Sobald Sie einen switch-Parameter definiert haben, können Sie die Variable $MySwitchParameter in Ihrem Skript verwenden, um ihr Verhalten basierend darauf zu steuern, ob der Switch vorhanden (true) oder nicht vorhanden (false) ist.

Zum Beispiel können Sie eine if-Anweisung verwenden, um den Status des switch-Parameters zu überprüfen:

if ($MySwitchParameter) {
    Write-Host "The switch is present, so the Boolean value is true."
}
else {
    Write-Host "The switch is absent, so the Boolean value is false."
}

Mit dem in Ihrem Skript definierten switch-Parameter können Sie einfach Boolean-Werte von der Eingabeaufforderung übergeben, wenn Sie das Skript ausführen.

Hier sind die Schritte:

  • Öffnen Sie die Eingabeaufforderung

Starten Sie die Eingabeaufforderung, indem Sie Win+R drücken, cmd eingeben und Enter drücken.

Verwenden Sie den Befehl cd, um zu dem Verzeichnis zu gelangen, in dem sich Ihr PowerShell-Skript befindet. Zum Beispiel:

	cd C:\Path\To\Your\Script
	```

- ##### Führen Sie das Skript aus

Um Ihr PowerShell-Skript auszuführen und einen Boolean-Wert über einen `switch`-Parameter zu übergeben, verwenden Sie den Befehl `PowerShell.exe`. Geben Sie den Dateinamen des Skripts an und fügen Sie einfach den `-MySwitchParameter`-Switch hinzu, um ihn zu aktivieren.

Zum Beispiel:

```powershell
	PowerShell.exe -File "YourScript.ps1" -MySwitchParameter
	```

In diesem Beispiel ist der `switch` vorhanden, was einen `true` Boolean-Wert anzeigt.

Um einen `false` Boolean-Wert zu übergeben, führen Sie Ihr Skript einfach aus, ohne den `switch`-Parameter anzugeben. Hier ist ein Beispiel:

```powershell
	PowerShell.exe -File "YourScript.ps1"
	```

Indem Sie den `switch`-Parameter bei der Ausführung des Skripts nicht angeben, übergeben Sie im Wesentlichen einen `false` Boolean-Wert, und Ihr Skript kann auf dieser Abwesenheit angemessen reagieren.


</div>

<!--undrads7-->

Das Übergeben von Boolean-Werten an ein PowerShell-Skript von der Eingabeaufforderung unter Verwendung von `switch`-Parametern ist eine effiziente und unkomplizierte Methode, um das Verhalten des Skripts zu steuern. Die `switch`-Parameter sind ideal für Szenarien, in denen Sie bestimmte Funktionen oder Verhaltensweisen innerhalb Ihres Skripts aktivieren oder deaktivieren möchten, ohne zusätzliche Argumente oder Werte angeben zu müssen.

## Verwenden Sie String-Werte, um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript zu übergeben

Wenn es darum geht, Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript zu übergeben, gibt es einen weiteren Ansatz, String-Werte zu verwenden. Diese Methode bietet größere Flexibilität, da sie es Ihnen ermöglicht, Werte wie `true` oder `false` als Strings zu übergeben und sie im Skript in Boolean-Werte umzuwandeln.

Um Boolean-Werte von der Eingabeaufforderung an ein PowerShell-Skript unter Verwendung von String-Werten zu übergeben, deklarieren Sie einen Parameter, der String-Werte akzeptiert, die Boolean-Zustände darstellen. Sie können den Datentyp `[string]` für diesen Parameter verwenden.

Zum Beispiel:

```powershell

param (
    [string]$MyBooleanString
)

In Ihrem Skript wandeln Sie den String-Wert in einen Boolean-Wert um. PowerShell bietet eine Möglichkeit, diese Umwandlung durchzuführen.

Zum Beispiel:

$MyBoolean = [System.Management.Automation.LanguagePrimitives]::ConvertTo([bool], $MyBooleanString)

Jetzt können Sie die Variable $MyBoolean in Ihrem Skript verwenden, um mit dem Boolean-Wert nach Bedarf zu arbeiten. Zum Beispiel:

if ($MyBoolean) {
    Write-Host "The Boolean value is true."
}
else {
    Write-Host "The Boolean value is false."
}

Mit dem für String-Werte definierten Parameter in Ihrem Skript können Sie Boolean-Werte von der Eingabeaufforderung übergeben, wenn Sie das Skript ausführen. Hier ist, wie:

  • Öffnen Sie die Eingabeaufforderung

Starten Sie die Eingabeaufforderung, indem Sie Win+R drücken, cmd eingeben und Enter drücken.

Verwenden Sie den Befehl cd, um zu dem Verzeichnis zu gelangen, in dem sich Ihr PowerShell-Skript befindet. Zum Beispiel:

	cd C:\Path\To\Your\Script
	```

- ##### Führen Sie das Skript aus

Um Ihr PowerShell-Skript auszuführen und einen String-Wert, der einen Boolean-Zustand darstellt, zu übergeben, verwenden Sie den Befehl `PowerShell.exe`. Geben Sie den Dateinamen des Skripts an und fügen Sie den Parameter `-MyBooleanString` mit einem String-Wert wie `"true"` oder `"false"` hinzu:

```powershell
	PowerShell.exe -File "YourScript.ps1" -MyBooleanString "true"
	```


</div>

<!--undrads9-->

## Fazit

Das Übergeben von Boolean-Werten an ein PowerShell-Skript von der Eingabeaufforderung unter Verwendung von String-Werten ist eine flexible und effektive Methode, insbesondere beim Umgang mit Benutzereingaben oder Konfigurationsdateien, die möglicherweise String-Darstellungen von Boolean-Zuständen enthalten. Durch die Umwandlung dieser String-Werte in Boolean innerhalb des Skripts können Sie nahtlos mit ihnen arbeiten und Skripte erstellen, die anpassungsfähiger und benutzerfreundlicher sind.

Zu verstehen, wie man String-Werte in Boolean umwandelt und sie in seinen PowerShell-Skripten verwendet, ist eine wertvolle Fähigkeit für Skriptentwickler, da sie eine größere Vielseitigkeit und Benutzerfreundlichkeit in einer Vielzahl von Szenarien ermöglicht.
Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
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

Verwandter Artikel - PowerShell Boolean