Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Funktionen Secure Password i Dell Command PowerShell Provider

Résumé: Dell Command | (Kommando) Funktionen Secure Password för PowerShell Provider, ConvertTo-SecureString, ConvertFrom-SecureString

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

Berörda produkter:

  • Dell Command | PowerShell Provider

Cause

Gäller ej

Résolution

Konceptet bakom säkra lösenord är att vi i produktionsskript inte ska skicka viktiga lösenord som vanligt. Det här är en allvarlig brist på säkerhet. Med PowerShell kan vi skydda ett lösenord eller åtminstone minska lösenordssynlighet. Vi tar först upp allmänna aspekter av en säker sträng och diskuterar sedan hur Dell Command PowerShell Provider (DCPP) använder Innate-funktionen i PowerShell för att skydda lösenord.

Tänk på att vi vill läsa användarnamn och lösenord från användaren på konsolen. Vi är medvetna om att användarnamnet i allmänhet inte kräver någon säkerhet och det kan vara synligt för alla. Men för lösenord ska vi inte meddela användarens lösenord. Vi kan underlätta detta krav med kommandona enligt nedan:

$user = Read-Host "Enter Username"

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

Ovanstående är en översikt över hur vi kan lägga till mer säkerhet när vi måste skydda viktig information, till exempel ett lösenord. I exemplet ovan är variabeln $pass av typ System.Security.SecureString. Vi får en introduktion till två andra cmdlets som används ofta i PowerShell för att underlätta säkra fält innan vi vidrör aspekter av DCPP.

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

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

I exemplet ovan konverteras oformaterad text P@assword1 till att skriva System.Security.SecureString. Det här är mer av en information och kanske inte används i stor utsträckning.

Nästa cmdlet ConvertFrom-SecureString är en mer vanlig cmdlet som används för att konvertera säkra strängar till krypterade standardsträngar. Den största begränsningen ConvertTo-SecureString är att dess utdata inte kan skrivas direkt i en fil för framtida användning. Vi måste använda ConvertFrom-SecureString dem för att omvandla dem System.Security.SecureString till en krypterad standardsträng som enkelt kan sparas i en fil för att lösa den här begränsningen.

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

Vi kan till exempel säga på en dator om administratörslösenordet har ställts in och vi måste spara det 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 hämta tillbaka 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 överväga hur du använder ett säkert lösenord för DCPP. Om användarens dator har ett system- eller administratörslösenord inställt i DCPP måste vi, för alla set kommandon, skicka respektive lösenord. Det innebär att det här lösenordet är ett oformaterad text som bryter mot säkerheten. Så vi måste skicka lösenordet som System.Security.SecureString. När vi skickar ett SecureString lösenord måste vi även skicka det med en -PasswordSecure switch och inte med den vanliga –Password switchen. Nedan visas ett exempel där användaren försöker ställa in AdvancedBatteryChargeCfgDisabled och skicka SecureString lösenord:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Här $pass innehåller system- och administratörslösenordet och är av typ System.Security.SecureString. Liknande den ovanstående diskussionen kan vi läsa $pass som:

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

Vi kan vid behov spara $pass till en fil som:

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

Informations supplémentaires

Propriétés de l’article


Produit concerné

Dell Command | Powershell Provider

Dernière date de publication

11 sept. 2023

Version

7

Type d’article

Solution