Dosyaları şifrelemek ve dosyaların şifresini çözmek biraz zor bir iş olabilir. Ancak PowerShell kullanarak bu işlemi yalnızca tek satırlık bir komutla basitleştirebilirsiniz. Bunu yapmak için Gpg4win ve Powershell modülünü kurmamız gerekiyor. Şifreleme ve şifre çözme işlemini otomatikleştirmek için komut dosyalarını kullanın. Bu makale size Windows 10'daki dosyaları bir komut dosyasıyla otomatik olarak nasıl şifreleyeceğinizi gösterecektir.
Başlamadan önce kullanıcıların GPG4Win araçlarını kurmaları ve yapılandırmaları gerekir . Bu modülde GPG4Win'in simetrik şifreleme işlevini kullanacaksınız.
Bu Powershell modülü, dosya şifrelemeyi bir anahtar çifti yerine bir parolayla yönetir. Şifrelemenin gücü şifrenin gücüne bağlıdır . Kullanıcılar, belki de LastPass aracını veya başka bir şifre yöneticisini kullanarak karmaşık şifreler seçmelidir . Son olarak kurulumu tamamlayıp Powershell Modülüne geçin.

Powershell Modülleri, PSM1 dosya formatını kullanan paketlenmiş işlev kümeleridir. Bu dosyaları profilinizdeki Modüller klasörüne kaydedebilir, ardından Import-Module kullanarak Modülü oturumunuza/komut dosyanıza ekleyebilirsiniz .
Tüm modül cmdlet'leri mevcuttur. Powershell becerilerinizi geliştirdikçe kendi modüllerinizi bile oluşturabilirsiniz. Dosya şifreleme modülünü kurmak için modülü TechNet'ten indirin . Daha sonra bunu Modüller klasörlerinden birine kopyalamanız gerekir. Eğer kendiniz kurmak istiyorsanız kullanıcı dizininizdeki PowershellModules'a kopyalayın. Kısayol oluşturmak için aşağıdaki satırı Explorer'a kopyalayın:
%UserProfile%\Documents\WindowsPowerShell\Modules
Tüm kullanıcılar için modüller yüklemek istiyorsanız Program Files\Windows PowerShell\Modules klasörünü kullanın . Kısayol oluşturmak için aşağıdaki satırı Explorer'a yapıştırın:
%ProgramFiles%\Windows PowerShell\Modules
Modüller klasöründe GNUPG adında yeni bir klasör oluşturun ve PSM1 dosyasını buraya yapıştırın.
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Modülü her kullandığınızda içe aktarmanız gerekir: Import-Module GnuPG . Ancak Set-ExecutionPolicy RemoteSigned cmdlet'ini çalıştırarak Yürütme'yi Sınırsız olarak ayarlayabilirsiniz .
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Bu Modülü yüklediğiniz için onu yerel dosya olarak işaretlemeniz gerekmektedir. Dosyaya sağ tıklayın ve Özellikler'i seçin . Daha sonra, iletişim kutusunda Engellemeyi kaldır seçeneğini işaretleyin . UAC iletişim kutusunda eylemi onayladığınızda modülü kullanmaya hazırsınız.
Cmdlet komutları
GPG4Win'i yüklemek için kullanılan ilk Cmdlet komutunu atlayın. Bu adımı tamamlamadıysanız programı kurmak ve yapılandırmak için bu cmdlet'i kullanabilirsiniz. Cmdlet onu seçtiğiniz bir dizine yükler ve yükleyiciyi çalıştırır. Diğer iki cmdlet komutu ek komutlardır: Şifreleme Ekle ve Şifrelemeyi Kaldır . Her ikisinin de üç parametresi var.
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
İlk parametre bir klasördür: -FolderPath . Bu modül, dosyayı şifrelemek veya şifresini çözmek için bir klasördeki her dosyayı inceleyecektir. Bunu Belgeler klasörüne yönlendirmek istemiyorsanız, bu komut dosyasıyla çalışacak bir çift alt klasör oluşturmalısınız. Modülün kaynak koduna bakarsanız, dizindeki her şeyi almak için Get-ChildItem'i kullanır. Şifre çözme işlevi, aramayı .GPG ile biten dosyalarla sınırlandırır.
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Bir sonraki parametre dosya şifreleme için kullanılan şifredir: -Password . Dosyalarınızı koruduğu için bu şifrenin karmaşık olduğundan emin olun. Bu işlev her dosyanın üzerinden ForEach döngüsüyle geçecektir. Dosya ve parola, GPG4Win için Başlatma Sürecinde bağımsız değişkenler olarak birleştirildi .
Son parametre olan -GPGPath isteğe bağlıdır. GPG4Win için varsayılan konum olarak kurulur. Başka bir sürücüye kurarsanız, Start-Process hedefini değiştirmek için bu parametreyi kullanarak güncelleyebilirsiniz .
Senaryo yaz
Artık süreci otomatikleştirmenin zamanı geldi. Bu komut dosyası bir klasördeki dosyaları şifreleyecek, şifresi çözülen dosyaları yeni bir klasöre taşıyacak ve orijinal dosyayı silecektir.
Öncelikle mport-Module GnuPG kullanarak modülü içe aktarın . Birkaç değişken ayarlamanız gerekir. İlk değişken $EncryptionTarget hedef dizindir. (Örneğin, geçerli kullanıcının belgeler dizinine işaret etmek için bir ortam değişkeni kullanılır). İkinci değişkeni parola olarak ayarlayın, bu adım parolayı değiştirmeyi kolaylaştırır.
İçe Aktarma Modülü GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Şifreleme Ekleme $EncryptionTarget -Password $Passphrase
Başlama-Uyku -Saniye 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg"
foreach ($EcnryptedFiles'ta $gpg){
Öğeyi Taşı - Yol $gpg.FullName -Hedef "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name - "*.gpg" gibi değil
foreach ($UnEcnryptedFiles'ta $nongpg){
Remove-Item -Path $nongpg.FullName -$false'ı onaylayın
}
Bu değişkenler parametre olarak Şifreleme Ekle'ye gider . Kullanıcı, dosya şifrelemenin tamamlanması için gereken süreyi ayarlamak için bir Uyku Başlat-Uyku kullanır ; örneğin süre üç dakikadır. Bu süre, üzerinde çalışılan dosyaların boyutuna ve sayısına göre değişebilir.
Get-ChildItem ile Where-Object'i birleştirerek bir .GPG dosyası elde edersiniz . Her dosyanın yeni bir dizine kopyalanması için ForEach döngüsünü kullanın . Bu adımları tekrarlayabilirsiniz, ancak ikinci bir ForEach döngüsünün orijinal dosyaları temizlemesi için -like'ı -notlike'ye dönüştürebilirsiniz.
Cron işlerini ayarlama
Artık komut dosyasına sahip olduğunuza göre zamanlanmış bir görev oluşturmanız gerekir. Görev Zamanlayıcı'yı açın ve Görev Oluştur'a tıklayın .
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Buna AutoEncrypt adını verin . Görevi yalnızca oturum açtığınızda çalıştırmak istiyorsanız ayarları varsayılan olarak bırakın. Kullanıcı oturum açsa da açmasa da çalışacak şekilde ayarlanmışsa, " Kullanıcı oturum açsa da açmasa da çalıştır " seçeneğini seçin; yalnızca bilgisayardaki klasörlere erişebilir. Ancak hedefiniz uzak bir bilgisayardaysa şifreyi saklamanız gerekir. Ayrıca ana hesabınızı korumak için ikincil bir hesap oluşturabilirsiniz.
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Tetikleyiciler sekmesine tıklayın ve koşulları ayarlayın. Daha sonra planlama penceresini açmak için Yeni'ye tıklayın . Ayarları varsayılan olarak bırakabilir, ardından Görevi Her Zaman Tekrarla seçeneğinin yanındaki kutuya tıklayıp bunu 5 Dakika olarak ayarlayabilirsiniz . İhtiyacınız acil değilse daha fazla zaman seçebilirsiniz. Şu sürenin yanındaki açılır menüden : Süresiz seçeneğini seçin , Görev Oluştur penceresine dönmek için Tamam'ı tıklayın.
![Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin Powershell kullanarak Windows'taki dosyaları otomatik olarak şifreleyin]()
Eylemler sekmesinde Yeni'ye tıklayın , açılan pencerede Program kutusunda Powershell'in yolunu ayarlayın :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
Bağımsız değişken kutusuna ./ ve komut dosyasının yolunu yazın. Tamam'a iki kez tıkladığınızda komut dosyası zamanlanmış bir görev olarak çalışacak şekilde ayarlanır.
Daha fazla gör: