Aan de slag met de SecretStore-module

De modules SecretManagement en SecretStore zijn beschikbaar via de PowerShell Gallery en kunnen worden geïnstalleerd met behulp van PowerShellGet-opdrachten.

# 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

Zodra u de modules hebt geïnstalleerd, kunt u de modules laden en nieuwe geheimen gaan gebruiken of maken.

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

Een kluis maken en een geheim toevoegen

Eerst moet u de kluis registreren. De parameter Name is een beschrijvende naam en kan elke geldige tekenreeks zijn.

Register-SecretVault -Name SecretStore -ModuleName Microsoft.PowerShell.SecretStore -DefaultVault

Met de parameter DefaultVault wordt dit de standaardkluis.

U kunt nu een geheim maken.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

In dit voorbeeld wordt een tekenreeks zonder opmaak doorgegeven voor de waarde van het geheim. De geheime waarde kan een van de vijf ondersteunde typen zijn:

  • byte[]
  • Tekenreeks
  • SecureString
  • PSCredential
  • Hashtable

De eerste keer dat u de kluis opent, moet u een wachtwoord opgeven voor de nieuwe kluis. Dit wachtwoord wordt gebruikt om de kluis te vergrendelen en te ontgrendelen.

Vault SecretStore requires a password.
Enter password:
********
Enter password again for verification:
********

Voer uit Get-Secret om het geheim op te halen. Met behulp van de asPlainText-schakeloptie wordt het geheim geretourneerd als een niet-versleutelde tekenreeks.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

Als u de lijst met al uw geheimen wilt ophalen, kunt u het volgende uitvoeren:

PS> Get-SecretInfo

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

Notities

Wanneer u uitvoert Set-Secret met de parameter Name om de naam van het geheim op te geven, roept GetSecret() de cmdlet aan die is geïmplementeerd door de kluisextensie. Set-Secret doorgeeft de naam zoals opgegeven door de gebruiker. De kluisextensie zoekt het geheim op met die naam. Als GetGecret() een overeenkomst wordt geretourneerd, Set-Secret wordt het geheim overschreven, tenzij u de parameter NoClobber gebruikt. De kluisextensie schrijft altijd de geheime informatie die wordt ontvangen.

Het is aan de implementatie van de kluisextensie om te bepalen of er een hoofdlettergevoelige vergelijking voor de naam moet worden gebruikt. Geheime namen in de extensiekluis Microsoft.PowerShell.SecretStore zijn bijvoorbeeld niet hoofdlettergevoelig. Als de naam die u doorgeeft Set-Secret alleen per geval verschilt van de naam van een bestaand geheim in een SecretStore-kluis, wordt de naam overschreven met de nieuwe waarde die u hebt opgegeven.