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.
