Passer au contenu principal
  • Passer des commandes rapidement et facilement
  • Afficher les commandes et suivre l’état de votre expédition
  • Profitez de récompenses et de remises réservées aux membres
  • Créez et accédez à une liste de vos produits
  • Gérer vos sites, vos produits et vos contacts au niveau des produits Dell EMC à l’aide de la rubrique Gestion des informations de l’entreprise.

Dell Command PowerShell Provider – Sichere Kennwortfunktion

Résumé: Dell Command | PowerShell Provider Secure Password-Funktion, ConvertTo-SecureString, ConvertFrom-SecureString

Cet article a peut-être été traduit automatiquement. Si vous avez des commentaires concernant sa qualité, veuillez nous en informer en utilisant le formulaire au bas de cette page.

Contenu de l’article


Symptômes

Betroffene Produkte:

  • Dell Command | PowerShell Provider

Cause

Nicht zutreffend

Résolution

Das Konzept hinter sicheren Passwörtern besteht darin, dass wir in Produktionsskripten keine wichtigen Passwörter als einfache Ansicht weitergeben sollten. Dies ist ein schwerwiegender Mangel an Sicherheit. Mit PowerShell können wir also ein Passwort sichern oder zumindest die Transparenz von Passwörtern reduzieren. Wir besprechen zunächst allgemeine Aspekte der sicheren Zeichenfolge und besprechen dann, wie Dell Command PowerShell Provider (DCPP) die integrierte Funktion von PowerShell nutzt, um das Kennwort zu sichern.

Beachten Sie, dass wir den Benutzernamen und das Kennwort vom Benutzer in der Konsole lesen möchten. Wir sind uns bewusst, dass der Benutzername in der Regel keine Sicherheit erfordert und für alle sichtbar sein kann. Für das Passwort sollten wir Fremdbenutzer jedoch nicht über das Passwort des Benutzers informieren. Wir können diese Anforderung mit den folgenden Befehlen vereinfachen:

$user = Read-Host "Enter Username"

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

Im Obigen finden Sie eine Übersicht darüber, wie wir mehr Sicherheit hinzufügen können, wenn wir wichtige Informationen wie ein Passwort sichern müssen. Im obigen Beispiel ist die Variable $pass vom Typ System.Security.SecureString. Wir erhalten eine Einführung in zwei weitere weit verbreitete Cmdlets, die PowerShell bietet, um sichere Felder zu vereinfachen, bevor wir Aspekte von DCPP ansprechen.

Die beiden Befehle sind ConvertTo-SecureString und ConvertFrom-SecureString. ConvertTo-SecureString konvertiert einen Klartext in den Typ System.Security.SecureString. Ein Beispiel ist im folgenden dargestellt:

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

Im obigen Beispiel wird der Klartext P@assword1 in den Typ System.Security.SecureStringkonvertiert. Hierbei handelt es sich eher um Informationen, die möglicherweise weit verbreitet sind.

Das nächste Cmdlet ConvertFrom-SecureString ist ein weiter verbreitetes Cmdlet, das verwendet wird, um sichere Zeichenfolgen in verschlüsselte Standardzeichenfolgen zu konvertieren. Die größte Einschränkung von ConvertTo-SecureString ist, dass die Ausgabe nicht für die zukünftige Verwendung direkt in eine Datei geschrieben werden kann. Wir müssen verwenden ConvertFrom-SecureString , was in eine verschlüsselte Standardzeichenfolge konvertiert System.Security.SecureString , die bequem in einer Datei gespeichert werden kann, um diese Einschränkung zu überwinden.

Wir konvertieren Klartext P@ssword1 in eine sichere Zeichenfolge und übertragen dann die Ausgabe, um eine verschlüsselte Zeichenfolge zu ConvertFrom-SecureString erhalten, die sicher und bequem in einer Datei gespeichert werden kann.

Lassen Sie uns beispielsweise auf einem Computer sagen, ob das Administratorkennwort festgelegt wurde und wir es in einer Datei speichern müssen. Wir können dies tun, indem wir Folgendes tun:

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

Wir können dieses Administratorkennwort in einer Variablen als sicheres Objekt abrufen wie:

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

Überlegen Sie nun, wie Sie ein sicheres Kennwort für DCPP nutzen können. Wenn auf dem Computer des Benutzers in DCPP entweder das System- oder das Administratorkennwort festgelegt ist, müssen wir für alle set Befehle das entsprechende Kennwort übergeben. Die Angabe dieses Passworts als Klartext verstößt also gegen die Sicherheit. Daher müssen wir das Passwort als System.Security.SecureStringübergeben. Wenn wir ein SecureString Passwort übergeben, müssen wir es auch mit einem -PasswordSecure Switch und nicht mit dem normalen –Password Switch übergeben. Unten wird ein Beispiel gezeigt, in dem der Benutzer versucht, das Passwort festzulegen AdvancedBatteryChargeCfgDisabled und zu übergeben SecureString :

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Hier $pass das System- und Administratorkennwort enthält und vom Typ System.Security.SecureStringist. Ähnlich wie bei der obigen Diskussion können wir Folgendes lesen $pass :

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

Wir können in einer Datei speichern $pass , falls erforderlich, wie folgt:

$pass| ConvertFrom-SecureString | Out-File "C:\Scripts\AdminPassword.txt

Informations supplémentaires

Propriétés de l’article


Produit concerné

Dell Command | Powershell Provider

Dernière date de publication

11 sept. 2023

Version

7

Type d’article

Solution