Šifriranje in dešifriranje datotek je lahko nekoliko težavno delo. Z uporabo lupine PowerShell pa lahko ta postopek poenostavite na ukaz v eni vrstici. Za to moramo namestiti Gpg4win in modul Powershell. Uporabite skripte za avtomatizacijo postopka šifriranja in dešifriranja. Ta članek vam bo pokazal, kako samodejno šifrirati datoteke v sistemu Windows 10 s skriptom.
Pred začetkom morajo uporabniki namestiti in konfigurirati orodja GPG4Win . V tem modulu boste uporabljali funkcijo simetrične kriptografije GPG4Win.
Ta modul Powershell obravnava šifriranje datotek z geslom in ne s parom ključev. Moč šifriranja je odvisna od moči gesla . Uporabniki naj izberejo zapletena gesla, morda z uporabo orodja LastPass ali drugega upravitelja gesel . Končno dokončajte namestitev in nadaljujte z modulom Powershell.

Moduli Powershell so pakirani nabori funkcij, ki uporabljajo format datoteke PSM1. Te datoteke lahko shranite v mapo Modules v svojem profilu, nato pa modul dodate svoji seji/skriptu z uporabo Import-Module .
Na voljo so vsi cmdleti modulov. Ko napredujete v svojih veščinah Powershell, lahko ustvarite celo lastne module. Če želite namestiti modul za šifriranje datotek, prenesite modul s spletnega mesta TechNet . Nato ga morate kopirati v eno od map Modules. Če ga želite namestiti sami, ga kopirajte v PowershellModules v vašem uporabniškem imeniku. Kopirajte spodnjo vrstico v Raziskovalec, da ustvarite bližnjico:
%UserProfile%\Documents\WindowsPowerShell\Modules
Če želite namestiti module za vse uporabnike, uporabite mapo Program Files\Windows PowerShell\Modules . Prilepite naslednjo vrstico v Raziskovalec, da ustvarite bližnjico:
%ProgramFiles%\Windows PowerShell\Modules
Ustvarite novo mapo z imenom GNUPG v mapi Moduli in tja prilepite datoteko PSM1.

Modul morate uvoziti vsakič, ko ga uporabite: Import-Module GnuPG . Vendar pa lahko prilagodite Izvajanje na Neomejeno tako, da zaženete ukaz cmdlet Set-ExecutionPolicy RemoteSigned .

Ker ste naložili ta modul, ga morate označiti kot lokalno datoteko. Desni klik na datoteko in izberite Lastnosti . Nato v pogovornem oknu označite Odblokiraj . Potrdite dejanje v pogovornem oknu UAC in nastavljeni ste za uporabo modula.
Ukazi cmdlet
Preskočite prvi ukaz Cmdlet, uporabljen za namestitev GPG4Win. Če tega koraka niste dokončali, lahko uporabite ta cmdlet za namestitev in konfiguracijo programa. Cmdlet ga naloži v imenik po vaši izbiri in zažene namestitveni program. Druga dva ukaza cmdlet sta dodatna: Add-Encryption in Remove-Encryption . Oba imata tri parametre.

Prvi parameter je mapa: -FolderPath . Ta modul bo pregledal vsako datoteko v mapi za šifriranje ali dešifriranje datoteke. Če ga ne želite usmeriti v mapo Dokumenti, ustvarite par podmap za delo s tem skriptom. Če pogledate izvorno kodo modula, ta uporablja Get-ChildItem , da pridobi vse v imeniku. Funkcija dešifriranja omeji iskanje na datoteke, ki se končajo z .GPG.

Naslednji parameter je geslo, ki se uporablja za šifriranje datoteke: -Password . Prepričajte se, da je to geslo zapleteno, saj ščiti vaše datoteke. Ta funkcija bo šla skozi vsako datoteko z zanko ForEach. Datoteka in geslo sta združena kot argumenta v Start-Process za GPG4Win.
Zadnji parameter, -GPGPath , ni obvezen. Nameščen je kot privzeta lokacija za GPG4Win. Če ga namestite na drug pogon, ga lahko posodobite s tem parametrom, da spremenite cilj za Start-Process .
Pišite scenarije
Zdaj je čas za avtomatizacijo postopka. Ta skript bo šifriral datoteke v mapi, premaknil dešifrirane datoteke v novo mapo in izbrisal izvirno datoteko.
Najprej uvozite modul z uporabo mport-Module GnuPG . Nastaviti morate nekaj spremenljivk. Prva spremenljivka $EncryptionTarget je ciljni imenik. (Na primer, spremenljivka okolja se uporablja za kazanje na imenik dokumentov trenutnega uporabnika). Nastavite drugo spremenljivko kot geslo, ta korak olajša spreminjanje gesla.
Uvozni modul GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Add-Encryption $EncryptionTarget -Password $Passphrase
Start-Sleep -Sekund 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -kot "*.gpg"
foreach ($gpg v $EcnryptedFiles){
Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -notlike "*.gpg"
foreach ($nongpg v $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Confirm $false
}
Te spremenljivke gredo v Add-Encryption kot parametre. Uporabnik uporablja Start-Sleep za nastavitev časa za dokončanje šifriranja datoteke, na primer čas je tri minute. Ta čas se lahko razlikuje glede na velikost in število datotek, ki jih obdelujete.
Datoteko .GPG dobite s kombinacijo Get-ChildItem in Where-Object . Uporabite zanko ForEach , da se vsaka datoteka prekopira v nov imenik. Te korake lahko ponovite, vendar pretvorite -like v -notlike, tako da druga zanka ForEach počisti izvirne datoteke.
Nastavite opravila cron
Zdaj, ko imate skript, morate ustvariti načrtovano nalogo. Odprite razporejevalnik opravil in kliknite Ustvari opravilo .

Poimenujte ga AutoEncrypt . Če želite opravilo zagnati le, ko ste prijavljeni, pustite nastavitve privzete. Če je nastavljeno na zagon ne glede na to, ali je uporabnik prijavljen ali ne, izberite » Zaženi ne glede na to, ali je uporabnik prijavljen ali ne «, lahko dostopa samo do map v računalniku. Če pa je vaš cilj na oddaljenem računalniku, morate geslo shraniti. Poleg tega lahko nastavite sekundarni račun, da zaščitite svoj glavni račun.

Kliknite zavihek Sprožilci in nastavite pogoje. Nato kliknite Novo , da odprete okno za razporejanje. Nastavitve lahko pustite kot privzete, nato kliknite polje zraven Ponovi opravilo vsako in ga nastavite na 5 minut . Izberete lahko več časa, če vaša potreba ni nujna. V spustnem meniju poleg možnosti za trajanje: izberite Neomejeno , kliknite V redu, da se vrnete v okno Ustvari nalogo.

Na zavihku Dejanja kliknite Novo , v pojavnem oknu nastavite pot do Powershell v polju Program :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
V polje argumentov vnesite ./ in pot do skripta. Dvakrat kliknite V redu in skript se bo izvajal kot načrtovano opravilo.
Poglej več: