Přeskočit na hlavní obsah

Funzione password di protezione di Dell Command PowerShell Provider

Shrnutí: Funzione password di protezione di Dell Command | PowerShell Provider (DCPP), 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

Prodotti interessati:

  • Dell Command | PowerShell Provider

Il concetto alla base delle password di protezione è che negli script di produzione non dobbiamo passare password importanti in bella vista. Questa è un problema di sicurezza grave. Quindi, utilizzando PowerShell possiamo proteggere una password o almeno ridurre la visibilità della password. Vengono prima discussi gli aspetti generali delle stringhe di protezione e quindi come Dell Command PowerShell Provider (DCPP) sfrutta le funzionalità intrinseche di PowerShell per proteggere le password.

Si supponga di voler leggere il nome utente e la password dell'utente sulla console. Sappiamo che il nome utente generalmente non richiede alcuna sicurezza e può essere visibile a tutti. Ma per la password non dovremmo far conoscere a estranei la password dell'utente. È possibile facilitare questo requisito con i comandi riportati di seguito:

$user = Read-Host "Enter Username"

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

Quanto sopra è una panoramica di come possiamo aggiungere più sicurezza quando dobbiamo proteggere informazioni critiche come una password. Nell'esempio precedente, la variabile $pass è di tipo System.Security.SecureString. Prima di parlare di alcuni aspetti di DCPP, vengono introdotti altri due cmdlet ampiamente utilizzati forniti da PowerShell per facilitare i campi di protezione.

I due comandi sono ConvertTo-SecureString e ConvertFrom-SecureString. ConvertTo-SecureString converte un testo normale in tipo System.Security.SecureString. Di seguito viene mostrato un esempio:

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

Nell'esempio precedente, il testo normale P@assword1 viene convertito in tipo System.Security.SecureString. Questa è più di un'informazione e potrebbe o meno essere ampiamente utilizzata.

Il cmdlet successivo ConvertFrom-SecureString è un cmdlet utilizzato più ampiamente, che consente di convertire stringhe di protezione in stringhe standard crittografate. La limitazione principale di ConvertTo-SecureString è che il relativo output non può essere scritto direttamente in un file per un uso futuro. Occorre utilizzare ConvertFrom-SecureString che converte System.Security.SecureString in una stringa standard crittografata che può essere comodamente salvata in un file, per superare questa limitazione.

Stiamo convertendo il testo normale P@ssword1 in stringa di protezione e indirizzando il relativo output a ConvertFrom-SecureString per ottenere una stringa crittografata che può essere salvata in modo sicuro e comodo in un file.

Ad esempio, supponiamo che la password amministratore sia stata impostata su un computer e che dobbiamo salvarla in un file. A tale scopo, possiamo utilizzare:

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

Possiamo recuperare questa password amministratore in una variabile come oggetto protetto come:

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

Ora, consideriamo come utilizzare una password di protezione per DCPP. In DCPP, se sul computer dell'utente è impostata una password di sistema o di amministratore, per tutti i comandi set dobbiamo passare la rispettiva password. Pertanto, se forniamo questa password come testo normale violiamo la sicurezza. Dobbiamo passare la password come System.Security.SecureString. Inoltre, quando passiamo una password SecureString dobbiamo passarla con uno switch -PasswordSecure e non il normale switch –Password . Di seguito è riportato un esempio in cui l'utente sta tentando di impostare AdvancedBatteryChargeCfg su Disabled e passando la password SecureString :

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Qui $pass contiene la password di sistema e amministratore ed è di tipo System.Security.SecureString. Analogamente a quanto detto sopra, possiamo leggere $pass come:

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

Possiamo salvare $pass in un file, se necessario, come:

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