Omitir para ir al contenido principal
  • Hacer pedidos rápida y fácilmente
  • Ver pedidos y realizar seguimiento al estado del envío
  • Cree y acceda a una lista de sus productos

Funzione password di protezione di Dell Command PowerShell Provider

Resumen: Funzione password di protezione di Dell Command | PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString

Este artículo se aplica a   Este artículo no se aplica a 

Instrucciones

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

Información adicional

Productos afectados

Dell Command | Powershell Provider