Read-Host
Liest eine Zeile von Eingaben aus der Konsole.
Syntax
AsString (Standard)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
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.
Hinweis
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).
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
AsSecureString
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
AsString
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | Object |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Dieses Cmdlet akzeptiert keine Eingaben von der PowerShell-Pipeline.
Ausgaben
System.String or System.Security.SecureString
Wenn der Parameter AsSecureString verwendet wird, Read-Host wird ein SecureString zurückgegeben. 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.