Convierta una cadena segura en texto sin formato en PowerShell

Rohan Timalsina 21 junio 2023
  1. Utilice la clase Marshal para convertir una cadena segura en texto sin formato en PowerShell
  2. Utilice el cmdlet ConvertFrom-SecureString para convertir una cadena segura en texto sin formato en PowerShell
  3. Utilice la clase NetworkCredential para convertir una cadena segura en texto sin formato en PowerShell
Convierta una cadena segura en texto sin formato en PowerShell

El texto de una cadena segura se cifra en la memoria de PowerShell. Utiliza cifrado reversible, por lo que puede volver a convertirlo en cadenas de texto sin formato cuando sea necesario.

El cmdlet ConvertTo-SecureString convierte texto sin formato o cadenas cifradas en cadenas seguras. Este tutorial le enseñará a convertir una cadena segura en texto sin formato en PowerShell.

Utilice la clase Marshal para convertir una cadena segura en texto sin formato en PowerShell

El siguiente comando convierte la cadena de texto sin formato P0w3rsh311 en una cadena segura y la almacena en una variable $securePassword.

$securePassword = ConvertTo-SecureString "P0w3rsh311" -AsPlainText -Force

El siguiente ejemplo utiliza la clase Marshal de .NET Framework para convertir la cadena segura en texto sin formato.

[System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($securePassword))

Producción :

P0w3rsh311

Utilice el cmdlet ConvertFrom-SecureString para convertir una cadena segura en texto sin formato en PowerShell

El cmdlet ConvertFrom-SecureString convierte la cadena segura en una cadena estándar cifrada. A partir de PowerShell 7.0, se agregó un nuevo parámetro -AsPlainText, que convierte una cadena segura en una cadena de texto sin formato.

El siguiente ejemplo requiere PowerShell versión 7.0 o posterior.

ConvertFrom-SecureString -SecureString $securePassword -AsPlainText

Producción :

P0w3rsh311

Utilice la clase NetworkCredential para convertir una cadena segura en texto sin formato en PowerShell

También puede usar la clase NetworkCredential para convertir una cadena segura en texto sin formato en PowerShell.

El siguiente comando le pide al usuario que ingrese la contraseña y la almacene como una cadena segura en una variable $securePassword.

$securePassword = Read-Host "Enter password: " -AsSecureString

Producción :

Enter password: **********

El siguiente ejemplo convierte una cadena segura en una cadena de texto sin formato como salida.

[System.Net.NetworkCredential]::new("", $securePassword).Password

Producción :

P0w3rsh311

Esperamos que este artículo lo haya ayudado a comprender los diferentes métodos para convertir una cadena segura en texto sin formato en PowerShell.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell String