Share via


Read-Host

Beolvassa a bemenetsort a konzolról.

Syntax

Read-Host
    [[-Prompt] <Object>]
    [-MaskInput]
    [<CommonParameters>]
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.

Feljegyzé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:" sztringet. 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űt lenyomva 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: Maszkolás bemenete és egyszerű szöveges 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űt lenyomva az érték egyszerű szöveges sztringobjektumké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 az operátorral -split konvertálja a bemeneti sztringet sztringek tömbjeként. 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. Ha ezt a paramétert használja, a Read-Host parancsmag kimenete egy SecureString objektum (System.Security.SecureString).

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Sztringobjektum. Így biztonságosan kérheti a SecureString helyett egyszerű szövegként visszaadott jelszót.

Ez a paraméter a PowerShell 7.1-ben lett hozzáadva.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Prompt

A parancssor szövegét adja meg. Írjon be egy sztringet. Ha a sztring szóközöket tartalmaz, tegye idézőjelek közé. A PowerShell egy kettőspontot (:) fűz a beírt szöveghez.

Type:Object
Position:0
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

None

Ehhez a parancsmaghoz nem lehet objektumokat csövezni.

Kimenetek

String

Ez a parancsmag alapértelmezés szerint egy sztringet ad vissza.

SecureString

Az AsSecureString paraméter használatakor ez a parancsmag egy SecureString értéket ad 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.