Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Fonctionnalité de mot de passe sécurisé de Dell Command PowerShell Provider

Summary: Dell Command | Fonctionnalité PowerShell Provider (DCPP) Secure Password, ConvertTo-SecureString, ConvertFrom-SecureString

This article applies to   This article does not apply to 

Instructions

Produits concernés :

  • Dell Command | PowerShell Provider

Les mots de passe sécurisés permettent de ne pas transmettre en clair des mots de passe importants dans les scripts de production. Il s’agit d’un grave manque de sécurité. Ainsi, à l’aide de PowerShell, nous pouvons sécuriser un mot de passe ou, au moins, réduire sa visibilité. Nous aborderons d'abord des aspects généraux des chaînes sécurisées, puis nous verrons comment Dell Command PowerShell Provider (DCPP) utilise les fonctionnalités de PowerShell pour sécuriser les mots de passe.

Nous souhaitons lire le nom d’utilisateur et le mot de passe de l’utilisateur sur la console. Nous savons que le nom d’utilisateur ne nécessite généralement aucune sécurité et qu’il peut être visible par tous. Mais pour le mot de passe, nous ne devons pas informer les personnes inconnues du mot de passe de l’utilisateur. Nous pouvons faciliter cette exigence à l’aide des commandes ci-dessous :

$user = Read-Host "Enter Username"

$pass = Read-Host "Enter Password" -AsSecureString

Voici un aperçu de la façon dont nous pouvons renforcer la sécurité lorsque nous devons sécuriser des informations essentielles, comme un mot de passe. Dans l’exemple ci-dessus, la variable $Pass est de type System.Security.SecureString. Découvrons deux autres applets de commande PowerShell largement utilisés pour sécuriser plus facilement les champs avant d’aborder certains aspects de DCPP.

Les deux commandes sont ConvertTo-SecureString et ConvertFrom-SecureString. ConvertTo-SecureString convertit un texte brut en texte System.Security.SecureString. Un exemple est présenté ci-dessous :

"P@ssword1" | ConvertTo-SecureString -AsPlainText -Force

Dans l’exemple ci-dessus, le texte brut P@assword1 est converti au type System.Security.SecureString. Il s’agit plus d’une information qui peut ou non être largement utilisée.

L’applet de commande suivant ConvertFrom-SecureString est plus largement utilisé, car il permet de convertir les chaînes sécurisées en chaînes standard chiffrées. La principale limitation de ConvertTo-SecureString est que sa sortie ne peut pas être directement écrite dans un fichier pour une utilisation ultérieure. Nous devons utiliser ConvertFrom-SecureString qui se convertit System.Security.SecureString en une chaîne standard chiffrée, pouvant être aisément enregistrée dans un fichier afin d’éliminer cette limitation.

Nous convertissons du texte brut P@ssword1 pour sécuriser la chaîne, puis nous envoyons sa sortie à ConvertFrom-SecureString pour obtenir une chaîne chiffrée qui peut être enregistrée en toute sécurité et de manière pratique dans un fichier.

Par exemple, supposons sur un ordinateur que le mot de passe administrateur ait été défini et qu’il faille sauvegarder cette information dans un fichier. Pour ce faire, nous pouvons procéder ainsi :

Read-Host "Enter Admin Password" -AsSecureString |
ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"

Nous pouvons récupérer le mot de passe d’administrateur et l’enregistrer dans une variable comme objet sécurisé, par exemple :

$pass = Get-Content "C:\Scripts\AdminPassword.txt" | ConvertTo-SecureString

Maintenant, réfléchissez à la manière d’utiliser un mot de passe sécurisé pour DCPP. Dans DCPP, si le mot de passe de l’ordinateur de l’utilisateur est défini sur Système ou Administrateur, alors pour toutes les commandes set nous devons transmettre le mot de passe approprié. Le fait de transmettre ce mot de passe en texte brut constitue donc une violation de la sécurité. Il nous faut transmettre le mot de passe sous la forme System.Security.SecureString. En outre, lorsque nous transmettons un SecureString mot de passe, nous devons le transmettre à l’aide d’un -PasswordSecure paramètre switch et non à l’aide du –Password paramètre switch habituel. Voici un exemple illustrant le point où l’utilisateur essaie de définir AdvancedBatteryChargeCfg to Disabled et de transmettre SecureString le mot de passe :

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Ici, $pass contient le mot de passe système et administrateur et est de type System.Security.SecureString. Comme dans la discussion ci-dessus, nous pouvons lire $pass comme :

$pass = Read-Host "Enter system/admin password" –AsSecureString

Nous pouvons enregistrer $pass dans un fichier, si nécessaire, en tant que :

$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt

Additional Information

Affected Products

Dell Command | Powershell Provider