ConvertTo-SecureString
Convertit des chaînes standard chiffrées en chaînes sécurisées. Elle peut aussi convertir du texte brut en chaînes sécurisées. Elle est utilisée avec ConvertFrom-SecureString et Read-Host.
Syntaxe
ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters>]
ConvertTo-SecureString [-AsPlainText] [-Force] [-String] <string> [<CommonParameters>]
ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<CommonParameters>]
Description
L'applet de commande ConvertTo-SecureString convertit des chaînes standard chiffrées en chaînes sécurisées. Elle peut aussi convertir du texte brut en chaînes sécurisées. Elle est utilisée avec ConvertFrom-SecureString et Read-Host. La chaîne sécurisée créée par l'applet de commande peut être utilisée avec des applets de commande ou des fonctions qui requièrent un paramètre de type SecureString. La chaîne sécurisée peut être reconvertie en chaîne standard chiffrée à l'aide de l'applet de commande ConvertFrom-SecureString. Cela permet son stockage dans un fichier pour une utilisation ultérieure.
Si la chaîne standard en cours de conversion a été chiffrée avec ConvertFrom-SecureString en utilisant une clé spécifiée, cette clé doit être fournie comme valeur du paramètre Key ou SecureKey de l'applet de commande ConvertTo-SecureString.
Paramètres
-AsPlainText
Spécifie une chaîne de texte brut à convertir en chaîne sécurisée. Les applets de commande SecureString permettent de protéger du texte confidentiel. Le texte est chiffré pour en préserver la confidentialité et est supprimé de la mémoire de l'ordinateur après utilisation. Si vous utilisez ce paramètre pour fournir du texte brut en entrée, le système ne peut pas protéger cette entrée de la même manière. Pour utiliser ce paramètre, vous devez également spécifier le paramètre Force.
Obligatoire ? |
false |
Position ? |
2 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Force
Vérifie que vous comprenez les conséquences de l'utilisation du paramètre AsPlainText et vous invite à confirmer que vous souhaitez toujours l'utiliser.
Obligatoire ? |
false |
Position ? |
3 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Key <Byte[]>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. Les longueurs de clé valides sont 16, 24 et 32 octets.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-SecureKey <SecureString>
Spécifie la clé de chiffrement à utiliser lors de la conversion d'une chaîne sécurisée en chaîne standard chiffrée. La clé doit être fournie sous forme de chaîne sécurisée. La chaîne sécurisée est convertie en tableau d'octets avant d'être utilisée comme clé. Les longueurs de clé valides sont 16, 24 et 32 octets.
Obligatoire ? |
false |
Position ? |
2 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-String <string>
Spécifie la chaîne à convertir en chaîne sécurisée.
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.String Vous pouvez diriger une chaîne standard chiffrée vers ConvertTo-SecureString. |
Sorties |
System.Security.SecureString ConvertTo-SecureString retourne un objet SecureString. |
Exemple 1
C:\PS>$secure = read-host -assecurestring
C:\PS> $secure
System.Security.SecureString
C:\PS> $encrypted = convertfrom-securestring -securestring $secure
C:\PS> $encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41
C:\PS> $secure2 = convertto-securestring -string $encrypted
C:\PS> $secure2
System.Security.SecureString
Description
-----------
Cet exemple montre comment créer une chaîne sécurisée à partir de l'entrée utilisateur, convertir cette chaîne sécurisée en chaîne standard chiffrée, puis reconvertir la chaîne standard chiffrée en chaîne sécurisée.
La première commande utilise le paramètre AsSecureString de l'applet de commande Read-Host pour créer une chaîne sécurisée. Une fois la commande entrée, tous les caractères que vous tapez sont convertis en chaîne sécurisée, puis enregistrés dans la variable $secure.
La deuxième commande affiche le contenu de la variable $secure. Étant donné que la variable $secure contient une chaîne sécurisée, Windows PowerShell affiche uniquement le type System.Security.SecureString.
La troisième commande utilise l'applet de commande ConvertFrom-SecureString pour convertir la chaîne sécurisée stockée dans la variable $secure en chaîne standard chiffrée. Elle enregistre le résultat dans la variable $encrypted. La quatrième commande affiche la chaîne chiffrée dans la valeur de la variable $encrypted.
La cinquième commande utilise l'applet de commande ConvertTo-SecureString pour reconvertir la chaîne standard chiffrée stockée dans la variable $encrypted en chaîne sécurisée. Elle enregistre le résultat dans la variable $secure2. La sixième commande affiche la valeur de la variable $secure2. Le type SecureString indique que la commande a réussi.
Exemple 2
C:\PS>$secure = read-host -assecurestring
C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..16)
C:\PS> $encrypted | set-content encrypted.txt
C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (1..16)
Description
-----------
Cet exemple montre comment créer une chaîne sécurisée à partir d'une chaîne standard chiffrée enregistrée dans un fichier.
La première commande utilise le paramètre AsSecureString de l'applet de commande Read-Host pour créer une chaîne sécurisée. Une fois la commande entrée, tous les caractères que vous tapez sont convertis en chaîne sécurisée, puis enregistrés dans la variable $secure.
La deuxième commande utilise l'applet de commande ConvertFrom-SecureString pour convertir la chaîne sécurisée stockée la variable $secure en chaîne standard chiffrée à l'aide de la clé spécifiée. Le contenu est enregistré dans la variable $encrypted.
La troisième commande utilise un opérateur de pipeline (|) pour envoyer la valeur de la variable $encrypted à l'applet de commande Set-Content, qui enregistre la valeur dans le fichier Encrypted.txt.
La quatrième commande utilise l'applet de commande Get-Content pour obtenir la chaîne standard chiffrée stockée dans le fichier Encrypted.txt. Elle utilise un opérateur de pipeline pour envoyer la chaîne chiffrée à l'applet de commande ConvertTo-SecureString, qui la convertit en une chaîne sécurisée à l'aide de la clé spécifiée. Les résultats sont enregistrés dans la variable $secure2.
Exemple 3
C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -force
Description
-----------
Cette commande convertit la chaîne de texte brut « P@ssW0rD! » en chaîne sécurisée et stocke le résultat dans la variable $secure_string_pwd. Pour utiliser le paramètre AsPlainText, le paramètre Force doit également être inclus dans la commande.