Normalde convertto-securestring veya convertfrom-securestring komutları lokal userın objectini kullanarak veriyi şifreler yani aynı ağ kullanıcısıyla başka bir bilgisayara gittiğinizde ve şifreli veriyi taşırsanız artık açamazınız. taşınabilir yapmak için anahtar a ihtiyacınız var.
Ben kendi ssh anahtarımın public keyini kullandım. Benim amacıma uyuyordu çünkü tüm sistemlerimde aynı SSH anahtar ikilisini kullanıyorum ve dolayısıyla dosya eriştiğim tüm sistemler için uygun.
$veri = gc "C:\Users\$env:username\.ssh\id_rsa.pub"
$LimitedVeri = $veri -replace '\D+(\d+)','$1'
$lc16 = $LimitedVeri.Substring(0,16)
$anahtar = ($lc16[0],$lc16[1],$lc16[2],$lc16[3],$lc16[4],$lc16[5],$lc16[6],$lc16[7],$lc16[8],$lc16[9],$lc16[10],$lc16[11],$lc16[12],$lc16[13],$lc16[14],$lc16[15])
şimdi önce gc (get-content) ile publickey imizi okuttuk
sonra $Limited veri olarak içinden sadece rakanları çektik.
sonra substring ile ilk 16sını aldık
Sonra bunları yan yana yazdırıp anahtar dizisini oluşturduk.
Şimdi bir şifre alalım ve bu anahtar ile encrypt edelim.
$newPass = Read-host " şifreyi girin : " -AsSecurestring | Convertfrom-Securestring -key $anahtar
Daha sonra bu $newPass değişkeni nasıl oldu diye bakarsak
PS C:\Users\can> $newPass
76492d1116743f0423413b16050a5345MgB8AGEAVwB0AE0AWgBoAGsARgAxAEYARgBzAFoAUQBHAHkAZQBtAHAAUQBGAEEAPQA9AHwAYgA1ADUAOAA2AGQANgAyAGQANABmAGYAMgA3ADcAYwA1ADUANABjAGQANAA0ADcAN
wA5ADQAMQA5AGYAYgAxAA==
İşte bunu bir dosyaya kaydedersek başka bir sisteme taşıyabiliriz.
Diyelim ki taşıdık diğer sistemdeyiz. İlk yapmamız gereken onu bir değişkene atmak
$PasSecStr = gc "C:\Users\can\file_saved.txt"
ve onu çevirmek
$PassSecObj = ConvertTo-SecureString $PasSecStr -key $Anahtar
$UnsecurePasswordEnd = (New-Object PSCredential "user", $PassSecObj).GetNetworkCredential().Password
Önce Securestring i bir objecte çeviriyoruz. Sonra
Unencrypt yapmak için PScredential object ini kullanıyoruz.
Not: eğer bir csv nin bir bölümünü aldıysak (CSV de bir header string)
$PassSecObj = ConvertTo-SecureString ($PasSecStr).string -key $Anahtar