Microsoft Secret Vault Powershell

Microsoft Secret Vault Powershell

Keepass mit der Powershell sicher einsetzen

Wer viel mit Skripten arbeitet und sich grundsätzlich viel anmelden muss, der kommt um eine gescheite Lösung nicht herum.

Im Enterpriseumfeld wird stark auf Password Safe von Mateso gesetzt, weil dieses Tool PCI-zertifiziert ist.

Es geht einfacher und besser mit Keepass, ist einfach mein Favorit.

Da ich sehr viel über die Powershell arbeite, und nicht immer wieder mein komplexes Passwort übergeben möchte, setzte ich in der Powershell ebenfalls Keepass ein.

Installation Keepass 

Zuerst laden wir uns Keepass herunter und installieren es. Erstellen einen Safe (Vault) und speicher diesen z.B. unter C:\Vault ab.

In meinem Fall heißt der Safe einfach JW.kdbx.

Keepass Secret Vault

Erstellen ein Secret namens “JW” bestehend aus unserem Benutzernamen und Passwort im Active Directory.

Keepass Secret

Microsoft Secret Vault Powershell

Danach installieren wir 3 Powershell-Module wir folgt:

Install-Module -Name Microsoft.Powershell.SecretManagement -Repository PSGallery
Install-Module -Name Microsoft.Powershell.SecretStore -Repository PSGallery
Install-Module -Name SecretManagement.Keepass -Repository PSGallery

SecretManagement Secret Store

Diese Module sind notwendig, um mittels der Powershell auf unser Secret zugreifen zu können.

Nachdem die Module erfolgreich installiert wurden, müssen wir nur noch unseren Vault registrieren. Dazu verweisen wir im Vault auf unseren Secret. Natürlich wollen wir beim Zugriff auf unseren Vault ein Passwort eingeben.

Register-SecretVault -Name “jw” -ModuleName ‘SecretManagement.Keepass’ -VaultParameters @{
Path = “C:\Vault\jw.kdbx”
UseMasterPassword = $true

Register-SecretVault Keepass

Als nächstes öffnen wir eine Remotesitzung zu einem entfernen System und übergeben das Passwort sicher an die Powershell. Zuvor müssen wir aber unser Master Password für den Vault einegeben.

Keepass Master Password

Nach der Eingabe des Master Passwords wird auf den registrierten Vault zugegriffen, und das Kennwort des Secrets “JW” ausgelesen und sicher an die Powershell übergeben. Die Remote-Sitzung wurde ordnungsgemäß gestartet.

Powershell Get-Secret Keepass