Šifrování souborů a dešifrování souborů může být trochu obtížná práce. Pomocí PowerShellu však můžete tento proces zjednodušit na jednořádkový příkaz. K tomu potřebujeme nainstalovat Gpg4win a modul Powershell. Použijte skripty k automatizaci procesu šifrování a dešifrování. Tento článek vám ukáže, jak automaticky šifrovat soubory ve Windows 10 pomocí skriptu.
Před zahájením musí uživatelé nainstalovat a nakonfigurovat nástroje GPG4Win . V tomto modulu využijete funkcionalitu symetrické kryptografie GPG4Win.
Tento modul Powershell zpracovává šifrování souborů pomocí hesla, nikoli pomocí páru klíčů. Síla šifrování závisí na síle hesla . Uživatelé by si měli zvolit složitá hesla, možná pomocí nástroje LastPass nebo jiného správce hesel . Nakonec dokončete instalaci a přejděte k modulu Powershell.

Moduly Powershell jsou zabalené sady funkcí využívající souborový formát PSM1. Tyto soubory můžete uložit do složky Moduly ve svém profilu a poté přidat modul do své relace/skriptu pomocí Import-Module .
K dispozici jsou všechny rutiny modulu. Jak budete rozvíjet své dovednosti Powershell, můžete dokonce vytvářet své vlastní moduly. Chcete-li nainstalovat modul pro šifrování souborů, stáhněte si modul z TechNet . Dále jej musíte zkopírovat do jedné ze složek Modules. Pokud si jej chcete nainstalovat sami, zkopírujte jej do PowershellModules ve vašem uživatelském adresáři. Zkopírujte řádek níže do Průzkumníka a vytvořte zástupce:
%UserProfile%\Documents\WindowsPowerShell\Modules
Pokud chcete nainstalovat moduly pro všechny uživatele, použijte složku Program Files\Windows PowerShell\Modules . Vložte následující řádek do Průzkumníka a vytvořte zástupce:
%ProgramFiles%\Windows PowerShell\Modules
Ve složce Modules vytvořte novou složku s názvem GNUPG a vložte do ní soubor PSM1.

Modul musíte importovat pokaždé, když jej použijete: Import-Module GnuPG . Spuštění však můžete upravit na Neomezené spuštěním rutiny Set-ExecutionPolicy RemoteSigned .

Protože jste načetli tento modul, musíte jej označit jako místní soubor. Klikněte pravým tlačítkem na soubor a vyberte Vlastnosti . Dále v dialogovém okně zaškrtněte políčko Odblokovat . Potvrďte akci v dialogovém okně UAC a jste připraveni používat modul.
Příkazy rutiny
Přeskočte první příkaz Cmdlet, který se používá k instalaci GPG4Win. Pokud jste tento krok nedokončili, můžete tuto rutinu použít k instalaci a konfiguraci programu. Rutina ji načte do vámi zvoleného adresáře a spustí instalační program. Další dva příkazy cmdlet jsou dodatečné: Add-Encryption a Remove-Encryption . Oba mají tři parametry.

Prvním parametrem je složka: -FolderPath . Tento modul projde každý soubor ve složce, aby jej zašifroval nebo dešifroval. Pokud jej nechcete ukazovat na složku Dokumenty, měli byste vytvořit dvojici podsložek pro práci s tímto skriptem. Pokud se podíváte na zdrojový kód modulu, používá Get-ChildItem k získání všeho v adresáři. Funkce dešifrování omezuje vyhledávání na soubory končící na .GPG.

Dalším parametrem je heslo používané pro šifrování souboru: -Password . Ujistěte se, že toto heslo je složité, protože chrání vaše soubory. Tato funkce projde každý soubor smyčkou ForEach. Soubor a heslo kombinované jako argumenty v Start-Process pro GPG4Win.
Poslední parametr -GPGPath je volitelný. Je nainstalován jako výchozí umístění pro GPG4Win. Pokud jej nainstalujete na jiný disk, můžete jej aktualizovat pomocí tohoto parametru a změnit tak cíl pro Start-Process .
Pište skripty
Nyní je čas na automatizaci procesu. Tento skript zašifruje soubory ve složce, přesune dešifrované soubory do nové složky a odstraní původní soubor.
Nejprve naimportujte modul pomocí mport-Module GnuPG . Musíte nastavit několik proměnných. První proměnná $EncryptionTarget je cílový adresář. (Například proměnná prostředí se používá k tomu, aby ukazovala na adresář dokumentů aktuálního uživatele). Nastavte druhou proměnnou jako přístupovou frázi, tento krok usnadňuje změnu hesla.
Import-modul GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Add-Encryption $EncryptionTarget -Password $Passphrase
Start-Sleep-Sekundy 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name – jako „*.gpg“
foreach ($gpg v $EcnryptedFiles){
Přesunout položku -Cesta $gpg.FullName -Cíl "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -ne jako "*.gpg"
foreach ($nongpg v $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Potvrdit $false
}
Tyto proměnné jdou do Add-Encryption jako parametry. Uživatel používá Start-Sleep k nastavení času pro dokončení šifrování souboru, například čas je tři minuty. Tato doba se může lišit v závislosti na velikosti a počtu souborů, se kterými se pracuje.
Soubor .GPG získáte kombinací Get-ChildItem a Where-Object . Použijte smyčku ForEach , aby byl každý soubor zkopírován do nového adresáře. Tyto kroky můžete opakovat, ale převeďte -like na -notlike, aby druhá smyčka ForEach vyčistila původní soubory.
Nastavte úlohy cronu
Nyní, když máte skript, potřebujete vytvořit naplánovanou úlohu. Otevřete Plánovač úloh a klikněte na Vytvořit úlohu .

Pojmenujte to AutoEncrypt . Pokud chcete úlohu spustit pouze při přihlášení, ponechte nastavení jako výchozí. Pokud je nastaveno spouštění bez ohledu na to, zda je uživatel přihlášen nebo ne, vyberte možnost „ Spustit, zda je uživatel přihlášen nebo ne “, bude mít přístup pouze ke složkám v počítači. Pokud je však váš cíl na vzdáleném počítači, musíte si heslo uložit. Navíc si můžete nastavit sekundární účet, abyste ochránili svůj hlavní účet.

Klikněte na kartu Spouštěče a nastavte podmínky. Poté kliknutím na tlačítko Nový otevřete okno plánování. Můžete ponechat nastavení jako výchozí a poté kliknout na políčko vedle položky Opakovat úkol každý a nastavit jej na 5 minut . Pokud vaše potřeba není naléhavá, můžete si vybrat více času. V rozevírací nabídce vedle položky po dobu trvání: vyberte možnost Na dobu neurčitou , kliknutím na tlačítko OK se vraťte do okna Vytvořit úlohu.

Na kartě Akce klikněte na Nový , ve vyskakovacím okně nastavte v poli Program cestu k Powershell :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
Do pole argumentů zadejte ./ a cestu ke skriptu. Klikněte dvakrát na OK a skript se nastaví tak, aby se spouštěl jako plánovaná úloha.
Vidět víc: