Přeskočit na hlavní obsah

Dell Command | PowerShell Provider – Sichere Kennwortfunktion

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

Tento článek se vztahuje na Tento článek se nevztahuje na Tento článek není vázán na žádný konkrétní produkt. V tomto článku nejsou uvedeny všechny verze produktu.

Pokyny

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

Další informace

Dotčené produkty

Dell Command | Powershell Provider
Vlastnosti článku
Číslo článku: 000146459
Typ článku: How To
Poslední úprava: 18 čvc 2024
Verze:  8
Najděte odpovědi na své otázky od ostatních uživatelů společnosti Dell
Služby podpory
Zkontrolujte, zda se na vaše zařízení vztahují služby podpory.