Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Dell Command | PowerShell Provider – Sichere Kennwortfunktion

Summary: Dell Command | PowerShell Provider (DCPP) Sichere Kennwortfunktion, ConvertTo-SecureString, ConvertFrom-SecureString

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Betroffene Produkte:

  • Dell Command | PowerShell Provider

Das Prinzip sicherer Kennwörter beruht auf dem Grundsatz, dass in Produktionsskripten wichtige Kennwörter nicht im Klartext angegeben werden sollten. Das stellt ein gravierenden Mangel an Sicherheit dar. Mit PowerShell können wir also ein Kennwort sichern oder zumindest die Sichtbarkeit von Kennwörtern reduzieren. Wir erörtern zunächst allgemeine Aspekte der sicheren Zeichenfolge und gehen dann darauf ein, wie der Dell Command PowerShell Provider (DCPP) die der PowerShell inhärente Funktion zur Sicherung des Kennworts nutzt.

Nehmen Sie an, dass wir den Nutzernamen und das Kennwort des/der NutzerIn an der Konsole ablesen möchten. Wir wissen, dass der Nutzernamen in der Regel keine Sicherheitsmaßnahmen erfordert und für alle sichtbar sein kann. Aber beim Kennwort sollten wir nicht zulassen, dass Fremde das Kennwort des/der NutzerIn erfahren. Diese Anforderung können wir mit den unten aufgeführten Befehlen erfüllen:

$user = Read-Host "Enter Username"

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

Die obige Übersicht zeigt, wie wir für mehr Sicherheit sorgen können, wenn wir kritische Informationen wie ein Kennwort schützen müssen. Im obigen Beispiel ist die Variable „$pass“ vom Typ System.Security.SecureString. Wir erhalten eine Einführung in zwei weitere häufig verwendete Cmdlets, die PowerShell bereitstellt, um sichere Felder zu vereinfachen, bevor wir auf Aspekte von DCPP eingehen.

Die beiden Befehle sind ConvertTo-SecureString und ConvertFrom-SecureString. ConvertTo-SecureString konvertiert Klartext in 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 Typ System.Security.SecureStringkonvertiert. Dies dient nur zur Information und wird möglicherweise nicht häufig verwendet.

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

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

Angenommen, auf einem Computer wurde das Admin-Kennwort festgelegt, das wir in einer Datei speichern müssen. Wir können dies folgendermaßen tun:

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

Wir können dieses Admin-Kennwort wie folgt als sicheres Objekt in eine Variable abrufen:

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

Überlegen Sie nun, wie Sie ein sicheres Kennwort für DCPP nutzen können. Wenn für den Computer des/der NutzerIn in DCPP entweder ein System- oder ein Administratorkennwort festgelegt ist, müssen wie für alle set -Befehle das entsprechende Kennwort eingeben. Wenn Sie dieses Kennwort als Klartext angeben, verstößt dies gegen die Sicherheit. Wir müssen das Kennwort als System.Security.SecureStringübergeben. Außerdem müssen wir beim Übergeben eines SecureString -Kennworts dieses mit einem -PasswordSecure -Switch und nicht dem normalen –Password übergeben werden. Unten sehen Sie ein Beispiel, in dem der/die NutzerIn versucht, AdvancedBatteryChargeCfg to Disabled festzulegen und das SecureString Kennwort zu übergeben.

Set-item AdvancedBatteryChargeCfg disabled –PasswordSecure $pass

Hier enthält „$pass“ das System- und Administratorkennwort und ist vom Typ System.Security.SecureString. Ähnlich wie in der obigen Diskussion können wir $pass lesen als:

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

Wir können $pass bei Bedarf in einer Datei speichern als:

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

Additional Information

Affected Products

Dell Command | Powershell Provider
Article Properties
Article Number: 000146459
Article Type: How To
Last Modified: 18 Jul 2024
Version:  8
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.