Automatizați criptarea fișierelor în Windows cu acest script Powershell

Automatizați criptarea fișierelor în Windows cu acest script Powershell / Programare

File de criptare și decriptare fișier poate fi un pic de lucru Nu crede aceste 5 mituri despre criptare! Nu credeți aceste 5 mituri despre criptare! Criptarea sună complexă, dar este mult mai simplă decât cred majoritatea. Cu toate acestea, s-ar putea să vă simțiți puțin prea întunecat pentru a face uz de criptare, deci să bați niște mituri de criptare! Citeste mai mult . Cu toate acestea, utilizând o extensie PowerShell, puteți reduce procesul la o comandă de o singură linie. Pentru a face acest lucru, trebuie să instalăm Gpg4win și un modul Powershell. Folosind scripturile, putem automatiza procesul de criptare și decriptare a fișierelor.

Să aruncăm o privire la modul de criptare automată a fișierelor în Windows 10 cu un script.

Cerințele preliminare: instalări, module și certificate

Veți dori să aveți instrumentele GPG4Win instalate și configurate înainte de a începe. Accesați pagina proiectului și descărcați cea mai recentă versiune. (Dacă aveți nevoie de unele instrucțiuni de instalare și configurare a instrumentului, utilizați acest ghid PDF.) Veți folosi funcția de cifru simetric al GPG4Win în acest modul.

Acest modul Powershell se ocupă de criptarea fișierelor utilizând o parolă de acces mai degrabă decât o cheie cheie Cum funcționează criptarea și este într-adevăr sigură? Cum funcționează criptarea și este într-adevăr sigură? Citeste mai mult . Puterea criptare depinde de puterea frazei de acces. Ar trebui să vă asigurați că alegeți ceva complex. Gestionați-l utilizând LastPass sau un alt manager de parole Master Passwords For Good With Lastpass 'Security Challenge Învățați-vă parolele pentru bine cu Lastpass' Provocarea de securitate Noi petrecem atât de mult timp online, cu atât de multe conturi, că amintirea parolelor poate fi foarte dificilă. Preocupat de riscuri? Aflați cum să utilizați LastPass 'Security Challenge pentru a vă îmbunătăți igiena de securitate. Citeste mai mult . În cele din urmă, finalizați instalarea și treceți la modulul Powershell.

Modulele Powershell sunt colecții de funcții ambalate. Ei folosesc formatul de fișier PSM1. Salvați aceste fișiere în directorul Module din profilul dvs. Apoi, adăugați modulul în sesiunea / scriptul dvs. utilizând Import-Module.

Sunt disponibile toate cmdleturile modulului. Pe măsură ce avansezi abilitățile tale Powershell, poți chiar să-ți creezi propriile module. Pentru a instala modulul Criptare, descărcați-l din TechNet.

Apoi, trebuie să o copiați într-unul din directoarele Module. Dacă doriți să îl instalați numai pentru dvs., copiați-l în PowershellModules în dosarul dvs. de utilizator. Copiați acest lucru în Explorer pentru o comandă rapidă:

% USERPROFILE% \ Documents \ WindowsPowerShell \ Module

Dacă doriți să instalați modulul pentru toți utilizatorii, utilizați Fișierele programului \ Windows PowerShell \ Modules pliant. Inserați acest lucru în Explorer pentru o comandă rapidă:

% ProgramFiles% \ Windows PowerShell \ Module

Creați un nou folder denumit GNUPG în directorul Module și inserați fișierul PSM1 în el.

Va trebui să importați modulul de fiecare dată utilizând: Modul de import GnuPG. Cu toate acestea, poate fi necesar să vă ajustați Politica de Executare la Nerestricționat. Faceți acest lucru executând cmdlet-ul Set-ExecutionPolicy RemoteSigned.

De când ați descă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, faceți clic pe deblocaţi. Confirmați acțiunea în caseta de dialog UAC și ați setat să utilizați modulul.

Lucrul cu Cmdlets

Sari peste primul Cmdlet, care este folosit pentru a instala GPG4Win PGP Me: Destul de bun de confidențialitate Explicat PGP Me: destul de bună de confidențialitate Explained destul de bun de confidențialitate este o metodă pentru criptarea mesajelor între două persoane. Iată cum funcționează și dacă se ridică la control. Citeste mai mult . Ar fi trebuit să faceți deja acest pas. Dacă nu, puteți folosi acest cmdlet pentru a instala și configura programul. Cumpărătorul îl descarcă într-un folder pe care îl alegeți și execută programul de instalare. Celelalte două sunt complementare: Add-criptare și Eliminați-criptare. Ambele au trei parametri.

Primul este un director, trecut ca -CaleFolder. Modulul va trece prin fiecare fișier dintr-un director pentru a aplica sau elimina criptarea fișierelor. Nu doriți să o indicați în dosarul Documente. Ați dori să creați câteva subdosare pentru a lucra cu acest script. Dacă te uiți la codul sursă al modulului, folosește Get-ChildItem pentru a obține totul în director. Funcția de decriptare limitează căutarea la fișierele care se termină în .GPG.

Următorul parametru este fraza de acces folosită pentru criptarea fișierelor: -Parola. Asigurați-vă că acest lucru este complex, deoarece este protecția fișierului dvs. Funcția trece prin fiecare fișier cu o buclă ForEach. Fișierul și fraza de acces se combină ca argumente în Start-proces pentru GPG4Win.

