Criptarea și decriptarea fișierelor poate fi o treabă puțin dificilă. Cu toate acestea, folosind PowerShell , puteți simplifica acest proces la o comandă dintr-o singură linie. Pentru a face acest lucru, trebuie să instalăm Gpg4win și un modul Powershell. Utilizați scripturi pentru a automatiza procesul de criptare și decriptare. Acest articol vă va arăta cum să criptați automat fișierele în Windows 10 cu un script.
Înainte de a începe, utilizatorii trebuie să instaleze și să configureze instrumentele GPG4Win . Veți folosi funcționalitatea de criptare simetrică a GPG4Win în acest modul.
Acest modul Powershell gestionează criptarea fișierelor cu o parolă, mai degrabă decât cu o pereche de chei. Puterea criptării depinde de puterea parolei . Utilizatorii ar trebui să aleagă parole complexe, poate folosind instrumentul LastPass sau un alt manager de parole . În cele din urmă, finalizați instalarea și treceți la modulul Powershell.

Modulele Powershell sunt seturi de funcții ambalate, folosind formatul de fișier PSM1. Puteți salva aceste fișiere în folderul Module din profilul dvs., apoi adăugați Modulul la sesiunea/scriptul dvs. utilizând Import-Module .
Toate cmdleturile modulului sunt disponibile. Pe măsură ce vă avansați abilitățile Powershell, puteți chiar să vă creați propriile module. Pentru a instala modulul de criptare a fișierelor, descărcați modulul din TechNet . Apoi, trebuie să îl copiați într-unul dintre folderele Module. Dacă doriți să îl instalați singur, copiați-l în PowershellModules din directorul dvs. de utilizatori. Copiați linia de mai jos în Explorer pentru a crea o comandă rapidă:
%UserProfile%\Documents\WindowsPowerShell\Modules
Dacă doriți să instalați module pentru toți utilizatorii, utilizați folderul Program Files\Windows PowerShell\Modules . Lipiți următoarea linie în Explorer pentru a crea o comandă rapidă:
%ProgramFiles%\Windows PowerShell\Modules
Creați un folder nou numit GNUPG în folderul Modules și inserați fișierul PSM1 acolo.
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Trebuie să importați modulul de fiecare dată când îl utilizați: Import-Module GnuPG . Cu toate acestea, puteți ajusta Execution la Unrestricted rulând cmdletul Set-ExecutionPolicy RemoteSigned .
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Deoarece ați încărcat acest modul, trebuie să-l marcați ca fișier local. Faceți clic dreapta pe fișier și selectați Proprietăți . Apoi, în caseta de dialog, bifați Deblocare . Confirmați acțiunea în caseta de dialog UAC și sunteți setat să utilizați modulul.
Comenzi cmdlet
Omite prima comandă cmdlet, folosită pentru a instala GPG4Win. Dacă nu ați finalizat acest pas, puteți utiliza acest cmdlet pentru a instala și configura programul. Cmdletul îl încarcă într-un director la alegere și rulează programul de instalare. Celelalte două comenzi cmdlet sunt suplimentare: Add-Encryption și Remove-Encryption . Ambele au trei parametri.
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Primul parametru este un folder: -FolderPath . Acest modul va parcurge fiecare fișier dintr-un folder pentru a cripta sau decripta fișierul. Dacă nu doriți să îl îndreptați către folderul Documente, ar trebui să creați o pereche de subdosare pentru a lucra cu acest script. Dacă te uiți la codul sursă al Modulului, acesta folosește Get-ChildItem pentru a obține totul din director. Funcția de decriptare restricționează căutarea la fișierele care se termină în .GPG.
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Următorul parametru este parola folosită pentru criptarea fișierelor: -Password . Asigurați-vă că această parolă este complexă, deoarece vă protejează fișierele. Această funcție va trece prin fiecare fișier cu o buclă ForEach. Fișier și parola combinate ca argumente în Start-Process pentru GPG4Win.
Ultimul parametru, -GPGPath este opțional. Este instalat ca locație implicită pentru GPG4Win. Dacă îl instalați pe o altă unitate, îl puteți actualiza folosind acest parametru pentru a schimba ținta pentru Start-Process .
Scrieți scenarii
Acum este timpul să automatizăm procesul. Acest script va cripta fișierele dintr-un folder, va muta fișierele decriptate într-un folder nou și va șterge fișierul original.
Mai întâi, importați modulul folosind mport-Module GnuPG . Trebuie să configurați câteva variabile. Prima variabilă $EncryptionTarget este directorul țintă. (De exemplu, o variabilă de mediu este utilizată pentru a indica directorul de documente al utilizatorului curent). Setați a doua variabilă ca expresie de acces, acest pas ușurează schimbarea parolei.
Import-Module GnuPG
$EncryptionTarget = „$($env:USERPROFILE)\Documents\Files-ToEncrypt”
$Passphrase = „MakeAVeryLongSecurePhrase”
Adaugă criptare $EncryptionTarget -Parolă $Passphrase
Start-Sleep - 60 secunde
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Unde-Obiect $_.Nume -cum ar fi „*.gpg”
foreach ($gpg în $EcnryptedFiles){
Move-Item -Path $gpg.FullName -Destinație „$($env:USERPROFILE)\Documents\$($gpg.Name)”
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Unde-Obiect $_.Nume -nu este ca „*.gpg”
foreach ($nongpg în $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Confirm $false
}
Aceste variabile merg la Add-Encryption ca parametri. Utilizatorul folosește un Start-Sleep pentru a seta timpul pentru finalizarea criptării fișierelor, de exemplu, timpul este de trei minute. Acest timp poate varia în funcție de dimensiunea și numărul de fișiere la care se lucrează.
Obțineți un fișier .GPG combinând Get-ChildItem cu Where-Object . Utilizați o buclă ForEach , astfel încât fiecare fișier să fie copiat într-un director nou. Puteți repeta acești pași, dar convertiți -like în -notlike, astfel încât o a doua buclă ForEach să curețe fișierele originale.
Configurați joburi cron
Acum că aveți scriptul, trebuie să creați o sarcină programată. Deschideți Task Scheduler și faceți clic pe Create Task .
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Numiți-i AutoEncrypt . Dacă doriți să rulați sarcina numai când sunteți autentificat, lăsați setările ca implicite. Dacă este setat să ruleze indiferent dacă utilizatorul este conectat sau nu, selectați „ Rulați dacă utilizatorul este conectat sau nu ”, acesta poate accesa doar folderele de pe computer. Cu toate acestea, dacă destinația dvs. este pe un computer la distanță, trebuie să stocați parola. În plus, puteți configura un cont secundar pentru a vă proteja contul principal.
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
Faceți clic pe fila Declanșatoare și setați condițiile. Apoi, faceți clic pe Nou pentru a deschide fereastra de programare. Puteți lăsa setările implicite, apoi faceți clic pe caseta de lângă Repetați sarcina la fiecare și setați-o la 5 minute . Puteți alege mai mult timp dacă nevoia dvs. nu este urgentă. În meniul derulant de lângă pentru durata de: selectați Nedefinit , faceți clic pe OK pentru a reveni la fereastra Creare activitate.
![Criptați automat fișierele în Windows folosind Powershell Criptați automat fișierele în Windows folosind Powershell]()
În fila Acțiuni , faceți clic pe Nou , în fereastra pop-up, setați calea către Powershell în caseta Program :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
În caseta cu argumente, puneți ./ și calea către script. Faceți clic pe OK de două ori și scriptul este setat să ruleze ca sarcină programată.
Vezi mai mult: