Kom igång med SecretStore-modulen

Important

PowerShell-teamet har beslutat att Secret-moduler är funktionskompletta och inte längre kommer att utvecklas aktivt. Modulerna kommer fortsatt att stödjas för säkerhet och kritiska buggfixar. Kodarkivet har arkiverats.

De senaste publicerade versionerna är:

Hemligheternas natur har förändrats fundamentalt sedan detta projekt designades. Lösenordslösa autentiseringsmetoder som lösennycklar, single sign-on och federerade autentiseringssystem som Microsoft Entra ID, biometrik och hårdvarusäkerhetsnycklar är framtiden.

Modulerna SecretManagement och SecretStore finns tillgängliga i PowerShell Gallery och kan installeras med PowerShellGet-kommandon.

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

eller

# Install with PSResourceGet 1.x
Install-PSResource Microsoft.PowerShell.SecretManagement
Install-PSResource Microsoft.PowerShell.SecretStore

När du har installerat modulerna kan du ladda modulerna och börja använda eller skapa nya hemligheter.

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

Skapa ett valv och lägg till en hemlighet

Först måste du registrera valvet. Namnparametern är ett vänligt namn och kan vara vilken giltig sträng som helst.

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

DefaultVault-parametern gör detta till standardvalvet.

Nu kan du skapa en hemlighet.

Set-Secret -Name TestSecret -Secret "TestSecretPassword"

Detta exempel skickar en klartextsträng för värdet av hemligheten. Det hemliga värdet kan vara en av fem stödda typer:

  • byte[]
  • String
  • SecureString
  • PSCredential
  • Hashtabell

Första gången du får tillgång till valvet måste du ange ett lösenord till det nya valvet. Detta lösenord används för att låsa och låsa upp valvet.

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

Spring Get-Secret för att hämta hemligheten. Att använda AsPlainText-switchen returnerar hemligheten som en okrypterad sträng.

PS> Get-Secret -Name TestSecret -AsPlainText
TestSecretPassword

För att få listan över alla dina hemligheter kan du köra:

PS> Get-SecretInfo

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

Notes

När du kör Set-Secret med Namn-parametern för att ange namnet på hemligheten, anropar GetSecret() cmdleten som implementeras av vault extension. Set-Secret passerar genom namnet som användaren angett. Valvförlängningen letar upp hemligheten med det namnet. Om den GetSecret() returnerar en matchning, Set-Secret skriver den över hemligheten om du inte använder NoClobber-parametern . Valvtillägget skriver alltid den hemliga information den tar emot.

Det är upp till vault extension-implementeringen att avgöra om man ska använda en mellanlägeskänslig jämförelse på namnet eller inte. Till exempel hemliga namn i Microsoft. PowerShell.SecretStore extension vault är kasuskänsliga. Om namnet du passerar till skiljer sig endast beroende på Set-Secret fall med namnet på en befintlig hemlighet i ett SecretStore-valv, skrivs namnet över med det nya värdet du angav.