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.

Dell Command PowerShell Provider Secure Password-functie

Summary: Dell Command | PowerShell Provider Secure Password-functie, 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

Betreffende producten:

  • Dell Command | PowerShell Provider

Cause

Niet van toepassing

Resolution

Het concept achter veilige wachtwoorden is dat we in productiescripts belangrijke wachtwoorden niet als normaal moeten doorgeven. Dit is een ernstig gebrek aan beveiliging. Met Behulp van PowerShell kunnen we dus een wachtwoord beveiligen of ten minste de zichtbaarheid van wachtwoorden verminderen. We bespreken eerst algemene aspecten van een beveiligde tekenreeks en bespreken vervolgens hoe Dell Command PowerShell Provider (DCPP) de geïntegreerde functie van PowerShell gebruikt om het wachtwoord te beveiligen.

Houd er rekening mee dat we de gebruikersnaam en het wachtwoord van de gebruiker op de console willen lezen. We zijn ons ervan bewust dat de gebruikersnaam over het algemeen geen beveiliging vereist en dat deze voor iedereen zichtbaar kan zijn. Maar voor het wachtwoord mogen we niet vreemden het wachtwoord van de gebruiker laten weten. We kunnen dit vereiste vergemakkelijken met de onderstaande opdrachten:

$user = Read-Host "Enter Username"

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

Het bovenstaande geeft een overzicht van hoe we meer beveiliging kunnen toevoegen wanneer we kritieke informatie zoals een wachtwoord moeten beveiligen. In het bovenstaande voorbeeld is de variabele $pass van het type System.Security.SecureString. We krijgen een inleiding tot twee andere veelgebruikte cmdlets die PowerShell biedt om veilige velden te vergemakkelijken voordat we aspecten van DCPP aanraken.

De twee opdrachten zijn ConvertTo-SecureString en ConvertFrom-SecureString. ConvertTo-SecureString converteert een tekst zonder opmaak naar type System.Security.SecureString. Hieronder ziet u een voorbeeld:

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

In het bovenstaande voorbeeld wordt de tekst zonder opmaak P@assword1 geconverteerd naar typ System.Security.SecureString. Dit is meer een informatie en kan al dan niet op grote schaal worden gebruikt.

De volgende cmdlet ConvertFrom-SecureString is een meer gebruikte cmdlet die wordt gebruikt om beveiligde tekenreeksen om te zetten in versleutelde standaardstrings. De belangrijkste beperking is ConvertTo-SecureString dat de uitvoer ervan niet rechtstreeks in een bestand kan worden geschreven voor toekomstig gebruik. We moeten deze tekenreeks gebruiken ConvertFrom-SecureString om deze beperking te verhelpen System.Security.SecureString .

We converteren tekst zonder opmaak P@ssword1 naar beveiligde tekenreeks en piping vervolgens de uitvoer ervan om een versleutelde tekenreeks te ConvertFrom-SecureString verkrijgen die veilig en gemakkelijk kan worden opgeslagen in een bestand.

Als voorbeeld kunt u op een computer zeggen of het beheerderswachtwoord is ingesteld en moeten we dit opslaan in een bestand. We kunnen dit doen met behulp van:

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

We kunnen dit beheerderswachtwoord ophalen in een variabele als een beveiligd object als:

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

Nu kunt u overwegen hoe u een beveiligd wachtwoord voor DCPP kunt gebruiken. Als de computer van de gebruiker in DCPP een systeem- of beheerderswachtwoord heeft ingesteld, moeten we voor alle set opdrachten het respectievelijke wachtwoord doorgeven. Het opgeven van dit wachtwoord als tekst zonder opmaak zorgt dus voor een inbreuk op de beveiliging. Dus we moeten het wachtwoord doorgeven als System.Security.SecureString. Ook wanneer we een SecureString wachtwoord doorgeven, moeten we dit doorgeven met een -PasswordSecure switch en niet met de normale –Password switch. Hieronder ziet u een voorbeeld waarin de gebruiker probeert het wachtwoord in te stellen en door te Disabled geven AdvancedBatteryChargeCfgSecureString:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Hier bevat $pass het systeem- en adminwachtwoord en is van type System.Security.SecureString. Vergelijkbaar met de bovenstaande discussie kunnen we lezen $pass als:

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

We kunnen opslaan $pass in een bestand, indien nodig, zoals:

$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