Delen via


ConvertTo-SecureString

Hiermee worden versleutelde standaardtekenreeksen geconverteerd naar beveiligde tekenreeksen. U kunt ook tekst zonder opmaak converteren naar beveiligde tekenreeksen. Het wordt gebruikt met ConvertFrom-SecureString en Read-Host.

Syntaxis

ConvertTo-SecureString
              [-String] <String>
              [[-SecureKey] <SecureString>]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-AsPlainText]
              [-Force]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-Key <Byte[]>]
              [<CommonParameters>]

Description

De cmdlet ConvertTo-SecureString converteert versleutelde standaardtekenreeksen naar beveiligde tekenreeksen. U kunt ook tekst zonder opmaak converteren naar beveiligde tekenreeksen. Het wordt gebruikt met ConvertFrom-SecureString en Read-Host. De beveiligde tekenreeks die door de cmdlet is gemaakt, kan worden gebruikt met cmdlets of functies waarvoor een parameter van het type SecureString is vereist. De beveiligde tekenreeks kan worden geconverteerd naar een versleutelde, standaardtekenreeks met behulp van de cmdlet ConvertFrom-SecureString. Hierdoor kan het worden opgeslagen in een bestand voor later gebruik.

Als de standaardtekenreeks die wordt geconverteerd, is versleuteld met ConvertFrom-SecureString- met behulp van een opgegeven sleutel, moet diezelfde sleutel worden opgegeven als de waarde van de Sleutel of Secure Key-parameter van de ConvertTo-SecureString-cmdlet.

Voorbeelden

Voorbeeld 1: Een beveiligde tekenreeks converteren naar een versleutelde tekenreeks

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 dit voorbeeld ziet u hoe u een beveiligde tekenreeks maakt op basis van gebruikersinvoer, de beveiligde tekenreeks converteert naar een versleutelde standaardtekenreeks en vervolgens de versleutelde standaardtekenreeks weer converteert naar een beveiligde tekenreeks.

De eerste opdracht maakt gebruik van de parameter AsSecureString van de Read-Host-cmdlet om een beveiligde tekenreeks te maken. Nadat u de opdracht hebt ingevoerd, worden alle tekens die u typt geconverteerd naar een beveiligde tekenreeks en vervolgens opgeslagen in de $Secure variabele.

Met de tweede opdracht wordt de inhoud van de variabele $Secure weergegeven. Omdat de variabele $Secure een beveiligde tekenreeks bevat, wordt in Windows PowerShell alleen het type System.Security.SecureString weergegeven.

De derde opdracht maakt gebruik van de ConvertFrom-SecureString cmdlet om de beveiligde tekenreeks in de $Secure variabele te converteren naar een versleutelde standaardtekenreeks. Hiermee wordt het resultaat opgeslagen in de variabele $Encrypted.

Met de vierde opdracht wordt de versleutelde tekenreeks weergegeven in de waarde van de $Encrypted variabele.

De vijfde opdracht maakt gebruik van de cmdlet ConvertTo-SecureString om de versleutelde standaardtekenreeks in de $Encrypted variabele weer te converteren naar een beveiligde tekenreeks. Het resultaat wordt opgeslagen in de variabele $Secure 2. Met de zesde opdracht wordt de waarde van de variabele $Secure 2 weergegeven. Het type SecureString geeft aan dat de opdracht is geslaagd.

Voorbeeld 2: Een beveiligde tekenreeks maken op basis van een versleutelde tekenreeks in een bestand

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 dit voorbeeld ziet u hoe u een beveiligde tekenreeks maakt op basis van een versleutelde standaardtekenreeks die is opgeslagen in een bestand.

De eerste opdracht maakt gebruik van de parameter AsSecureString van de Read-Host-cmdlet om een beveiligde tekenreeks te maken. Nadat u de opdracht hebt ingevoerd, worden alle tekens die u typt geconverteerd naar een beveiligde tekenreeks en vervolgens opgeslagen in de $Secure variabele.

De tweede opdracht gebruikt de ConvertFrom-SecureString cmdlet om de beveiligde tekenreeks in de $Secure variabele te converteren naar een versleutelde standaardtekenreeks met behulp van de opgegeven sleutel. De inhoud wordt opgeslagen in de variabele $Encrypted.

De derde opdracht maakt gebruik van een pijplijnoperator (|) om de waarde van de $Encrypted variabele naar de Set-Content-cmdlet te verzenden, waarmee de waarde in het Encrypted.txt bestand wordt opgeslagen.

De vierde opdracht maakt gebruik van de Get-Content cmdlet om de versleutelde standaardtekenreeks op te halen in het Encrypted.txt bestand. De opdracht maakt gebruik van een pijplijnoperator om de versleutelde tekenreeks te verzenden naar de cmdlet ConvertTo-SecureString, waarmee deze wordt geconverteerd naar een beveiligde tekenreeks met behulp van de opgegeven sleutel. De resultaten worden opgeslagen in de variabele $Secure 2.

Voorbeeld 3: Een tekenreeks zonder opmaak converteren naar een beveiligde tekenreeks

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

Met deze opdracht wordt de tekenreeks zonder opmaak geconverteerd P@ssW0rD! in een beveiligde tekenreeks en slaat het resultaat op in de variabele $Secure_String_Pwd. Als u de parameter AsPlainText wilt gebruiken, moet de parameter Force ook worden opgenomen in de opdracht.

Parameters

-AsPlainText

Hiermee geeft u een tekenreeks zonder opmaak op die moet worden geconverteerd naar een beveiligde tekenreeks. De cmdlets voor beveiligde tekenreeksen helpen vertrouwelijke tekst te beveiligen. De tekst is versleuteld voor privacy en wordt verwijderd uit het computergeheugen nadat deze is gebruikt. Als u deze parameter gebruikt om tekst zonder opmaak als invoer op te geven, kan het systeem deze invoer niet op deze manier beveiligen. Als u deze parameter wilt gebruiken, moet u ook de parameter Force opgeven.

Type:SwitchParameter
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Force

Bevestigt dat u begrijpt wat de gevolgen zijn van het gebruik van de parameter AsPlainText en deze nog steeds wilt gebruiken.

Type:SwitchParameter
Position:2
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-Key

Hiermee geeft u de versleutelingssleutel op die moet worden gebruikt bij het converteren van een beveiligde tekenreeks naar een versleutelde standaardtekenreeks. Geldige sleutellengten zijn 16, 24 en 32 bytes.

Type:Byte[]
Position:Named
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-SecureKey

Hiermee geeft u de versleutelingssleutel op die moet worden gebruikt bij het converteren van een beveiligde tekenreeks naar een versleutelde standaardtekenreeks. De sleutel moet worden opgegeven in de indeling van een beveiligde tekenreeks. De beveiligde tekenreeks wordt geconverteerd naar een bytematrix voordat deze wordt gebruikt als de sleutel. Geldige sleutellengten zijn 16, 24 en 32 bytes.

Type:SecureString
Position:1
Default value:None
Vereist:False
Pijplijninvoer accepteren:False
Jokertekens accepteren:False

-String

Hiermee geeft u de tekenreeks die moet worden geconverteerd naar een beveiligde tekenreeks.

Type:String
Position:0
Default value:None
Vereist:True
Pijplijninvoer accepteren:True
Jokertekens accepteren:False

Invoerwaarden

String

U kunt een standaard versleutelde tekenreeks doorsluisen naar ConvertTo-SecureString-.

Uitvoerwaarden

SecureString

ConvertTo-SecureString retourneert een SecureString--object.