Set-Secret
Ajoute un secret à un coffre inscrit SecretManagement.
Syntaxe
SecureStringParameterSet (Par défaut)
Set-Secret
[-Name] <String>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
-SecureStringSecret <SecureString>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ObjectParameterSet
Set-Secret
[-Name] <String>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
-Secret <Object>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
SecretInfoParameterSet
Set-Secret
[-Vault] <String>
-SecretInfo <SecretInformation>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Important
L’équipe PowerShell a décidé que les modules Secret sont complets en fonctionnalités et ne seront plus activement développés. Les modules continueront d’être pris en charge pour la sécurité et les corrections de bugs critiques. Le dépôt de code a été archivé.
Les dernières versions publiées sont :
La nature des secrets a fondamentalement changé depuis la conception de ce projet. Les méthodes d’authentification sans mot de passe telles que les clés d’accès, la connexion unique, et les systèmes d’accréditation fédérés tels que Microsoft Entra ID, la biométrie et les clés de sécurité matérielles représentent l’avenir.
Cette applet de commande ajoute une valeur secrète par nom à un coffre. Quand aucun nom de coffre n’est spécifié, le secret est ajouté au coffre par défaut. Si un secret portant ce nom existe, il est remplacé. Des données supplémentaires peuvent être incluses dans le secret si elles sont prises en charge par le coffre d’extensions.
Le jeu de paramètres par défaut prend un objet SecureString. Si vous exécutez la commande sans spécifier la valeur secrète, 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 une valeur de texte brut de 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 coffre LocalStore. Étant donné qu’aucune valeur secrète n’a été fournie, l’applet de commande demande une valeur SecureString. La console masque la valeur de chaîne telle 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 coffre LocalStore 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: Can't store secret PublishSecret. Vault LocalStore2 doesn't support secret metadata.
Cet exemple montre comment ajouter un secret nommé PublishSecret au coffre LocalStore2 avec des métadonnées supplémentaires.
Toutefois, le coffre LocalStore2 ne prend pas en charge les métadonnées secrètes et l’opération retourne une erreur.
Paramètres
-Confirm
Vous invite à confirmer avant d’exécuter l’applet de commande.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Metadata
Spécifie une table de hachage contenant des paires clé-valeur à associer au secret dans le coffre. Le coffre d’extensions spécifié peut ne pas prendre en charge les métadonnées secrètes. Si le coffre ne prend pas en charge les métadonnées, l’opération échoue et retourne une erreur. Les valeurs de toutes les métadonnées de la table de hachage doivent être l’un des types suivants :
- chaîne de caractères
- int
- DateHeure
Les métadonnées ne sont pas stockées en toute sécurité dans un coffre. Les métadonnées ne doivent pas contenir d’informations sensibles.
Propriétés du paramètre
| Type: | Hashtable |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SecureStringParameterSet
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ObjectParameterSet
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Name
Spécifie le nom du secret à ajouter ou à mettre à jour. Les caractères génériques (*) ne sont pas autorisés.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SecureStringParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ObjectParameterSet
| Position: | 0 |
| Obligatoire: | True |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-NoClobber
Provoque le retour d’une erreur 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à.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Secret
Spécifie la valeur du secret. L’objet doit être l’un des types pris en charge :
- byte[]
- Chaîne
- SecureString
- PSCredential
- de table de hachage
Propriétés du paramètre
| Type: | Object |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
ObjectParameterSet
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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’extensions vers un autre.
Propriétés du paramètre
| Type: | Microsoft.PowerShell.SecretManagement.SecretInformation |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SecretInfoParameterSet
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SecureStringSecret
Spécifie la valeur du secret en tant qu’objet SecretString.
Propriétés du paramètre
| Type: | SecureString |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SecureStringParameterSet
| Position: | Named |
| Obligatoire: | True |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
SecureStringParameterSet
| Position: | 2 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
ObjectParameterSet
| Position: | 2 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande n’est pas exécutée.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
Hashtable
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() implémentée par l’extension du coffre.
Set-Secret passe par le nom fourni par l’utilisateur. L’extension de coffre recherche le secret par ce nom. Si GetSecret() 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.
Il appartient à l’implémentation de l’extension du coffre de décider s’il faut ou non utiliser une comparaison sensible à la casse sur le nom. Par exemple, les noms de secrets dans Microsoft.PowerShell.SecretStore coffre d’extensions ne respectent pas la casse. Si le nom que vous passez à Set-Secret diffère uniquement par le cas avec le nom d’un secret existant dans un coffre SecretStore, le nom est remplacé par la nouvelle valeur que vous avez fournie.