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 till ett valv. När inget valvnamn anges läggs hemligheten till i standardvalvet. Om det finns en hemlighet med det namnet skrivs den över. Ytterligare data kan inkluderas i hemligheten om det stöds av tilläggsvalvet.
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 LocalStore
här exemplet läggs en hemlighet med namnet Secret2
till 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]}
I det här exemplet läggs 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.
I det LocalStore2
här exemplet läggs en hemlighet med namnet PublishSecret
till valvet med extra metadata.
Valvet 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.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Metadata
Anger en hashtabell 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 hash-tabellen 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.
Type: | Hashtable |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Anger namnet på hemligheten som ska läggas till eller uppdateras. Jokertecken (*
) tillåts inte.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Gör så 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Secret
Anger hemlighetens värde. Objektet måste vara en av de typer som stöds:
- Byte[]
- Sträng
- SecureString
- PSCredential
- Hashtable
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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.
Type: | SecretInformation |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecureStringSecret
Anger värdet för hemligheten som ett SecretString-objekt .
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Vault
Anger namnet på valvet som hemligheten ska läggas till i eller uppdateras i. Jokertecken (*
) tillåts inte. Som standard läggs hemligheten till eller uppdateras i den aktuella användarens standardvalv.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Utdata
None
Kommentarer
När du kör Set-Secret
med parametern Namn för att ange namnet på hemligheten anropar GetSecret()
cmdleten 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 GetGecret()
returnerar en matchning Set-Secret
skriver du ö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 tillägget Microsoft.PowerShell.SecretStore skiftlägesokänsliga. Om namnet du skickar till Set-Secret
endast skiljer sig från skiftläge med namnet på en befintlig hemlighet i ett SecretStore-valv skrivs namnet över med det nya värdet som du angav.