Set-Secret
Lägger till en hemlighet i ett SecretManagement-registrerat valv.
Syntax
Set-Secret
[-Name] <String>
-SecureStringSecret <SecureString>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Secret
[-Name] <String>
-Secret <Object>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Secret
-SecretInfo <SecretInformation>
[-Vault] <String>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Den här cmdleten lägger till ett hemligt värde efter namn i ett valv. När inget valvnamn har angetts läggs hemligheten till i standardvalvet. Om det finns en hemlighet med det namnet skrivs den över. Ytterligare data kan ingå i hemligheten om de stöds av tilläggets valv.
Standardparameteruppsättningen tar ett SecureString--objekt. Om du kör kommandot utan att ange det hemliga värdet uppmanar cmdleten dig att ange en SecureString-. Texten i strängen visas inte i konsolen.
Exempel
Exempel 1
Set-Secret -Name Secret1 -Secret "SecretValue"
Get-Secret -Name Secret1
System.Security.SecureString
Det här exemplet lägger till en hemlighet med namnet Secret1
med ett oformaterad textvärde på SecretValue
. Eftersom inget valvnamn har angetts läggs hemligheten till i den aktuella användarens standardvalv.
Get-Secret
visar att hemligheten har lagts till.
Exempel 2
PS C:\> Set-Secret -Name Secret2 -Vault LocalStore
cmdlet Set-Secret at command pipeline position 1
Supply values for the following parameters:
SecureStringSecret: ***********
PS C:\> Get-Secret -Name Secret2
System.Security.SecureString
I det här exemplet läggs en hemlighet med namnet Secret2
till LocalStore
valvet. Eftersom inget hemligt värde angavs frågar cmdleten efter ett SecureString- värde. Konsolen döljer strängvärdet när det skrivs.
Get-Secret
visar att hemligheten har lagts till.
Exempel 3
$Metadata = @{ Expiration = ([datetime]::new(2022, 5, 1)) }
Set-Secret -Name TargetSecret -Secret $targetToken -Vault LocalStore -Metadata $Metadata
Get-SecretInfo -Name TargetSecret | Select-Object Name,Metadata
Name Metadata
---- --------
TargetSecret {[Expiration, 5/1/2022 12:00:00 AM]}
Det här exemplet lägger till en hemlighet med namnet TargetSecret
till LocalStore
-valvet med metadata som anger hemlighetens förfallodatum.
Get-SecretInfo
hämtar metadata för den nyligen skapade hemligheten.
Exempel 4
$Metadata = @{ Expiration = ([datetime]::new(2022, 5, 1)) }
Set-Secret -Name PublishSecret -Secret $targetToken -Vault LocalStore2 -Metadata $Metadata
Set-Secret: Cannot store secret PublishSecret. Vault LocalStore2 does not support secret metadata.
Det här exemplet lägger till en hemlighet med namnet PublishSecret
till LocalStore2
-valvet med extra metadata.
Valv LocalStore2
stöder dock inte hemliga metadata och åtgärden returnerar ett fel.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Metadata
Anger en Hashtable- som innehåller nyckel/värde-par som ska associeras med hemligheten i valvet. Det angivna tilläggsvalvet kanske inte stöder hemliga metadata. Om valvet inte stöder metadata misslyckas åtgärden och returnerar ett fel. Värdena för metadata i hashtabellen måste vara någon av följande typer:
- sträng
- int
- DateTime
Metadata lagras inte säkert i ett valv. Metadata får inte innehålla känslig information.
Typ: | Hashtable |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Name
Anger namnet på hemligheten som ska läggas till eller uppdateras. Jokertecken (*
) tillåts inte.
Typ: | String |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-NoClobber
Gör att kommandot returnerar ett fel om det redan finns en hemlighet med samma namn i valvet. Som standard uppdaterar den här cmdleten hemligheten med det nya värdet om den redan finns.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Secret
Anger hemlighetens värde. Objektet måste vara en av de typer som stöds:
- byte[]
- String
- SecureString
- PSCredential
- Hashtable
Typ: | Object |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-SecretInfo
Anger ett SecretInformation- objekt som beskriver en lagrad hemlighet som returneras av Get-SecretInfo
.
På så sätt kan du kopiera hemligheter från ett tilläggsvalv till ett annat.
Typ: | SecretInformation |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-SecureStringSecret
Anger värdet för hemligheten som ett SecretString- objekt.
Typ: | SecureString |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Vault
Anger namnet på valvet som du vill lägga till eller uppdatera hemligheten i. Jokertecken (*
) tillåts inte. Som standard läggs hemligheten till eller uppdateras i den aktuella användarens standardvalv.
Typ: | String |
Position: | 2 |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Utdata
None
Kommentarer
När du kör Set-Secret
med parametern Name för att ange namnet på hemligheten anropar cmdleten GetSecret()
som implementeras av valvtillägget.
Set-Secret
passerar genom namnet som tillhandahålls av användaren. Valvtillägget söker upp hemligheten med det namnet. Om GetSecret()
returnerar en matchning skriver Set-Secret
över hemligheten om du inte använder parametern NoClobber. Valvtillägget skriver alltid den hemliga information som det tar emot.
Det är upp till implementeringen av valvtillägget att avgöra om en skiftlägeskänslig jämförelse av namnet ska användas eller inte. Till exempel är hemliga namn i Microsoft.PowerShell.SecretStore-tilläggsvalv skiftlägeskänsliga. Om namnet du skickar till Set-Secret
endast skiljer sig från fall till fall med namnet på en befintlig hemlighet i ett SecretStore-valv skrivs namnet över med det nya värdet som du angav.