Freigeben über


ConvertTo-SecureString

Letzte Aktualisierung: April 2010

Betrifft: Windows PowerShell 2.0

Konvertiert verschlüsselte Standardzeichenfolgen in sichere Zeichenfolgen. Außerdem kann Klartext mit diesem Befehl in sichere Zeichenfolgen konvertiert werden. Wird mit ConvertFrom-SecureString und Read-Host verwendet.

Syntax

ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [-AsPlainText] [-Force] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<CommonParameters>]

Beschreibung

Mit dem Cmdlet "ConvertTo-SecureString" werden verschlüsselte Standardzeichenfolgen in sichere Zeichenfolgen konvertiert. Außerdem kann Klartext mit diesem Befehl in sichere Zeichenfolgen konvertiert werden. Wird mit ConvertFrom-SecureString und Read-Host verwendet. Die mit dem Cmdlet erstellte sichere Zeichenfolge kann mit Cmdlets oder Funktionen verwendet werden, die einen Parameter vom Typ "SecureString" erfordern. Die sichere Zeichenfolge kann mit dem Cmdlet "ConvertFrom-SecureString" wieder in eine verschlüsselte Standardzeichenfolge konvertiert werden. Dies ermöglicht das Speichern in einer Datei zur späteren Verwendung.

Wenn die konvertierte Standardzeichenfolge mit ConvertFrom-SecureString und einem angegebenen Schlüssel verschlüsselt wurde, muss der gleiche Schlüssel als Wert für den Key-Parameter oder den SecureKey-Parameter des Cmdlets "ConvertTo-SecureString" angegeben werden.

Parameter

-AsPlainText

Gibt eine Klartextzeichenfolge für die Konvertierung in eine sichere Zeichenfolge an. Mit den Cmdlets für sichere Zeichenfolgen kann vertraulicher Text geschützt werden. Der Text wird aus Gründen des Datenschutzes verschlüsselt und nach Verwendung aus dem Speicher des Computers gelöscht. Wenn Sie Klartext als Eingabe für diesen Parameter angeben, kann die Eingabe vom System nicht auf diese Weise geschützt werden. Wenn Sie diesen Parameter verwenden möchten, müssen Sie auch den Force-Parameter angeben.

Erforderlich?

false

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Force

Gibt an, dass Sie die Auswirkungen des AsPlainText-Parameters kennen und diesen ausdrücklich verwenden möchten.

Erforderlich?

false

Position?

3

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Key <Byte[]>

Gibt den Verschlüsselungsschlüssel für die Konvertierung einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge an. Gültige Schlüssellängen sind 16, 24 und 32 Bytes.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-SecureKey <SecureString>

Gibt den Verschlüsselungsschlüssel für die Konvertierung einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge an. Der Schlüssel muss im Format einer sicheren Zeichenfolge angegeben werden. Die sichere Zeichenfolge wird vor der Verwendung als Schlüssel in ein Bytearray konvertiert. Gültige Schlüssellängen sind 16, 24 und 32 Bytes.

Erforderlich?

false

Position?

2

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-String <string>

Gibt die Zeichenfolge für die Konvertierung in eine sichere Zeichenfolge an.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue)

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Sie können eine verschlüsselte Standardzeichenfolge über die Pipeline an ConvertTo-SecureString übergeben.

Ausgaben

System.Security.SecureString

ConvertTo-SecureString gibt ein SecureString-Objekt zurück.

Beispiel 1

C:\PS>$secure = read-host -assecurestring

C:\PS> $secure
System.Security.SecureString

C:\PS> $encrypted = convertfrom-securestring -securestring $secure
C:\PS> $encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41

C:\PS> $secure2 = convertto-securestring -string $encrypted
C:\PS> $secure2
System.Security.SecureString

