Read-Host
Lee una línea de entrada de la consola.
Sintaxis
AsString (valor predeterminado)
Read-Host
[[-Prompt] <Object>]
[-MaskInput]
[<CommonParameters>]
AsSecureString
Read-Host
[[-Prompt] <Object>]
[-AsSecureString]
[<CommonParameters>]
Description
El cmdlet Read-Host lee una línea de entrada desde la consola (stdin). Puede usarlo para solicitar una entrada a un usuario. Dado que puede guardar la entrada como una cadena segura, puede usar este cmdlet para solicitar a los usuarios datos seguros, como contraseñas.
Nota:
Read-Host tiene un límite de 1022 caracteres que puede aceptar como entrada de un usuario.
Ejemplos
Ejemplo 1: Guardar la entrada de la consola en una variable
En este ejemplo se muestra la cadena "Escriba su edad:" como mensaje. Cuando se escribe un valor y se presiona la tecla Entrar, el valor se almacena en la variable $Age.
$Age = Read-Host "Please enter your age"
Ejemplo 2: Guardar la entrada de la consola como una cadena segura
En este ejemplo se muestra la cadena "Escribir una contraseña:" como mensaje. A medida que se especifica un valor, asteriscos (*) aparecen en la consola en lugar de la entrada. Cuando se presiona la tecla Entrar, el valor se almacena como un objeto SecureString en la variable $pwd_secure_string.
$pwd_secure_string = Read-Host "Enter a Password" -AsSecureString
Ejemplo 3: Enmascarar la entrada y como una cadena de texto no cifrado
En este ejemplo se muestra la cadena "Escribir una contraseña:" como mensaje. A medida que se especifica un valor, asteriscos (*) aparecen en la consola en lugar de la entrada. Cuando se presiona la tecla Entrar, el valor se almacena como texto no cifrado objeto String en la variable $pwd_string.
$pwd_string = Read-Host "Enter a Password" -MaskInput
Parámetros
-AsSecureString
Indica que el cmdlet muestra asteriscos (*) en lugar de los caracteres que el usuario escribe como entrada. Cuando se usa este parámetro, la salida del cmdlet Read-Host es un objeto SecureString (System.Security.SecureString).
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
AsSecureString
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-MaskInput
Indica que el cmdlet muestra asteriscos (*) en lugar de los caracteres que el usuario escribe como entrada. Cuando se usa este parámetro, la salida del cmdlet Read-Host es un objeto string .
Esto le permite solicitar de forma segura una contraseña que se devuelve como texto no cifrado en lugar de SecureString.
Este parámetro se agregó en PowerShell 7.1.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
AsString
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Prompt
Especifica el texto del símbolo del sistema. Escriba una cadena. Si la cadena incluye espacios, escríbalo entre comillas. PowerShell anexa dos puntos (:) al texto que escriba.
Propiedades de parámetro
| Tipo: | Object |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
None
Este cmdlet no acepta entradas de la canalización de PowerShell.
Salidas
System.String or System.Security.SecureString
Si se usa el parámetro AsSecureString , Read-Host devuelve un SecureString. De lo contrario, devuelve una cadena.
Notas
Este cmdlet solo lee de la secuencia stdin del proceso de host. Normalmente, la secuencia stdin está conectada al teclado de la consola host.