Parametrul final, -GPGPath nu este obligatorie. Este setat la locația implicită de instalare pentru GPG4Win. Dacă aveți o altă unitate, o puteți actualiza utilizând acest parametru. Modifică ținta pentru Start-proces.

Scrierea scriptului

Acum este timpul pentru automatizarea procesului. Acest script va cripta fișierele dintr-un director. Mutați fișierele decriptate într-un director nou. Scriptul va șterge fișierul original.

Porniți scenariul cu unele pregătiri. Mai întâi, importați modulul folosind Modul de import GnuPG. Trebuie să setați câteva variabile. Prima variabilă $ EncryptionTarget este dosarul țintă. (În exemplu, o variabilă de mediu este folosită pentru a indica dosarul documentului curent al utilizatorului.) Setați a doua variabilă ca expresie de acces. Acest pas face mai ușor să îl schimbați mai târziu.

Import-Module GnuPG $ EncryptionTarget = "$ ($ env: USERPROFILE) \ Documents \ Files-ToEncrypt" $ Passphrase = "MakeAVeryLongSecurePhrase" Add-Encryption $ EncryptionTarget -Password $ Passphrase Start-Sleep -Seconds $ $ EcnryptedFiles = Get- ChildItem $ EncryptionTarget | ($ Gpg în $ EcnryptedFiles) Move-Item -Path $ gpg.FullName-Destinație "$ ($ env: USERPROFILE) \ Documents \ $ ($ gpg. Nume) " $ UnEncryptedFiles = Get-ChildItem $ EncryptionTarget | ($ Nongpg în $ UnEcnryptedFiles) Remove-Item -Path $ nongpg.FullName -Confirm $ false 

Aceste variabile merg la Add-criptare ca parametri. Folosiți a Start-Sleep pentru a da timpul de criptare a fișierului pentru a fi finalizat. Exemplul folosește trei minute. Puteți să o modificați în funcție de dimensiunea și numărul de fișiere cu care lucrați.

Puteți obține fișierele .GPG prin combinarea acestora Get-ChildItem cu În cazul în care-obiect. Folosind un Pentru fiecare bucla, fiecare dintre aceste fișiere este copiat într-un director nou. Repetăm ​​acești pași, dar comutând -ca pentru - nu. A al doilea Pentru fiecare buclă curăță fișierele originale.

Setarea sarcinii recurente

Aveți scriptul, acum aveți nevoie pentru a crea o sarcină programată Rulați programe automat Folosind Windows Task Scheduler Run Programe automate Utilizarea Windows Task Scheduler Citiți mai multe. Deschideți Task Scheduler și faceți clic pe Creați o sarcină.

Nume ceva de genul AutoEncrypt. Dacă doriți ca sarcina să ruleze numai când sunteți conectat (ă), trebuie doar să lăsați valoarea implicită. Dacă îl setați să ruleze indiferent, poate accesa numai directoarele locale. Cu toate acestea, dacă destinația dvs. se află pe o mașină de la distanță, trebuie să stocați parola pentru ca lucrarea să se execute. Poate doriți să configurați un cont secundar Cum se creează conturi clienți restricționați în Windows 10 Calea simplă Cum se creează conturi de clienți restricționați în Windows 10 Easy Way Windows 10 a eliminat contul Guest, dar puteți să vă faceți propriul în doar câteva minute. Aceasta este o modalitate excelentă de a permite oricui să vă utilizeze computerul fără să vă acceseze datele. Citiți mai multe pentru a proteja securitatea contului dvs. principal.

Faceți clic pe declanșatoare și setarea condițiilor. Apoi, faceți clic pe Nou pentru a scoate fereastra de planificare. Puteți lăsa setările de declanșare setate la setările implicite. Dați clic pe caseta de selectare de lângă Repetați sarcina în fiecare și puneți-o la dispoziție 5 minute. Puteți alege să rulați acest lucru mai rar dacă nevoia dvs. nu este urgentă. În meniul derulant de lângă pe durata: Selectați Pe termen nelimitat. Clic O.K pentru a reveni la fereastra Create Task.

Pe acţiuni fila, faceți clic pe Nou. În fereastra pop-up, puneți calea către Powershell în caseta Program:

% SystemRoot% / sistem32 / Windows PowerShell / v1.0 / powershell.exe

În caseta cu argumente ./ și calea către scenariul tău. Clic O.K de două ori, iar scriptul dvs. este setat să funcționeze ca sarcină programată.

Unele probleme de securitate și alte idei

Rețineți că aveți codul de trecere pentru a decripta fișierele de pe aceeași mașină în care le depozitați. Aceste tipuri de criptare a fișierelor sunt mai degrabă pentru criptarea unui fișier înainte de a le trimite sau pentru a le stoca pe altă mașină. (Dacă doriți un sistem de fișiere blocat, utilizați Full Disk Encryption TrueCrypt este mort: 4 alternative de criptare a discurilor pentru Windows TrueCrypt este mort: 4 alternative de criptare a discurilor pentru Windows TrueCrypt nu mai există, dar din fericire există și alte programe utile de criptare. pot să nu fie înlocuiri exacte, acestea ar trebui să se potrivească nevoilor dvs. Citiți mai multe.) Puteți configura o sarcină similară pentru a face același lucru cu decriptarea.

Aveți un proiect care are nevoie de un script rapid și murdar de criptare a fișierelor? Spuneți-ne în comentariile.

Explorați mai multe despre: criptare, securitate online.