AES 256 Bit verschluesselte Anmeldeinformation fuer unterwegs

Portable encrypted password

AES verschlüsselte Anmeldeinformation für unterwegs

Wer viel mit Skripten arbeitet und sein Kennwort nicht nur als Secure String ablegen möchte, kann diesen zusätzlich mit einem AES-Key verschlüsseln und bei Nutzung wieder entschlüsseln. Ohne AES.Key ist der Secure String nicht zu gebrauchen.

Als Beispiel mappe ich mir auf meiner lokalen Workstation ein Laufwerk aus meiner Domäne dwp.local.

Portable und sichere Anmeldeinformationen erstellen

# AES 256-Bit Verschlüsselungs Key erzeugen
$KeyFile = “C:\SecureKey\AES.key”
$Key = New-Object Byte[] 32 # 16, 24 for AES-128 or 32 for AES-256
[Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($Key)
$Key | out-file $KeyFile

# Passwort in ein Secure String konvertieren und mit dem Verschlüsselungs-Key verschlüsseln
$PasswordFile = “C:\SecureKey\Password.txt”
$KeyFile = “C:\SecureKey\AES.key”
$Key = Get-Content $KeyFile
$Password = “#Kennwort#” | ConvertTo-SecureString -AsPlainText -Force
$Password | ConvertFrom-SecureString -key $Key | Out-File $PasswordFile

# Anmeldeinformationen (Passwort) einlesen und entschlüsseln und zum Mapping einsetzen
$User = “dwp\JW”
$PasswordFile = “C:\SecureKey\Password.txt”
$KeyFile = “C:\SecureKey\AES.key”
$key = Get-Content $KeyFile
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $PasswordFile | ConvertTo-SecureString -Key $key)

# Ein Laufwerk mappen mit der verschlüsselten Passwortdatei
New-PSDrive -name “S” -PSProvider FileSystem -Root “\\172.18.32.31\c$\Temp” -Persist -Credential $credential

Portable encrypted password

AES verschlüsselte Anmeldeinformation für unterwegs

Verschlüsselte Credential XML Datei für PowerShell erstellen