für unser bisheriges Setup.inf-Paket für Dell Command Update hab ich ein BIOS-Passwort mit der EMC verschlüsselt und dann unter [Encryption] einer Variable „BiosPassword“ zugewiesen, um’s im Post-Install-Bereich für die Konfiguration der Settings nutzen zu können. Wenn ich das Paket nun mit PSADT nachbauen wollte - wie bekäme ich das dort hin, so dass ich die CustomInstallAndReinstallAndSoftMigrationEnd nutzen kann und dort an besagtes codiertes BIOS-Passwort zu kommen? Gibt’s da Mechanismen?
an dieser Stelle würde ich nicht auf Setup.inf sondern auf die Powershell Mechanismen zurückgreifen.
z.B. kannst du über folgende Befehle verschlüsselte Credentials in eine XML Datei schreiben die du dann über dein Paket wieder ausließt, entschlüsselst und verwendest.
Befehle zum erzeugen:
$creds=Get-Credential
$creds|Export-Clixml -Path $PSScriptRoot\creds.clixml
Befehle um die Credentials wieder einzulesen und zu nutzen:
$creds = Import-Clixml -Path $PSScriptRoot\creds.clixml
ich befürchte dass das so ohne weiteres nicht gehen wird - ich bin ja nicht immer im gleichen User- und Maschinenkontext unterwegs; und wenn ich einen Key ablege (um das mit ConvertTo-SecureString abzuhandeln) dann muss der irgendwo liegen und drauf zugegriffen werden. Deswegen hatte das in der Setup.inf ja schon so seinen Charme.
ich spare mir Mal hier ausführlich zu erläutern, warum die „Verschlüsselung“ in der Setup.inf NICHT sicher ist, sondern nur den Paketierer in falscher Sicherheit wiegt.
In PowerShell gibt es die Möglichkeit Strings beispielsweise mit Hilfe eines AES-Schlüssels sicher zu verschlüsseln.
Hier ein Beispiel, in dem ein Passwort AES-verschlüsselt und anschließend in einem Credentials-Objekt gespeichert wird:
Die Datei mit dem AES-Key (hier „aes.key“ aus „Step 1“ oben) könnte man nun beispielsweise auf einem sicheren Server-Share speichern und nur der Gruppe der Domänencomputer (Domain Computers; SID: S-1-5-21-<Domäne>-515) Leserechte auf den entsprechenden Pfad geben.
Dann kann ich das Passwort, welches mit dem „Step 1“ aus dem Beispiel oben verschlüsselt und in der „password.txt“ gespeichert worden ist, im Skriptverlauf entschlüsseln lassen. Hier ein Beispiel für ein Deinstallationspasswort einer Sicherheitssoftware: