Read-Host
Odczytuje wiersz danych wejściowych z konsoli programu .
Składnia
AsString (domyślnie)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Opis
Polecenie cmdlet Read-Host odczytuje wiersz danych wejściowych z konsoli (stdin). Można go użyć, aby wyświetlić monit o podanie danych wejściowych przez użytkownika. Ponieważ dane wejściowe można zapisać jako bezpieczny ciąg, możesz użyć tego polecenia cmdlet, aby monitować użytkowników o bezpieczne dane, takie jak hasła.
Uwaga / Notatka
Read-Host ma limit 1022 znaków, które może zaakceptować jako dane wejściowe od użytkownika.
Przykłady
Przykład 1. Zapisywanie danych wejściowych konsoli w zmiennej
W tym przykładzie zostanie wyświetlony ciąg "Wprowadź wiek:" jako monit. Po wprowadzeniu wartości i naciśnięciu Enter wartość jest przechowywana w zmiennej $Age.
$Age = Read-Host "Please enter your age"
Przykład 2. Zapisywanie danych wejściowych konsoli jako bezpiecznego ciągu
W tym przykładzie zostanie wyświetlony ciąg "Wprowadź hasło:" jako monit. W miarę wprowadzania wartości gwiazdki (*) są wyświetlane w konsoli zamiast danych wejściowych. Po naciśnięciu Enter wartość jest przechowywana jako obiekt SecureString w zmiennej $pwd_secure_string.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
Przykład 3: Ukryj dane wejściowe i przedstaw je jako ciąg zwykłego tekstu.
W tym przykładzie zostanie wyświetlony ciąg "Wprowadź hasło:" jako monit. W miarę wprowadzania wartości gwiazdki (*) są wyświetlane w konsoli zamiast danych wejściowych. Po naciśnięciu klawisza Enter wartość jest przechowywana jako obiekt typu String w postaci zwykłego tekstu w zmiennej $pwd_string.
$pwd_string = Read-Host "Enter a Password" -MaskInput
Parametry
-AsSecureString
Wskazuje, że polecenie cmdlet wyświetla gwiazdki (*) zamiast znaków, które użytkownik wpisze jako dane wejściowe. W przypadku używania tego parametru dane wyjściowe polecenia cmdlet
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
AsSecureString
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-MaskInput
Wskazuje, że polecenie cmdlet wyświetla gwiazdki (*) zamiast znaków, które użytkownik wpisze jako dane wejściowe. W przypadku użycia tego parametru dane wyjściowe polecenia cmdlet Read-Host to obiekt String .
Dzięki temu można bezpiecznie poprosić o hasło, które jest zwracane jako zwykły tekst zamiast jako SecureString.
Ten parametr został dodany w programie PowerShell 7.1.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
AsString
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Prompt
Określa tekst monitu. Wpisz ciąg znaków. Jeśli ciąg zawiera spacje, należy go ująć w cudzysłów. Program PowerShell dołącza dwukropek (:) do wprowadzonego tekstu.
Właściwości parametru
| Typ: | Object |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
To polecenie cmdlet nie akceptuje danych wejściowych z potoku programu PowerShell.
Dane wyjściowe
System.String or System.Security.SecureString
Jeśli jest używany parametr AsSecureString , Read-Host zwraca wartość SecureString. W przeciwnym razie zwraca ciąg.
Uwagi
Ten cmdlet odczytuje tylko ze strumienia stdin procesu hosta. Zwykle strumień stdin jest połączony z klawiaturą konsoli hosta.