Set-Secret
Ajoute un secret à un coffre inscrit à SecretManagement.
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
Cette applet de commande ajoute une valeur de secret par nom à un coffre. Lorsqu’aucun nom de coffre n’est spécifié, le secret est ajouté au coffre par défaut. S’il existe un secret portant ce nom, il est remplacé. Des données supplémentaires peuvent être incluses avec le secret si elles sont prises en charge par le coffre d’extension.
L’ensemble de paramètres par défaut prend un objet SecureString . Si vous exécutez la commande sans spécifier la valeur de secret, l’applet de commande vous invite à entrer un SecureString. Le texte de la chaîne n’est pas visible dans la console.
Exemples
Exemple 1
Set-Secret -Name Secret1 -Secret "SecretValue"
Get-Secret -Name Secret1
System.Security.SecureString
Cet exemple montre comment ajouter un secret nommé Secret1
avec la valeur de texte brut .SecretValue
Étant donné qu’aucun nom de coffre n’a été spécifié, le secret est ajouté au coffre par défaut de l’utilisateur actuel. Get-Secret
montre que le secret a été ajouté.
Exemple 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
Cet exemple montre comment ajouter un secret nommé Secret2
au LocalStore
coffre. Étant donné qu’aucune valeur de secret n’a été fournie, l’applet de commande demande une valeur SecureString . La console masque la valeur de chaîne à mesure qu’elle est tapée. Get-Secret
montre que le secret a été ajouté.
Exemple 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]}
Cet exemple montre comment ajouter un secret nommé TargetSecret
au LocalStore
coffre avec des métadonnées indiquant la date d’expiration du secret. Get-SecretInfo
récupère les métadonnées du secret nouvellement créé.
Exemple 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.
Cet exemple montre comment ajouter un secret nommé PublishSecret
au LocalStore2
coffre avec des métadonnées supplémentaires.
Toutefois, le coffre LocalStore2
ne prend pas en charge les métadonnées de secret et l’opération retourne une erreur.
Paramètres
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Metadata
Spécifie une table de hachage contenant des paires clé-valeur à associer au secret dans le coffre. Le coffre d’extension spécifié peut ne pas prendre en charge les métadonnées de secret. Si le coffre ne prend pas en charge les métadonnées, l’opération échoue et retourne une erreur. Les valeurs des métadonnées de la table de hachage doivent être de l’un des types suivants :
- string
- int
- DateTime
Les métadonnées ne sont pas stockées de manière sécurisée dans un coffre. Les métadonnées ne doivent pas contenir d’informations sensibles.
Type: | Hashtable |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Spécifie le nom du secret à ajouter ou à mettre à jour. Les caractères génériques (*
) ne sont pas autorisés.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
Provoque le renvoi d’une erreur par la commande si un secret portant le même nom existe déjà dans le coffre. Par défaut, cette applet de commande met à jour le secret avec la nouvelle valeur s’il existe déjà.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Secret
Spécifie la valeur du secret. L’objet doit être l’un des types pris en charge :
- Byte[]
- Chaîne
- SecureString
- PSCredential
- Hashtable
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecretInfo
Spécifie un objet SecretInformation décrivant un secret stocké retourné par Get-SecretInfo
.
Cela permet de copier des secrets d’un coffre d’extension vers un autre.
Type: | SecretInformation |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecureStringSecret
Spécifie la valeur du secret en tant qu’objet SecretString .
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Vault
Spécifie le nom du coffre dans lequel ajouter ou mettre à jour le secret. Les caractères génériques (*
) ne sont pas autorisés. Par défaut, le secret est ajouté ou mis à jour dans le coffre par défaut de l’utilisateur actuel.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entrées
Sorties
None
Notes
Lorsque vous exécutez Set-Secret
avec le paramètre Name pour spécifier le nom du secret, l’applet de commande appelle GetSecret()
qui est implémentée par l’extension de coffre. Set-Secret
passe par le nom fourni par l’utilisateur. L’extension de coffre recherche le secret sous ce nom. Si GetGecret()
retourne une correspondance, Set-Secret
remplace le secret, sauf si vous utilisez le paramètre NoClobber . L’extension de coffre écrit toujours les informations secrètes qu’elle reçoit.
C’est à l’implémentation de l’extension de coffre de décider d’utiliser ou non une comparaison respectant la casse sur le nom. Par exemple, les noms de secrets dans le coffre d’extension Microsoft.PowerShell.SecretStore ne respectent pas la casse. Si le nom auquel Set-Secret
vous passez diffère uniquement par la casse avec le nom d’un secret existant dans un coffre SecretStore, le nom est remplacé par la nouvelle valeur que vous avez fournie.