Funkcja Bezpieczne hasło modułu Dell Command PowerShell Provider

Summary: Funkcja Bezpieczne hasło modułu 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

Dotyczy produktów:

  • Aplikacja Dell Command | PowerShell Provider

Koncepcja bezpiecznych haseł polega na tym, że w skryptach produkcyjnych nie powinny one przekazywać ważnych haseł w formie zwykłego widoku. Jest to poważny brak zabezpieczenia. W związku z tym użycie programu PowerShell może zabezpieczyć hasło lub przynajmniej zmniejszyć widoczność hasła. Najpierw omówmy ogólne aspekty bezpiecznego ciągu, a następnie omówmy, w jaki sposób DCPP wykorzystuje wrodzoną funkcję PowerShell do zabezpieczania hasła.

Weź pod uwagę, że chcesz odczytać nazwę użytkownika i hasło użytkownika w konsoli. Wiadomo, że nazwa użytkownika na ogół nie wymaga żadnych zabezpieczeń i może być widoczna dla wszystkich. Ale w przypadku hasła nie chcesz, aby nieznajomi znali hasło użytkownika. Wymóg ten można spełnić za pomocą poniższych poleceń:

$user = Read-Host "Enter Username"

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

Powyżej przedstawiono sposoby zwiększenia zabezpieczeń w celu zwiększenia bezpieczeństwa krytycznych informacji, takich jak hasło. W powyższym przykładzie zmienna $pass jest typu System.Security.SecureString. Następnie zapoznasz się z wprowadzeniem do dwóch innych powszechnie używanych poleceń cmdlet programu PowerShell w celu ułatwienia bezpiecznych pól przed dotknięciem aspektów DCPP.

Te dwa polecenia to ConvertTo-SecureString i ConvertFrom-SecureString. ConvertTo-SecureString konwertuje zwykły tekst na typ System.Security.SecureString. Poniżej przedstawiono przykład:

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

W powyższym przykładzie zwykły tekst P@assword1 jest konwertowany na typ System.Security.SecureString. Jest to jedynie informacja, która może, ale nie musi być powszechnie stosowana.

Następne polecenie cmdlet ConvertFrom-SecureString jest szerzej używanym poleceniem cmdlet, które służy do konwertowania bezpiecznych ciągów na zaszyfrowane ciągi standardowe. Główne ograniczenie ConvertTo-SecureString jest takie, że jego dane wyjściowe nie mogą być bezpośrednio zapisane w pliku do wykorzystania w przyszłości. Należy użyć ConvertFrom-SecureString które konwertuje System.Security.SecureString na zaszyfrowany standardowy ciąg, który można wygodnie zapisać w pliku, aby pokonać to ograniczenie.

Konwertujesz zwykły tekst P@ssword1 aby zabezpieczyć ciąg, a następnie przesłać jego dane wyjściowe do ConvertFrom-SecureString aby uzyskać zaszyfrowany ciąg znaków, który można bezpiecznie i wygodnie zapisać w pliku.

Załóżmy na przykład, że na komputerze ustawiono hasło administratora i należy je zapisać w pliku. Do tego wykorzystuje:

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

To polecenie może pobrać hasło administratora z powrotem do zmiennej jako bezpiecznego obiektu, takiego jak:

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

Zastanówmy się teraz, jak wykorzystać bezpieczne hasło dla DCPP. W DCPP, jeśli komputer użytkownika ma ustawione hasło systemowe lub hasło administratora, dla wszystkich set należy przekazać odpowiednie hasło. Zatem podanie tego hasła w postaci zwykłego tekstu powoduje naruszenie zabezpieczeń. Hasło należy przekazać jako System.Security.SecureString. Ponadto, gdy zdasz SecureString haslo musisz je przekazać za pomocą -PasswordSecure przełącznika, ale nie normalnego –Password przełącznika. Poniżej pokazano przykład, w którym użytkownik próbuje ustawić AdvancedBatteryChargeCfg na Disabled i przekazuje SecureString hasło:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

W tym miejscu $pass przechowuje hasło systemowe i hasło administratora oraz jest typu System.Security.SecureString. Podobnie do powyższej dyskusji możesz przeczytać $pass jako:

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

Możesz zaoszczędzić $pass w pliku, jeśli jest to wymagane, 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: 09 حزيران 2026
Version:  10
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.