Menyulitkan fail dan menyahsulit fail boleh menjadi kerja yang agak sukar. Walau bagaimanapun, dengan menggunakan PowerShell , anda boleh memudahkan proses ini kepada hanya arahan satu baris. Untuk melakukan ini, kita perlu memasang Gpg4win dan modul Powershell. Gunakan skrip untuk mengautomasikan proses penyulitan dan penyahsulitan. Artikel ini akan menunjukkan kepada anda cara menyulitkan fail secara automatik dalam Windows 10 dengan skrip.
Sebelum bermula, pengguna perlu memasang dan mengkonfigurasi alatan GPG4Win . Anda akan menggunakan fungsi kriptografi simetri GPG4Win dalam modul ini.
Modul Powershell ini mengendalikan penyulitan fail dengan kata laluan dan bukannya pasangan kekunci. Kekuatan penyulitan bergantung pada kekuatan kata laluan . Pengguna harus memilih kata laluan yang kompleks, mungkin menggunakan alat LastPass atau pengurus kata laluan lain . Akhir sekali, selesaikan pemasangan dan teruskan ke Modul Powershell.

Modul Powershell ialah set fungsi yang dibungkus, menggunakan format fail PSM1. Anda boleh menyimpan fail ini dalam folder Modul dalam profil anda, kemudian tambahkan Modul pada sesi/skrip anda menggunakan Import-Module .
Semua cmdlet modul tersedia. Sambil anda memajukan kemahiran Powershell anda, anda juga boleh membuat modul anda sendiri. Untuk memasang modul penyulitan fail, muat turun modul daripada TechNet . Seterusnya, anda perlu menyalinnya ke dalam salah satu folder Modul. Jika anda ingin memasangnya sendiri, salin ke PowershellModules dalam direktori pengguna anda. Salin baris di bawah ke dalam Explorer untuk membuat pintasan:
%UserProfile%\Documents\WindowsPowerShell\Modules
Jika anda ingin memasang modul untuk semua pengguna, gunakan folder Program Files\Windows PowerShell\Modules . Tampalkan baris berikut ke dalam Explorer untuk membuat pintasan:
%ProgramFiles%\Windows PowerShell\Modules
Cipta folder baharu yang dipanggil GNUPG dalam folder Modul dan tampal fail PSM1 di sana.
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Anda perlu mengimport modul setiap kali anda menggunakannya: Import-Module GnuPG . Walau bagaimanapun, anda boleh melaraskan Pelaksanaan kepada Tidak Terhad dengan menjalankan cmdlet Set-ExecutionPolicy RemoteSigned .
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Memandangkan anda telah memuatkan Modul ini, anda perlu menandakannya sebagai fail setempat. Klik kanan pada fail dan pilih Properties . Seterusnya, dalam kotak dialog, tandai Nyahsekat . Sahkan tindakan dalam kotak dialog UAC dan anda ditetapkan untuk menggunakan modul.
Perintah Cmdlet
Langkau arahan Cmdlet pertama, digunakan untuk memasang GPG4Win. Jika anda belum menyelesaikan langkah ini, anda boleh menggunakan cmdlet ini untuk memasang dan mengkonfigurasi atur cara. Cmdlet memuatkannya ke dalam direktori pilihan anda dan menjalankan pemasang. Dua lagi arahan cmdlet adalah tambahan: Add-Encryption dan Remove-Encryption . Kedua-duanya mempunyai tiga parameter.
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Parameter pertama ialah folder: -FolderPath . Modul ini akan melalui setiap fail dalam folder untuk menyulitkan atau menyahsulit fail. Jika anda tidak mahu menghalakannya ke folder Dokumen, anda harus membuat sepasang subfolder untuk berfungsi dengan skrip ini. Jika anda melihat pada kod sumber Modul, ia menggunakan Get-ChildItem untuk mendapatkan segala-galanya dalam direktori. Fungsi penyahsulitan mengehadkan carian kepada fail yang berakhir dengan .GPG.
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Parameter seterusnya ialah kata laluan yang digunakan untuk penyulitan fail: -Kata Laluan . Pastikan kata laluan ini rumit, kerana ia melindungi fail anda. Fungsi ini akan melalui setiap fail dengan gelung ForEach. Fail dan kata laluan digabungkan sebagai argumen dalam Proses Mula untuk GPG4Win.
Parameter terakhir, -GPGPath adalah pilihan. Ia dipasang sebagai lokasi lalai untuk GPG4Win. Jika anda memasangnya pada pemacu lain, anda boleh mengemas kininya menggunakan parameter ini untuk menukar sasaran untuk Mula-Proses .
Tulis skrip
Kini tiba masanya untuk mengautomasikan proses. Skrip ini akan menyulitkan fail dalam folder, memindahkan fail yang dinyahsulit ke dalam folder baharu dan memadamkan fail asal.
Mula-mula, import modul menggunakan mport-Module GnuPG . Anda perlu menyediakan beberapa pembolehubah. Pembolehubah pertama $EncryptionTarget ialah direktori sasaran. (Sebagai contoh, pembolehubah persekitaran digunakan untuk menunjuk ke direktori dokumen pengguna semasa). Tetapkan pembolehubah kedua sebagai frasa laluan, langkah ini memudahkan penukaran kata laluan.
Import-Modul GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecureFhrase"
Tambah-Penyulitan $EncryptionTarget -Kata Laluan $Frasa Laluan
Mula-Tidur -Saat 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg"
foreach ($gpg dalam $EcnryptedFiles){
Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -tidak seperti "*.gpg"
foreach ($nongpg dalam $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Sahkan $false
}
Pembolehubah ini pergi ke Tambah-Penyulitan sebagai parameter. Pengguna menggunakan Start-Sleep untuk menetapkan masa untuk melengkapkan penyulitan fail, contohnya masa tiga minit. Masa ini mungkin berbeza-beza berdasarkan saiz dan bilangan fail yang sedang diusahakan.
Anda mendapat fail .GPG dengan menggabungkan Get-ChildItem dengan Where-Object . Gunakan gelung ForEach supaya setiap fail disalin ke dalam direktori baharu. Anda boleh mengulangi langkah ini, tetapi tukar -suka kepada -tidak suka supaya gelung ForEach kedua membersihkan fail asal.
Sediakan kerja cron
Sekarang anda mempunyai skrip yang anda perlukan untuk membuat tugas yang dijadualkan. Buka Penjadual Tugas dan klik Cipta Tugas .
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Namakannya AutoEncrypt . Jika anda hanya mahu menjalankan tugas apabila log masuk, biarkan tetapan sebagai lalai. Jika ditetapkan untuk dijalankan sama ada pengguna dilog masuk atau tidak, pilih " Jalankan sama ada pengguna dilog masuk atau tidak ", ia hanya boleh mengakses folder pada komputer. Walau bagaimanapun, jika destinasi anda adalah pada komputer jauh, anda perlu menyimpan kata laluan. Selain itu, anda boleh menyediakan akaun kedua untuk melindungi akaun utama anda.
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Klik pada tab Pencetus dan tetapkan syarat. Seterusnya, klik Baharu untuk membuka tetingkap penjadualan. Anda boleh membiarkan tetapan sebagai lalai, kemudian klik pada kotak di sebelah Repeat Task Every dan tetapkannya kepada 5 Minit . Anda boleh memilih lebih banyak masa jika keperluan anda tidak mendesak. Dalam menu lungsur di sebelah untuk tempoh: pilih Selamanya , klik OK untuk kembali ke tetingkap Cipta Tugas.
![Sulitkan fail secara automatik dalam Windows menggunakan Powershell Sulitkan fail secara automatik dalam Windows menggunakan Powershell]()
Pada tab Tindakan , klik Baharu , dalam tetingkap timbul, tetapkan laluan ke Powershell dalam kotak Program :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
Dalam kotak hujah, letakkan ./ dan laluan ke skrip. Klik OK dua kali dan skrip ditetapkan untuk dijalankan sebagai tugas yang dijadualkan.
Lihat lagi: