Freigeben über


ConvertTo-SecureString

Konvertiert verschlüsselte Standardzeichenfolgen in sichere Zeichenfolgen. Sie kann auch Nur-Text in sichere Zeichenfolgen konvertieren. Es wird mit ConvertFrom-SecureString und Read-Host verwendet.

Syntax

Secure (Standard)

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

PlainText

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

Open

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

Beschreibung

Das Cmdlet ConvertTo-SecureString konvertiert verschlüsselte Standardzeichenfolgen in sichere Zeichenfolgen. Sie kann auch Nur-Text in sichere Zeichenfolgen konvertieren. Es wird mit ConvertFrom-SecureString und Read-Host verwendet. Die vom 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. Dadurch kann sie zur späteren Verwendung in einer Datei gespeichert werden.

Wenn die zu konvertierende Standardzeichenfolge mit ConvertFrom-SecureString unter Verwendung eines angegebenen Schlüssels verschlüsselt wurde, muss dieser Schlüssel als Wert des Parameters Key oder SecureKey des Cmdlets ConvertTo-SecureString angegeben werden.

Beispiele

Beispiel 1: Konvertieren einer sicheren Zeichenfolge in eine verschlüsselte Zeichenfolge

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Secure
System.Security.SecureString PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure
PS C:\> $Encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41 PS C:\> $Secure2 = ConvertTo-SecureString -String $Encrypted
PS C:\> $Secure2
System.Security.SecureString

In diesem Beispiel wird gezeigt, wie Sie eine sichere Zeichenfolge aus der Benutzereingabe erstellen, die sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge konvertieren und dann die verschlüsselte Standardzeichenfolge wieder in eine sichere Zeichenfolge konvertieren.

Im ersten Befehl wird der Parameter AsSecureString des Cmdlets Read-Host verwendet, 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 den System.Security.SecureString-Typ an.

Der dritte Befehl verwendet das Cmdlet ConvertFrom-SecureString, um die sichere Zeichenfolge in der Variablen $Secure in eine verschlüsselte Standardzeichenfolge zu konvertieren. Das Ergebnis wird in der Variablen $Encrypted gespeichert.

Der vierte Befehl zeigt die verschlüsselte Zeichenfolge im Wert der Variablen $Encrypted an.

Im fünften Befehl wird das Cmdlet ConvertTo-SecureString verwendet, um die verschlüsselte Standardzeichenfolge in der Variablen $Encrypted wieder in eine sichere Zeichenfolge zu konvertieren. Das Ergebnis wird in der Variablen $Secure 2 gespeichert. Der sechste Befehl zeigt den Wert der Variablen $Secure 2 an. Der SecureString-Typ gibt an, dass der Befehl erfolgreich war.

Beispiel 2: Erstellen einer sicheren Zeichenfolge aus einer verschlüsselten Zeichenfolge in einer Datei

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure -Key (1..16)
PS C:\> $Encrypted | Set-Content Encrypted.txt
PS C:\> $Secure2 = Get-Content Encrypted.txt | ConvertTo-SecureString -Key (1..16)

In diesem Beispiel wird gezeigt, wie Sie eine sichere Zeichenfolge aus einer verschlüsselten Standardzeichenfolge erstellen, die in einer Datei gespeichert ist.

Im ersten Befehl wird der Parameter AsSecureString des Cmdlets Read-Host verwendet, 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 verwendet das Cmdlet ConvertFrom-SecureString, um die sichere Zeichenfolge in der Variablen $Secure mithilfe des angegebenen Schlüssels in eine verschlüsselte Standardzeichenfolge zu konvertieren. Der Inhalt wird in der Variablen $Encrypted gespeichert.

Der dritte Befehl verwendet einen Pipelineoperator (|), um den Wert der Variablen $Encrypted an das Cmdlet Set-Content zu senden, das den Wert in der Encrypted.txt Datei speichert.

Der vierte Befehl verwendet das Cmdlet Get-Content, um die verschlüsselte Standardzeichenfolge in der Encrypted.txt Datei abzurufen. Der Befehl verwendet einen Pipelineoperator, um die verschlüsselte Zeichenfolge an das Cmdlet ConvertTo-SecureString zu senden, das sie mithilfe des angegebenen Schlüssels in eine sichere Zeichenfolge konvertiert. Die Ergebnisse werden in der Variablen $Secure 2 gespeichert.

Beispiel 3: Konvertieren einer Nur-Text-Zeichenfolge in eine sichere Zeichenfolge

PS C:\> $Secure_String_Pwd = ConvertTo-SecureString "P@ssW0rD!" -AsPlainText -Force

Dieser Befehl wandelt den Nur-Text-String P@ssW0rD! in eine sichere Zeichenfolge und speichert das Ergebnis in der Variablen $Secure_String_Pwd. Um den parameter AsPlainText zu verwenden, muss der parameter Force ebenfalls in den Befehl aufgenommen werden.

Parameter

-AsPlainText

Gibt eine Nur-Text-Zeichenfolge an, die in eine sichere Zeichenfolge konvertiert werden soll. Die Cmdlets für sichere Zeichenfolgen schützen vertrauliche Texte. Der Text wird für den Datenschutz verschlüsselt und nach der Verwendung aus dem Computerspeicher gelöscht. Wenn Sie diesen Parameter verwenden, um Nur-Text als Eingabe bereitzustellen, kann das System diese Eingabe nicht auf diese Weise schützen. Um diesen Parameter zu verwenden, müssen Sie auch den parameter Force angeben.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

PlainText
Position:1
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Force

Bestätigt, dass Sie die Auswirkungen der Verwendung des AsPlainText- Parameters verstehen und dennoch verwenden möchten.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

PlainText
Position:2
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Key

Gibt den Verschlüsselungsschlüssel an, der beim Konvertieren einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge verwendet werden soll. Gültige Schlüssellängen sind 16, 24 und 32 Bytes.

Parametereigenschaften

Typ:

Byte[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Open
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-SecureKey

Gibt den Verschlüsselungsschlüssel an, der beim Konvertieren einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge verwendet werden soll. Der Schlüssel muss im Format einer sicheren Zeichenfolge bereitgestellt werden. Die sichere Zeichenfolge wird in ein Byte-Array konvertiert, bevor sie als Schlüssel verwendet wird. Gültige Schlüssellängen sind 16, 24 und 32 Bytes.

Parametereigenschaften

Typ:SecureString
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

Secure
Position:1
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-String

Gibt die Zeichenfolge an, die in eine sichere Zeichenfolge konvertiert werden soll.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:0
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

String

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

Ausgaben

SecureString

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