Freigeben über


Read-Host

Liest eine Zeile von Eingaben aus der Konsole.

Syntax

Read-Host
    [[-Prompt] <Object>]
    [-MaskInput]
    [<CommonParameters>]
Read-Host
    [[-Prompt] <Object>]
    [-AsSecureString]
    [<CommonParameters>]

Beschreibung

Das cmdlet Read-Host liest eine Eingabezeile aus der Konsole (stdin). Sie können ihn verwenden, um einen Benutzer zur Eingabe aufzufordern. Da Sie die Eingabe als sichere Zeichenfolge speichern können, können Sie mit diesem Cmdlet Benutzer zur Eingabe sicherer Daten auffordern, z. B. Kennwörter.

Anmerkung

Read-Host maximal 1022 Zeichen enthält, kann sie als Eingabe eines Benutzers akzeptieren.

Beispiele

Beispiel 1: Speichern von Konsoleneingaben in einer Variablen

In diesem Beispiel wird die Zeichenfolge "Bitte ihr Alter eingeben:" als Eingabeaufforderung angezeigt. Wenn ein Wert eingegeben wird und die EINGABETASTE gedrückt wird, wird der Wert in der variablen $Age gespeichert.

$Age = Read-Host "Please enter your age"

Beispiel 2: Speichern von Konsoleneingaben als sichere Zeichenfolge

In diesem Beispiel wird die Zeichenfolge "Kennwort eingeben:" als Eingabeaufforderung angezeigt. Wenn ein Wert eingegeben wird, werden Sternchen (*) anstelle der Eingabe auf der Konsole angezeigt. Wenn die EINGABETASTE gedrückt wird, wird der Wert als SecureString-Objekt in der variablen $pwd_secure_string gespeichert.

$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString

Beispiel 3: Maskieren von Eingaben und als Nur-Text-Zeichenfolge

In diesem Beispiel wird die Zeichenfolge "Kennwort eingeben:" als Eingabeaufforderung angezeigt. Wenn ein Wert eingegeben wird, werden Sternchen (*) anstelle der Eingabe auf der Konsole angezeigt. Wenn die EINGABETASTE gedrückt wird, wird der Wert als Nur-Text-String--Objekt in der variablen $pwd_string gespeichert.

$pwd_string = Read-Host "Enter a Password" -MaskInput

Parameter

-AsSecureString

Gibt an, dass das Cmdlet Sternchen (*) anstelle der Zeichen anzeigt, die der Benutzer als Eingabe eingibt. Wenn Sie diesen Parameter verwenden, ist die Ausgabe des cmdlets Read-Host ein SecureString- -Objekt (System.Security.SecureString).

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-MaskInput

Gibt an, dass das Cmdlet Sternchen (*) anstelle der Zeichen anzeigt, die der Benutzer als Eingabe eingibt. Wenn Sie diesen Parameter verwenden, ist die Ausgabe des cmdlets Read-Host ein String-Objekt. Auf diese Weise können Sie sicher ein Kennwort anfordern, das als Nur-Text zurückgegeben wird, anstatt SecureString-.

Dieser Parameter wurde in PowerShell 7.1 hinzugefügt.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Prompt

Gibt den Text der Eingabeaufforderung an. Geben Sie eine Zeichenfolge ein. Wenn die Zeichenfolge Leerzeichen enthält, schließen Sie sie in Anführungszeichen ein. PowerShell fügt einen Doppelpunkt (:) an den von Ihnen eingegebenen Text an.

Typ:Object
Position:0
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

None

Dieses Cmdlet akzeptiert keine Eingaben aus der PowerShell-Pipeline.

Ausgaben

System.String or System.Security.SecureString

Wenn der parameter AsSecureString verwendet wird, gibt Read-Host ein SecureString-zurück. Andernfalls wird eine Zeichenfolge zurückgegeben.

Hinweise

Dieses Cmdlet liest nur aus dem Stdin-Datenstrom des Hostprozesses. Normalerweise ist der Stdin-Datenstrom mit der Tastatur der Hostkonsole verbunden.