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

Funktion för säkert lösenord för Dell Command PowerShell Provider

Summary: Dell Command | PowerShell-providerns (DCPP) funktion för säkert lösenord, ConvertTo-SecureString, ConvertFrom-SecureString

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Berörda produkter:

  • Dell Command | PowerShell Provider

Konceptet bakom säkra lösenord är att vi i produktionsskript inte ska skicka viktiga lösenord som oformaterad vy. Detta är en allvarlig brist på säkerhet. Så med hjälp av PowerShell kan vi säkra ett lösenord eller åtminstone minska lösenordets synlighet. Vi diskuterar först allmänna aspekter av säker sträng och sedan hur Dell Command PowerShell Provider (DCPP) utnyttjar den inneboende funktionen i PowerShell för att skydda lösenord.

Tänk på att vi vill läsa användarnamnet och lösenordet från användaren på konsolen. Vi vet att användarnamnet i allmänhet inte kräver någon säkerhet och att det kan vara synligt för alla. Men för lösenord bör vi inte låta främlingar veta användarens lösenord. Vi kan underlätta detta krav med kommandona nedan:

$user = Read-Host "Enter Username"

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

Ovanstående är en översikt över hur vi kan öka säkerheten när vi måste skydda viktig information som lösenord. I exemplet ovan är variabeln $pass av typen System.Security.SecureString. Vi får en introduktion till två andra ofta använda cmdlets som PowerShell tillhandahåller för att underlätta säkra fält innan vi berör aspekter av DCPP.

De två kommandona är ConvertTo-SecureString och ConvertFrom-SecureString. ConvertTo-SecureString Konverterar en oformaterad text till text System.Security.SecureString. Nedan visas ett exempel:

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

I exemplet ovan är oformaterad text P@assword1 konverteras till typ System.Security.SecureString. Detta är mer av en information och kan eller kanske inte används i stor utsträckning.

Nästa cmdlet ConvertFrom-SecureString är en mer allmänt använd cmdlet som används för att konvertera säkra strängar till krypterade standardsträngar. Den huvudsakliga begränsningen av ConvertTo-SecureString är att dess utdata inte kan skrivas direkt till en fil för framtida användning. Vi måste använda ConvertFrom-SecureString som konverterar System.Security.SecureString till en krypterad standardsträng som enkelt kan sparas i en fil för att övervinna denna begränsning.

Vi konverterar oformaterad text P@ssword1 för att säkra strängen och sedan skicka dess utdata till ConvertFrom-SecureString för att få en krypterad sträng som säkert och bekvämt kan sparas i en fil.

Som ett exempel, låt oss säga på en dator om administratörslösenordet har ställts in och vi måste spara detta i en fil. Vi kan göra detta med hjälp av:

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

Vi kan återställa det här administratörslösenordet till en variabel som ett säkert objekt som:

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

Nu ska du fundera på hur du kan utnyttja ett säkert lösenord för DCPP. Om antingen system- eller administratörslösenord har ställts in på användarens dator i DCPP gäller det för alla set kommandon måste vi skicka respektive lösenord. Så att tillhandahålla detta lösenord som oformaterad text bryter mot säkerheten. Vi måste skicka lösenordet som System.Security.SecureString. Dessutom, när vi passerar en SecureString lösenord måste vi skicka det med en -PasswordSecure switch och inte den normala –Password strömbrytare. Nedan visas ett exempel där användaren försöker ställa in AdvancedBatteryChargeCfg till Disabled och passera SecureString lösenord:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Här innehåller $pass system- och administratörslösenordet och är av typen System.Security.SecureString. I likhet med ovanstående diskussion kan vi läsa $pass som:

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

Vi kan spara $pass till en fil, om det behövs, som:

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

Additional Information

Affected Products

Dell Command | Powershell Provider
Article Properties
Article Number: 000146459
Article Type: How To
Last Modified: 18 Jul 2024
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.