Freigeben über


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.