Read-Host
Beolvassa a bemenetsort a konzolról.
Syntax
AsString (Alapértelmezett)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Description
A Read-Host parancsmag beolvassa a konzol (stdin) bemeneti sorát. Ezzel kérheti a felhasználótól a bemenetet. Mivel a bemenetet biztonságos sztringként mentheti, ezzel a parancsmaggal kérheti a felhasználóktól a biztonságos adatok, például jelszavak megadását.
Megjegyzés:
Read-Host legfeljebb 1022 karakter hosszúságú lehet, amelyet a felhasználó bemeneteként elfogadhat.
Példák
1. példa: Konzolbemenet mentése változóba
Ez a példa a következő sztringet jeleníti meg: "Adja meg a korát:". Amikor beír egy értéket, és lenyomja az Enter billentyűt, az érték a $Age változóban lesz tárolva.
$Age = Read-Host "Please enter your age"
2. példa: Konzolbemenet mentése biztonságos sztringként
Ez a példa az "Enter a Password:" sztringet jeleníti meg parancssorként. Az érték megadásakor csillag (*) jelenik meg a konzolon a bemenet helyett. Az Enter billentyű lenyomásakor az érték SecureString objektumként lesz tárolva a $pwd_secure_string változóban.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
3. példa: Bemenet maszkolása és megjelenítése egyszerű szöveges sorozatként.
Ez a példa az "Enter a Password:" sztringet jeleníti meg parancssorként. Az érték megadásakor csillag (*) jelenik meg a konzolon a bemenet helyett. Az Enter billentyűt lenyomva az érték egyszerű szöveges sztring objektumként lesz tárolva a $pwd_string változóban.
$pwd_string = Read-Host "Enter a Password" -MaskInput
4. példa: A bemenet normalizálása
Ez a példa arra kéri a felhasználót, hogy adja meg a pontosvesszővel elválasztott városok listáját. A sztring értékét a felhasználó által beírt módon jeleníti meg. A példában a felhasználó szóközöket adott hozzá néhány bejegyzés között. Ez a szkript későbbi részében hibához vezethet, ahol a kód pontos nevet vár.
A példa bemutatja, hogyan alakíthat át egy bemeneti sztringet bejegyzéstömbökké további szóközök nélkül.
$prompt = @(
'List the cities you want weather information for.'
'When specifying multiple cities, separate them with a semi-colon, like:'
"'New York; Osan; Koforidua'"
) -join ' '
$cities = Read-Host $prompt
"Input cities string: `n`t'$cities'"
$splitCities = $cities -split ';'
"Split cities array:"
$splitCities | ForEach-Object -Process { "`t'$_'" }
$normalizedCities = $splitCities | ForEach-Object -Process { $_.Trim() }
"Normalized split cities array:"
$normalizedCities | ForEach-Object -Process { "`t'$_'" }
Input cities string:
' New York; Osan ;Koforidua '
Split cities array:
' New York'
' Osan '
'Koforidua '
Normalized split cities array:
'New York'
'Osan'
'Koforidua'
A példa a -split operátorral konvertálja a bemeneti sztringet sztringtömbökké. A tömb minden sztringje egy másik város nevét tartalmazza. Az osztott sztringek azonban további szóközöket tartalmaznak. A Trim() metódus eltávolítja a kezdő és záró szóközöket az egyes sztringekből.
Paraméterek
-AsSecureString
Azt jelzi, hogy a parancsmag csillagokat (*) jelenít meg a felhasználó által bemenetként beírt karakterek helyett. A paraméter használatakor a Read-Host parancsmag kimenete egy SecureString objektum (System.Security.SecureString).
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
AsSecureString
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-MaskInput
Azt jelzi, hogy a parancsmag csillagokat (*) jelenít meg a felhasználó által bemenetként beírt karakterek helyett. Ha ezt a paramétert használja, a Read-Host parancsmag kimenete egy Sztring objektum.
Így biztonságosan kérheti az egyszerű szövegként visszaadott jelszót a SecureString
Ez a paraméter a PowerShell 7.1-ben lett hozzáadva.
Paramétertulajdonságok
| Típus: | SwitchParameter |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
AsString
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
-Prompt
A parancssor szövegét adja meg. Írjon be egy karakterláncot. Ha a karakterlánc szóközöket tartalmaz, tegye idézőjelek közé. A PowerShell egy kettőspontot (:) fűz a beírt szöveghez.
Paramétertulajdonságok
| Típus: | Object |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
(All)
| Position: | 0 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
String
Ez a parancsmag alapértelmezés szerint egy sztringet ad vissza.
SecureString
Ha AsSecureString paramétert használ, ez a parancsmag egy SecureStringad vissza.
Jegyzetek
Ez a parancsmag csak a gazdafolyamat stdin streaméből olvas be. A stdin stream általában a gazdakonzol billentyűzetéhez csatlakozik.