ConvertTo-SecureString
Düz metin veya şifrelenmiş dizeleri güvenli dizelere dönüştürür.
Syntax
ConvertTo-SecureString
[-String] <String>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertTo-SecureString
[-String] <String>
[-AsPlainText]
[-Force]
[<CommonParameters>]
ConvertTo-SecureString
[-String] <String>
[-Key <Byte[]>]
[<CommonParameters>]
Description
cmdlet'i ConvertTo-SecureString
şifrelenmiş standart dizeleri güvenli dizelere dönüştürür. Ayrıca düz metni güvenli dizelere dönüştürebilir. ve Read-Host
ile ConvertFrom-SecureString
kullanılır. cmdlet tarafından oluşturulan güvenli dize, SecureString türünde bir parametre gerektiren cmdlet'ler veya işlevlerle kullanılabilir. Güvenli dize, cmdlet'i kullanılarak şifrelenmiş, standart bir dizeye ConvertFrom-SecureString
geri dönüştürülebilir. Bu, daha sonra kullanmak üzere bir dosyada depolanmasını sağlar.
Dönüştürülen standart dize belirtilen bir anahtar kullanılarak şifrelendiyse ConvertFrom-SecureString
, cmdlet'in Key veya SecureKey parametresinin ConvertTo-SecureString
değeriyle aynı anahtar sağlanmalıdır.
Örnekler
Örnek 1: Güvenli dizeyi şifrelenmiş dizeye dönüştürme
Bu örnekte kullanıcı girişinden güvenli bir dize oluşturma, güvenli dizeyi şifrelenmiş standart dizeye dönüştürme ve ardından şifrelenmiş standart dizeyi yeniden güvenli bir dizeye dönüştürme gösterilmektedir.
PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Secure
System.Security.SecureString
PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure
PS C:\> $Encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae98000000000
02000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7efa79820000000004800000a000
000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d1400
0000e6b7bf46a9d485ff211b9b2a2df3bd6eb67aae41
PS C:\> $Secure2 = ConvertTo-SecureString -String $Encrypted
PS C:\> $Secure2
System.Security.SecureString
İlk komut, güvenli bir dize oluşturmak için cmdlet'in Read-Host
AsSecureString parametresini kullanır. Komutu girdikten sonra, yazdığınız tüm karakterler güvenli bir dizeye dönüştürülür ve değişkene $Secure
kaydedilir.
İkinci komut değişkenin $Secure
içeriğini görüntüler. Değişken güvenli bir dize içerdiğinden $Secure
PowerShell yalnızca System.Security.SecureString türünü görüntüler.
Üçüncü komut, değişkendeki ConvertFrom-SecureString
güvenli dizeyi şifrelenmiş bir standart dizeye dönüştürmek için cmdlet'ini $Secure
kullanır. Sonucu değişkene $Encrypted
kaydeder.
Dördüncü komut, değişken değerinde şifrelenmiş dizeyi $Encrypted
görüntüler.
Beşinci komut, değişkendeki ConvertTo-SecureString
şifrelenmiş standart dizeyi yeniden güvenli bir dizeye dönüştürmek için cmdlet'ini $Encrypted
kullanır. Sonucu değişkene $Secure2
kaydeder.
Altıncı komut değişkenin $Secure2
değerini görüntüler. SecureString türü komutun başarılı olduğunu gösterir.
Örnek 2: Dosyadaki şifrelenmiş bir dizeden güvenli bir dize oluşturma
Bu örnekte, bir dosyaya kaydedilmiş şifrelenmiş bir standart dizeden nasıl güvenli bir dize oluşturulacağı gösterilmektedir.
$Secure = Read-Host -AsSecureString
$Encrypted = ConvertFrom-SecureString -SecureString $Secure -Key (1..16)
$Encrypted | Set-Content Encrypted.txt
$Secure2 = Get-Content Encrypted.txt | ConvertTo-SecureString -Key (1..16)
İlk komut, güvenli bir dize oluşturmak için cmdlet'in Read-Host
AsSecureString parametresini kullanır. Komutu girdikten sonra, yazdığınız tüm karakterler güvenli bir dizeye dönüştürülür ve değişkene $Secure
kaydedilir.
İkinci komut, belirtilen anahtarı kullanarak değişkendeki $Secure
güvenli dizeyi şifrelenmiş bir standart dizeye dönüştürmek için cmdlet'ini kullanırConvertFrom-SecureString
. İçerikler değişkene $Encrypted
kaydedilir.
Üçüncü komut, değişkenin $Encrypted
değerini cmdlet'ine Set-Content
göndermek için bir işlem hattı işleci (|
) kullanır ve bu da değeri Encrypted.txt dosyasına kaydeder.
Dördüncü komut, Encrypted.txt dosyasında şifrelenmiş standart dizeyi almak için cmdlet'ini kullanır Get-Content
. komut, şifrelenmiş dizeyi cmdlet'ine göndermek için ConvertTo-SecureString
bir işlem hattı işleci kullanır ve bu da belirtilen anahtarı kullanarak bunu güvenli bir dizeye dönüştürür.
Sonuçlar değişkene $Secure2
kaydedilir.
Örnek 3: Düz metin dizesini güvenli bir dizeye dönüştürme
Bu komut düz metin dizesini güvenli bir dizeye P@ssW0rD!
dönüştürür ve sonucu değişkende $Secure_String_Pwd
depolar. AsPlainText parametresini kullanmak için Force parametresi de komutuna eklenmelidir.
$Secure_String_Pwd = ConvertTo-SecureString "P@ssW0rD!" -AsPlainText -Force
Dikkat
Betikte veya komut satırında düz metin dizeleri kullanmaktan kaçınmanız gerekir. Düz metin olay günlüklerinde ve komut geçmişi günlüklerinde görünebilir.
Parametreler
-AsPlainText
Güvenli bir dizeye dönüştürülecek düz metin dizesini belirtir. Güvenli dize cmdlet'leri gizli metnin korunmasına yardımcı olur. Metin gizlilik için şifrelenir ve kullanıldıktan sonra bilgisayar belleğinden silinir. Giriş olarak düz metin sağlamak için bu parametreyi kullanırsanız, sistem bu girişi bu şekilde koruyamaz. Bu parametreyi kullanmak için Force parametresini de belirtmeniz gerekir.
Type: | SwitchParameter |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
AsPlainText parametresini kullanmanın etkilerini anladığınızı ve yine de kullanmak istediğinizi onaylar.
Type: | SwitchParameter |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Key
Özgün güvenli dizeyi şifrelenmiş standart dizeye dönüştürmek için kullanılan şifreleme anahtarını belirtir. Geçerli anahtar uzunlukları 16, 24 ve 32 bayttır.
Type: | Byte[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecureKey
Özgün güvenli dizeyi şifrelenmiş standart dizeye dönüştürmek için kullanılan şifreleme anahtarını belirtir. Anahtar, güvenli bir dize biçiminde sağlanmalıdır. Güvenli dize, anahtar olarak kullanılacak bir bayt dizisine dönüştürülür. Geçerli güvenli anahtar uzunlukları 8, 12 ve 16 kod noktasıdır.
Type: | SecureString |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-String
Güvenli bir dizeye dönüştürülecek dizeyi belirtir.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Girişler
Standart bir şifrelenmiş dizeyi bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Bu cmdlet, oluşturulan SecureString nesnesini döndürür.
Notlar
İfadeler gibi bazı karakterler, bunları içeren dizedeki birkaç kod noktasına karşılık gelir. Parolada kullanıldığında sorunlara ve yanlış anlamalara neden olabilecekleri için bu karakterleri kullanmaktan kaçının.
İlişkili Bağlantılar
PowerShell