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.

Funkce zabezpečeného hesla v nástroji Dell Command PowerShell Provider

Summary: Dell Command | Funkce zabezpečeného hesla poskytovatele powershellu, 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

Dotčené produkty:

  • Dell Command | PowerShell Provider

Cause

Není k dispozici

Resolution

Koncept zabezpečených hesel spočívá v tom, že ve výrobních skriptech bychom neměli předávat důležitá hesla běžným způsobem. Jde o vážný nedostatek zabezpečení. Pomocí prostředí PowerShell tedy můžeme zabezpečit heslo nebo alespoň snížit viditelnost hesla. Nejprve probereme obecné aspekty zabezpečeného řetězce a potom probereme, jak nástroj Dell Command PowerShell Provider (DCPP) využívá k zabezpečení hesla hlavní funkci prostředí PowerShell.

Zvažte, že chceme od uživatele v konzoli přečíst uživatelské jméno a heslo. Víme, že uživatelské jméno obecně nevyžaduje žádné zabezpečení a může být viditelné pro všechny. V případě hesla bychom však neměli cizím lidem sdělovat heslo uživatele. Tento požadavek můžeme usnadnit pomocí následujících příkazů:

$user = Read-Host "Enter Username"

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

Výše uvedený přehled vysvětluje, jak můžeme zvýšit zabezpečení v případě, že je nutné zabezpečit důležité informace jako heslo. Ve výše uvedeném příkladu je proměnná $pass typu System.Security.SecureString. Před dotykem na aspekty dcpp získáme úvod do dvou dalších široce používaných rutin prostředí PowerShell, které usnadňují zabezpečení polí.

Dva příkazy jsou ConvertTo-SecureString a ConvertFrom-SecureString. ConvertTo-SecureString Převádí na text System.Security.SecureStringv prostém textu. Níže je uveden příklad:

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

Ve výše uvedeném příkladu je běžný text P@assword1 převeden na text System.Security.SecureString. Jedná se o více informací a může, ale nemusí být široce používán.

Další rutina ConvertFrom-SecureString je obecnější rutina, která se používá k převodu zabezpečených řetězců na šifrované standardní řetězce. Hlavním omezením ConvertTo-SecureString je to, že jeho výstup nelze přímo zapsat do souboru pro budoucí použití. K překonání System.Security.SecureString tohoto omezení je nutné použít ConvertFrom-SecureString zašifrovaný standardní řetězec, který lze pohodlně uložit do souboru.

Převádíme prostý text na zabezpečený řetězec P@ssword1 a poté jeho výstupem ConvertFrom-SecureString vytváříme šifrovaný řetězec, který lze bezpečně a pohodlně uložit do souboru.

Například můžeme na počítači uvést, zda bylo nastaveno heslo správce a je nutné jej uložit do souboru. To lze provést pomocí:

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

Toto heslo správce můžeme načíst do proměnné jako zabezpečený objekt jako:

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

Nyní zvažte, jak využít zabezpečené heslo pro nástroj DCPP. Pokud je v počítači uživatele v nástroji DCPP nastaveno systémové heslo nebo heslo správce, je nutné u všech set příkazů předat příslušné heslo. Pokud tedy toto heslo poskytnutím tohoto hesla dojde k narušení bezpečnosti pomocí prostého textu. Proto je nutné heslo předávat jako System.Security.SecureString. Také při předávání SecureString hesla je nutné je -PasswordSecure předat přepínači, nikoli normálnímu –Password přepínači. Níže je uveden příklad, kde se uživatel pokouší nastavit AdvancedBatteryChargeCfgDisabled a předávat SecureString heslo:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Zde $pass obsahuje systémové heslo a heslo správce a je typu System.Security.SecureString. Podobně jako ve výše uvedené diskusi si můžeme přečíst $pass následující:

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

V případě potřeby můžeme uložit $pass soubor jako:

$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