Credenciales seguras en un script de PowerShell

·

Credenciales seguras en un script de PowerShell

Cuando escribimos un script de PowerShell que tiene que conectarse con unas credenciales concretas, no es buena idea dejar el usuario y la contraseña en un fichero que cualquiera pueda leer.

Es mejor guardarlas en un fichero con la contraseña cifrada.

1. Crear el fichero

$Credential = Get-Credential
$Credential | Export-CliXml -Path "C:\temp\Cred.Cred"

La contraseña se cifra con DPAPI de Windows: solo puede descifrarla el mismo usuario y en el mismo equipo donde se creó el fichero.

2. Cargar las credenciales en el script

$Credential = Import-Clixml -Path "C:\temp\Cred.Cred"

Ahora ya podemos usarlas en la conexión.

Si el cmdlet acepta el parámetro -Credential:

Connect-VIServer -Server $Host -Credential $Credential

Si no lo acepta y pide -User y -Password por separado, se pueden extraer así:

Connect-VIServer -Server $Host -User $Credential.UserName -Password $Credential.GetNetworkCredential().Password

Espero que os sea útil.

Traducción hecha con ayuda de IA a partir del artículo original.