Přeskočit na hlavní obsah

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

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

Tento článek se vztahuje na Tento článek se nevztahuje na Tento článek není vázán na žádný konkrétní produkt. V tomto článku nejsou uvedeny všechny verze produktu.

Pokyny

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

Další informace

Dotčené produkty

Dell Command | Powershell Provider
Vlastnosti článku
Číslo článku: 000146459
Typ článku: How To
Poslední úprava: 18 čvc 2024
Verze:  8
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.