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

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

Summary: Funkce zabezpečeného hesla v nástroji Dell Command | PowerShell Provider (DCPP), 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

Dotčené produkty:

  • Dell Command | PowerShell Provider

Koncept bezpečných hesel spočívá v tom, že bychom v produkčních skriptech neměli předávat důležitá hesla v prostém zobrazení. Jedná se o vážný nedostatek zabezpečení. Pomocí prostředí PowerShell můžeme zabezpečit heslo nebo alespoň snížit jeho viditelnost. Nejprve probereme obecné aspekty zabezpečeného řetězce a poté to, jak nástroj Dell Command PowerShell Provider (DCPP) využívá vnitřní funkci prostředí PowerShell k zabezpečení hesla.

Představte si, že chceme přečíst uživatelské jméno a heslo od uživatele v konzoli. Víme, že uživatelské jméno obecně nevyžaduje žádné zabezpečení a může být viditelné pro všechny. Pokud však jde o uživatelské heslo, neměli bychom jej sdělovat cizím lidem. Splnění tohoto požadavku můžeme usnadnit pomocí níže uvedených příkazů:

$user = Read-Host "Enter Username"

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

Výše je uvedený přehled toho, jak lze zvýšit zabezpečení důležitých informací, jako je heslo. Ve výše uvedeném příkladu je proměnná $pass typu System.Security.SecureString. Než se zmíníme o aspektech DCPP, seznámíme se se dvěma dalšími široce využívanými rutinami, které prostředí PowerShell poskytuje pro usnadnění zabezpečených polí.

Těmito příkazy je ConvertTo-SecureString a ConvertFrom-SecureString. ConvertTo-SecureString převádí prostý text na typ System.Security.SecureString. Níže je uveden příklad:

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

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

Další rutina ConvertFrom-SecureString je široce využívaná a slouží k převodu zabezpečených řetězců na šifrované standardní řetězce. Hlavní omezení ConvertTo-SecureString je, že výstup nelze přímo zapsat do souboru pro budoucí použití. Je třeba použít ConvertFrom-SecureString , což převede System.Security.SecureString do šifrovaného standardního řetězce, který lze pohodlně uložit do souboru, aby toto omezení nebylo překážkou.

Převádíme prostý text P@ssword1 , abychom zajistili řetězec, a poté převádíme jeho výstup na ConvertFrom-SecureString , abychom získali šifrovaný řetězec, který lze bezpečně a pohodlně uložit do souboru.

Jako příklad uveďme, že v počítači bylo nastaveno heslo správce, které je třeba uložit do souboru. Můžeme to udělat pomocí:

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

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

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

Nyní se podívejme, jak využít bezpečné heslo pro nástroj DCPP. Pokud má počítač uživatele v nástroji DCPP nastaveno heslo systému nebo správce, pak pro všechny příkazy set je třeba musíme předat příslušné heslo. Když tedy poskytnete toto heslo ve formě prostého textu, narušujete zabezpečení. Heslo je nutné předat jako System.Security.SecureString. Zároveň když předáváme heslo SecureString , je potřeba použít přepínač -PasswordSecure , a nikoli normální přepínač –Password . Níže je uveden příklad, kdy se uživatel pokouší nastavit AdvancedBatteryChargeCfg na Disabled a předává heslo SecureString :

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

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

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

Můžeme uložit $pass do souboru, pokud je to potřeba, jako:

$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.