Funzione password di protezione di Dell Command PowerShell Provider
Zusammenfassung: Funzione password di protezione di Dell Command | PowerShell Provider (DCPP), ConvertTo-SecureString, ConvertFrom-SecureString
Weisungen
Prodotti interessati:
- Dell Command | PowerShell Provider
Il concetto alla base delle password sicure è che negli script di produzione non devono passare password importanti come visualizzazione normale. Questa è un problema di sicurezza grave. Quindi, l'uso di PowerShell può proteggere una password o almeno ridurne la visibilità. Innanzitutto, discutiamo gli aspetti generali della stringa protetta e poi discutiamo di come DCPP sfrutta la funzionalità innata di PowerShell per proteggere le password.
Si consiglia di leggere il nome utente e la password dell'utente nella console. È noto che il nome utente generalmente non richiede alcuna sicurezza e può essere visibile a tutti. Ma per la password non vuoi far conoscere a estranei la password dell'utente. Questo requisito può essere facilitato con i comandi seguenti:
$user = Read-Host "Enter Username" $pass = Read-Host "Enter Password" -AsSecureString
Quanto sopra è una panoramica di come è possibile aggiungere maggiore sicurezza per informazioni critiche più sicure come una password. Nell'esempio precedente, la variabile $pass è di tipo System.Security.SecureString. Successivamente, viene fornita un'introduzione ad altri due cmdlet ampiamente utilizzati forniti da PowerShell per facilitare i campi protetti prima di toccare gli aspetti di DCPP.
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. È necessario 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.
Stai convertendo 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 su un computer se la password amministratore è stata impostata e deve essere salvata in un file. Questa operazione viene eseguita utilizzando:
Read-Host "Enter Admin Password" -AsSecureString | ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt"
Questo comando può recuperare la password amministratore in una variabile come oggetto protetto, ad esempio:
$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 comandi, è necessario passare la rispettiva password. Pertanto, se forniamo questa password come testo normale violiamo la sicurezza. È necessario passare la password come System.Security.SecureString. Inoltre, quando si supera un SecureString password è necessario passarla con un -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 alla discussione precedente, puoi leggere $pass come:
$pass = Read-Host "Enter system/admin password" –AsSecureString
È possibile risparmiare $pass in un file, se necessario, come:
$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt
Weitere Informationen
Articoli correlati: