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.

Dell Command PowerShell Provider – Sichere Kennwortfunktion

Summary: Dell Command | PowerShell Provider Secure Password-Funktion, 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

Betroffene Produkte:

  • Dell Command | PowerShell Provider

Cause

Nicht zutreffend

Resolution

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

Additional Information

Article Properties


Affected Product

Dell Command | Powershell Provider

Last Published Date

11 Sep 2023

Version

7

Article Type

Solution