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
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Funzione password di protezione di Dell Command PowerShell Provider

Summary: Dell Command | Funzione Secure Password di PowerShell Provider, ConvertTo-SecureString, ConvertFrom-SecureString

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Prodotti interessati:

  • Dell Command | PowerShell Provider

Cause

Non applicabile

Resolution

Il concetto alla base delle password sicure è che negli script di produzione non dobbiamo passare password importanti come una visione semplice. Si tratta di una grave mancanza di sicurezza. Quindi, utilizzando PowerShell possiamo proteggere una password o almeno ridurre la visibilità della password. Per prima cosa, parliamo di aspetti generali della stringa sicura, quindi parliamo di come Dell Command PowerShell Provider (DCPP) sfrutta la funzione innate di PowerShell per proteggere la password.

Si consideri che si desidera leggere nome utente e password dall'utente sulla console. Siamo consapevoli che il nome utente in genere non richiede alcuna sicurezza e può essere visibile a tutti. Ma per la password non dobbiamo far sapere ai estranei la password dell'utente. È possibile facilitare questo requisito con i comandi come indicato di seguito:

$user = Read-Host "Enter Username"

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

Quanto riportato sopra offre una panoramica su come aggiungere maggiore sicurezza quando dobbiamo proteggere le informazioni critiche come una password. Nell'esempio precedente, la variabile $pass è di tipo System.Security.SecureString. Viene fornita un'introduzione a due altri cmdlet ampiamente utilizzati forniti da PowerShell per facilitare i campi sicuri prima di toccare gli aspetti del DCPP.

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

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

Nell'esempio precedente, il testo P@assword1 normale viene convertito nel tipo System.Security.SecureString. Si tratta di una maggiore quantità di informazioni e può essere ampiamente utilizzata o meno.

Il cmdlet ConvertFrom-SecureString successivo è un cmdlet più utilizzato che viene utilizzato per convertire stringhe protette in stringhe standard crittografate. La limitazione principale di ConvertTo-SecureString è che il relativo output non può essere scritto direttamente in un file per un utilizzo futuro. Per superare questa limitazione, è necessario utilizzare ConvertFrom-SecureString un metodo che si converte System.Security.SecureString in una stringa standard crittografata che può essere salvata comodamente in un file.

Stiamo convertendo il testo P@ssword1 normale in una stringa sicura e quindi eseguendo il piping del relativo output per ConvertFrom-SecureString ottenere una stringa crittografata che può essere salvata in modo sicuro e pratico in un file.

Ad esempio, se è stata impostata la password amministratore su un computer, è necessario salvarla in un file. È possibile eseguire questa operazione utilizzando:

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

È possibile recuperare la password amministratore in una variabile come oggetto sicuro come:

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

Ora è possibile prendere in considerazione come utilizzare una password sicura per DCPP. In DCPP, se il computer dell'utente ha una password di sistema o amministratore impostata, per tutti i set comandi è necessario passare la rispettiva password. Fornendo questa password come sicurezza per violazioni di testo normale. Quindi, dobbiamo passare la password come System.Security.SecureString. Inoltre, quando si passa una SecureString password, è necessario passarla con uno -PasswordSecure switch e non con lo switch normale –Password . Di seguito viene mostrato un esempio in cui l'utente sta tentando di impostare AdvancedBatteryChargeCfgDisabled e superare la SecureString password:

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Qui $pass contiene la password di sistema e amministratore ed è di tipo System.Security.SecureString. Analogamente alla discussione di cui 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

Additional Information

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sep 2023

Version

7

Article Type

Solution