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
U kunt een standaard versleutelde tekenreeks doorsluisen naar ConvertTo-SecureString-.
Uitvoerwaarden
ConvertTo-SecureString retourneert een SecureString--object.