Beschreibung
-----------
In diesem Beispiel wird veranschaulicht, wie eine sichere Zeichenfolge aus einer Benutzereingabe erstellt, die sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge konvertiert und die verschlüsselte Standardzeichenfolge wieder in eine sichere Zeichenfolge zurück konvertiert wird.

Der erste Befehl verwendet den AsSecureString-Parameter des Cmdlets "Read-Host", um eine sichere Zeichenfolge zu erstellen. Nachdem Sie den Befehl eingegeben haben, werden alle eingegebenen Zeichen in eine sichere Zeichenfolge konvertiert und dann in der Variablen "$secure" gespeichert.

Der zweite Befehl zeigt den Inhalt der Variablen "$secure" an. Da die Variable "$secure" eine sichere Zeichenfolge enthält, zeigt Windows PowerShell nur der den System.Security.SecureString-Typ an. 

Mit dem dritten Befehl wird das Cmdlet "ConvertFrom-SecureString" verwendet, um die sichere Zeichenfolge in der Variablen "$secure" in eine verschlüsselte Standardzeichenfolge zu konvertieren. Das Ergebnis wird in der Variablen "$encrypted" gespeichert. Mit dem vierten Befehl wird die verschlüsselte Zeichenfolge im Wert der Variablen "$encrypted" angezeigt.

Mit dem fünften Befehl wird das Cmdlet "ConvertTo-SecureString" verwendet, um die verschlüsselte Standardzeichenfolge in der Variablen "$encrypted" zurück in eine sichere Zeichenfolge zu konvertieren. Das Ergebnis wird in der Variablen "$secure2" gespeichert. Der sechste Befehl zeigt den Wert der Variablen "$secure2" an. Der SecureString-Typ gibt an, dass der Befehl erfolgreich ausgeführt wurde.





Beispiel 2

C:\PS>$secure = read-host -assecurestring

C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..16)

C:\PS> $encrypted | set-content encrypted.txt

C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (1..16)

Beschreibung
-----------
In diesem Beispiel wird veranschaulicht, wie eine sichere Zeichenfolge aus einer verschlüsselten Standardzeichenfolge erstellt wird, die in einer Datei gespeichert ist.

Der erste Befehl verwendet den AsSecureString-Parameter des Cmdlets "Read-Host", um eine sichere Zeichenfolge zu erstellen. Nachdem Sie den Befehl eingegeben haben, werden alle eingegebenen Zeichen in eine sichere Zeichenfolge konvertiert und dann in der Variablen "$secure" gespeichert. 

Mit dem zweiten Befehl wird das Cmdlet "ConvertFrom-SecureString" verwendet, um die sichere Zeichenfolge in der Variablen "$secure" mit der angegebenen Schlüssel in eine verschlüsselte Standardzeichenfolge zu konvertieren. Der Inhalt wird in der Variablen "$encrypted" gespeichert.

Der dritte Befehl sendet den Wert der Variablen "$encrypted" mithilfe eines Pipelineoperators (|) an das Cmdlet "Set-Content", das den Wert in der Datei "Encrypted.txt" speichert.

Mit dem vierten Befehl wird das Cmdlet "Get-Content" verwendet, um die verschlüsselte Standardzeichenfolge in der Datei "Encrypted.txt" abzurufen. Der Befehl sendet die verschlüsselte Zeichenfolge mithilfe eines Pipelineoperators an das Cmdlet "ConvertTo-SecureString", das sie mit der angegebenen Schlüssel in eine sichere Zeichenfolge konvertiert. Die Ergebnisse werden in der Variablen "$secure2" gespeichert.





Beispiel 3

C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -force

Beschreibung
-----------
Mit diesem Befehl wird die Klartextzeichenfolge "P@ssW0rD!" in eine sichere Zeichenfolge konvertiert und das Ergebnis in der Variablen "$secure_string_pwd" gespeichert. Um den AsPlainText-Parameter verwenden zu können, muss der Befehl auch den Force-Parameter enthalten.





Siehe auch

Konzepte

ConvertFrom-SecureString
Read-Host