Pour sécuriser un mot de passe afin de l'utiliser dans des scripts Powershell, exécuter les étapes suivantes
Générer la clé avec des données aléatoires
PS > $key = (1..32 | ForEach-Object { Get-Random -Minimum 0 -Maximum 256 }) -as [byte[]]
Sauvegarder la clé dans un fichier caché qui devra être accessible par les scripts concernés
PS > [System.IO.File]::WriteAllBytes(".mykey", $Key)
Bien évidement, cette clé devra rester secrète
PS > Get-Content .mykey
¥l{}ƒ)’´Yrz’¸¯>°'ÈH'y¼ò/Àp↕Ž
Première étape de sécurisation du mot de passe
PS > $monmotdepasse = "ceciestmonmotdepasse" | ConvertTo-SecureString -AsPlainText -Force
PS > $monmotdepasse
System.Security.SecureString
Seconde étape de sécurisation du mot de passe
PS > $monmotdepassesecurise = $monmotdepasse | ConvertFrom-SecureString -Key $key
PS > $monmotdepassesecurise
76492d1116743f0423413b16050a5345MgB8AGMAZABXAHgAOQBWAHoAcgBXADUAcABJAEkAQQBVAGIAMQA1AGsAYgBuAHcAPQA9AHwAMAAxADcANABjADgAMQAwADMAOQBhADIAZQBkAGIAZAA3ADQAYgA2AGQAMQBhADEAZgAxADkAMwBjADEAOQA4ADUANABjADUANgBmAGUAMgA2ADMAMwAxADEAYQAwAGIAYwBkADUAOAAwADMAZAA4AGEAOQBhADcANQA4ADUAMQBiAGIAOQA2ADkANABiADAAMAA4ADgAMgA2AGEANgAyADAAZgBjADkAOQAwAGEAMQAyADcAZQA2AGEAMgBjAGUA
Cette chaine de caractères devra être copiée/collée dans tous les scripts Powershell concernés.