Erste Schritte mit dem SecretStore-Modul

Die Module SecretManagement und SecretStore sind über die PowerShell-Katalog verfügbar und können mithilfe von PowerShellGet-Befehlen installiert werden.

# Install with PowerShellGet 2.x
Install-Module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretStore

# 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 Erstellung neuer Geheimnisse beginnen.

Import-Module Microsoft.PowerShell.SecretManagement
Import-Module Microsoft.PowerShell.SecretStore

Erstellen eines Tresors und Hinzufügen eines Geheimnisses

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 DefaultVault-Parameter macht dies zum Standardtresor.

Jetzt können Sie ein Geheimnis erstellen.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

In diesem Beispiel wird eine Klartextzeichenfolge für den Wert des Geheimnisses übergeben. Der Geheimwert kann einer von fünf unterstützten Typen sein:

  • byte[]
  • String
  • 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 aus Get-Secret , um das Geheimnis abzurufen. Mithilfe des AsPlainText-Schalters wird das Geheimnis als unverschlüsselte Zeichenfolge zurückgegeben.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Um die Liste aller Geheimnisse abzurufen, können Sie Folgendes ausführen:

PS> Get-SecretInfo

Name       Type   VaultName
----       ----   ---------
TestSecret String SecretStore

Hinweise

Wenn Sie mit dem Parameter Name ausführenSet-Secret, um den Namen des Geheimnisses anzugeben, ruft GetSecret() das Cmdlet auf, das von der Tresorerweiterung implementiert wird. Set-Secret durchläuft den vom Benutzer angegebenen Namen. Die Tresorerweiterung sucht das Geheimnis nach diesem Namen. Wenn GetGecret() eine Übereinstimmung zurückgegeben wird, wird das Geheimnis überschrieben, Set-Secret es sei denn, Sie verwenden den NoClobber-Parameter . Die Tresorerweiterung schreibt immer die geheimen Informationen, die sie empfängt.

Die Implementierung der Tresorerweiterung entscheidet, ob ein Vergleich zwischen Groß- und Kleinschreibung für den Namen verwendet werden soll. Bei Geheimnisnamen im Microsoft.PowerShell.SecretStore-Erweiterungstresor wird z. B. die Groß-/Kleinschreibung nicht beachtet. Wenn sich der Von Ihnen übergebene Set-Secret Name nur durch den Namen eines vorhandenen Geheimnisses in einem SecretStore-Tresor unterscheidet, wird der Name mit dem von Ihnen angegebenen neuen Wert überschrieben.