Read-Host
Liest eine Zeile von Eingabedaten aus der Konsole.
Syntax
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Beschreibung
Das Read-Host
Cmdlet liest eine Eingabezeile aus der Konsole (stdin). Damit kann ein Benutzer zur Eingabe aufgefordert werden. Da Sie die Eingabe als sichere Zeichenfolge speichern können, können Sie dieses Cmdlet verwenden, um Benutzer zur Eingabe sicherer Daten wie Kennwörter aufzufordern.
Hinweis
Read-Host
hat eine Beschränkung von 1022 Zeichen, die als Eingabe von einem Benutzer akzeptiert werden kann.
Beispiele
Beispiel 1: Speichern der Konsoleneingabe in einer Variablen
In diesem Beispiel wird die Zeichenfolge "Bitte geben Sie Ihr Alter ein:" als Aufforderung angezeigt. Wenn ein Wert eingegeben und die EINGABETASTE gedrückt wird, wird der Wert in der $Age
Variablen gespeichert.
$Age = Read-Host "Please enter your age"
Beispiel 2: Speichern der Konsoleneingabe als sichere Zeichenfolge
In diesem Beispiel wird die Zeichenfolge "Kennwort eingeben:" als Eingabeaufforderung angezeigt. Wenn ein Wert eingegeben wird, werden anstelle der Eingabe Sternchen (*
) auf der Konsole angezeigt. Wenn die EINGABETASTE gedrückt wird, wird der Wert als SecureString-Objekt in der $pwd_secure_string
Variablen gespeichert.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
Beispiel 3: Maskieren von Eingaben und als Klartextzeichenfolge
In diesem Beispiel wird die Zeichenfolge "Kennwort eingeben:" als Eingabeaufforderung angezeigt. Wenn ein Wert eingegeben wird, werden anstelle der Eingabe Sternchen (*
) auf der Konsole angezeigt. Wenn die EINGABETASTE gedrückt wird, wird der Wert als Nur-Text-String-Objekt in der $pwd_string
Variablen 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 Read-Host
Cmdlets ein SecureString-Objekt (System.Security.SecureString).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Read-Host
Cmdlets ein String-Objekt .
Dadurch können Sie sicher zur Eingabe eines Kennworts auffordern, das anstelle von SecureString als Klartext zurückgegeben wird.
Dieser Parameter wurde in PowerShell 7.1 hinzugefügt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Prompt
Gibt den Text der Eingabeaufforderung an. Geben Sie eine Zeichenfolge ein. Wenn die Zeichenfolge Leerzeichen enthält, müssen Sie sie in Anführungszeichen einschließen. PowerShell fügt einen Doppelpunkt (:
) an den eingegebenen Text an.
Type: | Object |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Dieses Cmdlet akzeptiert keine Eingaben aus der PowerShell-Pipeline.
Ausgaben
System.String or System.Security.SecureString
Wenn der AsSecureString-Parameter verwendet wird, Read-Host
gibt einen SecureString-Wert zurück. Andernfalls wird eine Zeichenfolge zurückgegeben.
Hinweise
Dieses Cmdlet liest nur aus dem stdin-Stream des Hostprozesses. In der Regel ist der stdin-Stream mit der Tastatur der Hostkonsole verbunden.