Erste Schritte mit dem SecretStore-Modul
Die module SecretManagement und SecretStore sind im PowerShell-Katalog verfügbar und können mit PowerShellGet--Befehlen installiert werden.
# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore
oder
# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore
Nachdem Sie die Module installiert haben, können Sie die Module laden und mit der Verwendung oder dem Erstellen neuer geheimer Schlüssel beginnen.
Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore
Erstellen eines Tresors und Hinzufügen eines geheimen Schlüssels
Zuerst müssen Sie den Tresor registrieren. Der Name Parameter ist ein Anzeigename und kann eine beliebige gültige Zeichenfolge sein.
Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault
Der parameter DefaultVault macht dies zum Standardtresor.
Jetzt können Sie einen geheimen Schlüssel erstellen.
Set-Secret -Name TestSecret -Secret "TestSecretPassword"
In diesem Beispiel wird eine Nur-Text-Zeichenfolge für den Wert des geheimen Schlüssels übergeben. Der geheime Wert kann einen von fünf unterstützten Typen sein:
- Byte[]
- Zeichenfolgen-
- SecureString-
- PSCredential-
- hashtable
Wenn Sie zum ersten Mal auf den Tresor zugreifen, müssen Sie ein Kennwort für den neuen Tresor angeben. Dieses Kennwort wird verwendet, um den Tresor zu sperren und zu entsperren.
Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********
Führen Sie Get-Secret
aus, um den geheimen Schlüssel abzurufen. Die Verwendung der AsPlainText Switch gibt den geheimen Schlüssel als unverschlüsselte Zeichenfolge zurück.
PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword
Um die Liste aller Geheimschlüssel abzurufen, können Sie Folgendes ausführen:
PS> Get-SecretInfo
Name Type VaultName
---- ---- ---------
TestSecret String SecretStore
Notizen
Wenn Sie Set-Secret
mit dem Parameter Name ausführen, um den Namen des geheimen Schlüssels anzugeben, ruft das Cmdlet GetSecret()
auf, das von der Vault-Erweiterung implementiert wird.
Set-Secret
den Vom Benutzer bereitgestellten Namen durchläuft. Die Tresorerweiterung sucht das Geheimnis anhand dieses Namens. Wenn GetSecret()
eine Übereinstimmung zurückgibt, überschreibt Set-Secret
den geheimen Schlüssel, es sei denn, Sie verwenden den NoClobber Parameter. Die Tresorerweiterung schreibt immer die geheimen Informationen, die sie empfängt.
Es liegt an der Vault-Erweiterungsimplementierung, um zu entscheiden, ob ein Vergleich zwischen Groß- und Kleinschreibung für den Namen verwendet werden soll. Bei geheimen Namen im Microsoft.PowerShell.SecretStore Erweiterungstresor wird die Groß-/Kleinschreibung nicht beachtet. Wenn sich der Name, den Sie an Set-Secret
übergeben, nur nach Groß-/Kleinschreibung mit dem Namen eines vorhandenen geheimen Schlüssels in einem SecretStore-Tresor unterscheidet, wird der Name mit dem von Ihnen angegebenen neuen Wert überschrieben.