Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Fonctionnalité de mot de passe sécurisé du fournisseur Dell Command PowerShell

Summary: Dell Command | Fonctionnalité de mot de passe sécurisé du fournisseur PowerShell, ConvertTo-SecureString, ConvertFrom-SecureString

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Produits concernés :

  • Dell Command | PowerShell Provider

Cause

Sans objet

Resolution

Le concept qui sous-tend les mots de passe sécurisés est que dans les scripts de production, nous ne devons pas passer des mots de passe importants comme des mots de passe simples. Il s’agit d’un sérieux manque de sécurité. Avec PowerShell, nous pouvons sécuriser un mot de passe ou au moins réduire la visibilité des mots de passe. Nous abordons d’abord les aspects généraux de la chaîne sécurisée, puis nous discutons de la façon dont Dell Command PowerShell Provider (DCPP) tire parti de la fonction innate de PowerShell pour sécuriser le mot de passe.

Tenez compte du fait que nous voulons 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 inconnus du mot de passe de l’utilisateur. Nous pouvons faciliter cette exigence avec les commandes ci-dessous:

$user = Read-Host "Enter Username"

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

Vous trouverez ci-dessus une vue d’ensemble de la façon dont nous pouvons augmenter la sécurité lorsque nous devons sécuriser les informations critiques comme un mot de passe. Dans l’exemple ci-dessus, la variable $pass est de type System.Security.SecureString. Nous obtenons une introduction à deux autres applets de commande largement utilisés que PowerShell fournit pour faciliter les champs sécurisés avant d’aborder les aspects de DCPP.

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

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

Dans l’exemple ci-dessus, le texte P@assword1 brut est converti en type System.Security.SecureString. Il s’agit davantage d’informations et peut être ou non largement utilisée.

La cmdlet suivante est une cmdlet ConvertFrom-SecureString plus largement utilisée qui est utilisée pour convertir des 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 chaîne standard chiffrée qui peut être facilement enregistrée dans un fichier, pour surmonter cette limite.

Nous convertissons du texte P@ssword1 brut en chaîne sécurisée, puis nous faisons passer sa sortie pour ConvertFrom-SecureString obtenir une chaîne chiffrée qui peut être enregistrée en toute sécurité et facilement dans un fichier.

Par exemple, sur un ordinateur, si le mot de passe admin a été défini et que nous devons l’enregistrer dans un fichier. Pour ce faire, procédez comme suit:

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

Nous pouvons récupérer ce mot de passe admin dans une variable en tant qu’objet sécurisé comme suit:

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

À présent, réfléchissez à la façon d’utiliser un mot de passe sécurisé pour DCPP. Dans DCPP, si le mot de passe système ou admin est défini sur l’ordinateur de l’utilisateur, pour toutes les set commandes, nous devons transmettre le mot de passe correspondant. Le fait de fournir ce mot de passe en texte brut constitue une faille de sécurité. Nous devons donc passer le mot de passe en tant que System.Security.SecureString. En outre, lorsque nous passons un SecureString mot de passe, nous devons le transmettre avec un -PasswordSecure commutateur et non avec le commutateur normal –Password . Un exemple est illustré ci-dessous, où l’utilisateur tente de définir AdvancedBatteryChargeCfgDisabled et de passer SecureString le mot de passe:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Ici, $pass contient le mot de passe système et admin et est de type System.Security.SecureString. À l’instar de la discussion ci-dessus, nous pouvons lire $pass ce qui suit:

$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

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sep 2023

Version

7

Article Type

Solution