ConvertTo-SecureString
Konwertuje zaszyfrowane ciągi standardowe na bezpieczne ciągi. Może również konwertować zwykły tekst na bezpieczne ciągi. Jest on używany z ConvertFrom-SecureString i read-host.
Składnia
ConvertTo-SecureString
[-String] <String>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertTo-SecureString
[-String] <String>
[-AsPlainText]
[-Force]
[<CommonParameters>]
ConvertTo-SecureString
[-String] <String>
[-Key <Byte[]>]
[<CommonParameters>]
Opis
Polecenie cmdlet ConvertTo-SecureString konwertuje zaszyfrowane standardowe ciągi na bezpieczne ciągi. Może również konwertować zwykły tekst na bezpieczne ciągi. Jest on używany z ConvertFrom-SecureString i read-host. Bezpieczny ciąg utworzony przez polecenie cmdlet może być używany z poleceniami cmdlet lub funkcjami, które wymagają parametru typu SecureString. Bezpieczny ciąg można przekonwertować z powrotem na zaszyfrowany, standardowy ciąg przy użyciu polecenia cmdlet ConvertFrom-SecureString. Dzięki temu można przechowywać go w pliku do późniejszego użycia.
Jeśli przekonwertowany ciąg standardowy został zaszyfrowany za pomocą
Przykłady
Przykład 1. Konwertowanie bezpiecznego ciągu na zaszyfrowany ciąg
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
W tym przykładzie pokazano, jak utworzyć bezpieczny ciąg z danych wejściowych użytkownika, przekonwertować bezpieczny ciąg na zaszyfrowany ciąg standardowy, a następnie przekonwertować zaszyfrowany ciąg standardowy z powrotem na bezpieczny ciąg.
Pierwsze polecenie używa parametru AsSecureString polecenia cmdlet Read-Host w celu utworzenia bezpiecznego ciągu. Po wprowadzeniu polecenia wszystkie znaki, które wpiszesz, są konwertowane na bezpieczny ciąg, a następnie zapisywane w zmiennej $Secure.
Drugie polecenie wyświetla zawartość zmiennej $Secure. Ponieważ zmienna $Secure zawiera bezpieczny ciąg, program Windows PowerShell wyświetla tylko typ System.Security.SecureString.
Trzecie polecenie używa polecenia cmdlet ConvertFrom-SecureString, aby przekonwertować bezpieczny ciąg w zmiennej $Secure na zaszyfrowany ciąg standardowy. Zapisuje wynik w zmiennej $Encrypted.
Czwarte polecenie wyświetla zaszyfrowany ciąg w wartości zmiennej $Encrypted.
Piąte polecenie używa polecenia cmdlet ConvertTo-SecureString, aby przekonwertować zaszyfrowany ciąg standardowy w zmiennej $Encrypted z powrotem na bezpieczny ciąg. Zapisuje wynik w zmiennej $Secure 2. Szóste polecenie wyświetla wartość zmiennej $Secure 2. Typ SecureString wskazuje, że polecenie zakończyło się pomyślnie.
Przykład 2. Tworzenie bezpiecznego ciągu z zaszyfrowanego ciągu w pliku
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)
W tym przykładzie pokazano, jak utworzyć bezpieczny ciąg na podstawie zaszyfrowanego standardowego ciągu zapisanego w pliku.
Pierwsze polecenie używa parametru AsSecureString polecenia cmdlet Read-Host w celu utworzenia bezpiecznego ciągu. Po wprowadzeniu polecenia wszystkie znaki, które wpiszesz, są konwertowane na bezpieczny ciąg, a następnie zapisywane w zmiennej $Secure.
Drugie polecenie używa polecenia cmdlet ConvertFrom-SecureString, aby przekonwertować bezpieczny ciąg w zmiennej $Secure na zaszyfrowany ciąg standardowy przy użyciu określonego klucza. Zawartość jest zapisywana w zmiennej $Encrypted.
Trzecie polecenie używa operatora potoku (|) do wysyłania wartości zmiennej $Encrypted do polecenia cmdlet Set-Content, które zapisuje wartość w pliku Encrypted.txt.
Czwarte polecenie używa polecenia cmdlet Get-Content do pobrania zaszyfrowanego standardowego ciągu w pliku Encrypted.txt. Polecenie używa operatora potoku do wysyłania zaszyfrowanego ciągu do polecenia cmdlet ConvertTo-SecureString, które konwertuje go na bezpieczny ciąg przy użyciu określonego klucza. Wyniki są zapisywane w zmiennej $Secure 2.
Przykład 3. Konwertowanie ciągu zwykłego tekstu na bezpieczny ciąg
PS C:\> $Secure_String_Pwd = ConvertTo-SecureString "P@ssW0rD!" -AsPlainText -Force
To polecenie konwertuje ciąg zwykłego tekstu P@ssW0rD! w bezpiecznym ciągu i zapisuje wynik w zmiennej $Secure_String_Pwd. Aby użyć parametru AsPlainText, parametr Force musi być również uwzględniony w poleceniu .
Parametry
-AsPlainText
Określa ciąg zwykłego tekstu, który ma być konwertowany na bezpieczny ciąg. Polecenia cmdlet bezpiecznego ciągu pomagają chronić poufny tekst. Tekst jest szyfrowany pod kątem prywatności i jest usuwany z pamięci komputera po jego użyciu. Jeśli używasz tego parametru do podawania zwykłego tekstu jako danych wejściowych, system nie może chronić tych danych wejściowych w ten sposób. Aby użyć tego parametru, należy również określić parametr Force.
Typ: | SwitchParameter |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Force
Potwierdza, że rozumiesz implikacje używania parametru AsPlainText i nadal chcesz go użyć.
Typ: | SwitchParameter |
Position: | 2 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Key
Określa klucz szyfrowania, który ma być używany podczas konwertowania bezpiecznego ciągu na zaszyfrowany ciąg standardowy. Prawidłowe długości klucza to 16, 24 i 32 bajty.
Typ: | Byte[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-SecureKey
Określa klucz szyfrowania, który ma być używany podczas konwertowania bezpiecznego ciągu na zaszyfrowany ciąg standardowy. Klucz musi być podany w formacie bezpiecznego ciągu. Bezpieczny ciąg jest konwertowany na tablicę bajtów przed użyciem jako klucza. Prawidłowe długości klucza to 16, 24 i 32 bajty.
Typ: | SecureString |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-String
Określa ciąg, który ma być konwertowany na bezpieczny ciąg.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
Można potokować standardowy zaszyfrowany ciąg do ConvertTo-SecureString.
Dane wyjściowe
ConvertTo-SecureString zwraca obiekt