Att kryptera filer och dekryptera filer kan vara ett lite svårt jobb. Men genom att använda PowerShell kan du förenkla denna process till bara ett enradskommando. För att göra detta måste vi installera Gpg4win och en Powershell-modul. Använd skript för att automatisera krypteringen och dekrypteringsprocessen. Den här artikeln visar hur du automatiskt krypterar filer i Windows 10 med ett skript.
Innan du börjar måste användarna installera och konfigurera GPG4Win- verktygen . Du kommer att använda GPG4Wins symmetriska kryptografifunktionalitet i denna modul.
Denna Powershell-modul hanterar filkryptering med ett lösenord snarare än ett nyckelpar. Krypteringsstyrkan beror på lösenordets styrka . Användare bör välja komplexa lösenord, kanske med hjälp av LastPass- verktyget eller en annan lösenordshanterare . Slutför slutföra installationen och gå vidare till Powershell-modulen.

Powershell-moduler är paketerade uppsättningar funktioner som använder filformatet PSM1. Du kan spara dessa filer i mappen Moduler i din profil och sedan lägga till modulen till din session/skript med hjälp av Import-Module .
Alla modul-cmdlets är tillgängliga. När du utvecklar dina Powershell-kunskaper kan du till och med skapa dina egna moduler. För att installera filkrypteringsmodulen, ladda ner modulen från TechNet . Därefter måste du kopiera den till en av modulerna. Om du vill installera det själv, kopiera det till PowershellModules i din användarkatalog. Kopiera raden nedan till Utforskaren för att skapa en genväg:
%UserProfile%\Documents\WindowsPowerShell\Modules
Om du vill installera moduler för alla användare, använd mappen Program Files\Windows PowerShell\Modules . Klistra in följande rad i Utforskaren för att skapa en genväg:
%ProgramFiles%\Windows PowerShell\Modules
Skapa en ny mapp som heter GNUPG i mappen Moduler och klistra in PSM1-filen där.

Du måste importera modulen varje gång du använder den: Import-Module GnuPG . Du kan dock justera Execution till Unrestricted genom att köra Set-ExecutionPolicy RemoteSigned cmdleten .

Eftersom du har laddat den här modulen måste du markera den som en lokal fil. Högerklicka på filen och välj Egenskaper . Markera sedan Unblock i dialogrutan . Bekräfta åtgärden i UAC-dialogrutan och du är inställd på att använda modulen.
Cmdlet-kommandon
Hoppa över det första Cmdlet-kommandot, som används för att installera GPG4Win. Om du inte har slutfört det här steget kan du använda denna cmdlet för att installera och konfigurera programmet. Cmdleten laddar den till en valfri katalog och kör installationsprogrammet. De andra två cmdlet-kommandona är ytterligare: Lägg till-kryptering och ta bort-kryptering . Båda har tre parametrar.

Den första parametern är en mapp: -FolderPath . Denna modul kommer att gå igenom varje fil i en mapp för att kryptera eller dekryptera filen. Om du inte vill peka den till mappen Dokument bör du skapa ett par undermappar för att arbeta med det här skriptet. Om du tittar på modulens källkod använder den Get-ChildItem för att få allt i katalogen. Dekrypteringsfunktionen begränsar sökningen till filer som slutar på .GPG.

Nästa parameter är lösenordet som används för filkryptering: -Lösenord . Se till att lösenordet är komplext, eftersom det skyddar dina filer. Denna funktion kommer att gå igenom varje fil med en ForEach-loop. Fil och lösenord kombinerade som argument i Start-Process för GPG4Win.
Den sista parametern, -GPGPath är valfri. Den är installerad som standardplatsen för GPG4Win. Om du installerar den på en annan enhet kan du uppdatera den med den här parametern för att ändra målet för Start-Process .
Skriv manus
Nu är det dags att automatisera processen. Detta skript kommer att kryptera filer i en mapp, flytta de dekrypterade filerna till en ny mapp och radera den ursprungliga filen.
Importera först modulen med hjälp av mport-Module GnuPG . Du måste ställa in några variabler. Den första variabeln $EncryptionTarget är målkatalogen. (Till exempel används en miljövariabel för att peka på den aktuella användarens dokumentkatalog). Ställ in den andra variabeln som lösenfrasen, detta steg gör det lättare att byta lösenord.
Import-modul GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Add-Encryption $EncryptionTarget -Lösenord $Passphrase
Start-Sömn - Sekunder 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg"
foreach ($gpg i $EcnryptedFiles){
Flytta objekt -Sökväg $gpg.Fullnamn -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -notlike "*.gpg"
foreach ($nongpg i $UnEcnryptedFiles){
Remove-Item -Path $nongpg.FullName -Bekräfta $false
}
Dessa variabler går till Add-Encryption som parametrar. Användaren använder en Start-Sleep för att ställa in tiden för att slutföra filkryptering, till exempel är tiden tre minuter. Denna tid kan variera beroende på storleken och antalet filer som bearbetas.
Du får en .GPG-fil genom att kombinera Get-ChildItem med Where-Object . Använd en ForEach -loop så att varje fil kopieras till en ny katalog. Du kan upprepa dessa steg, men konvertera -like till -notlike så att en andra ForEach- loop rensar upp originalfilerna.
Ställ in cron-jobb
Nu när du har skriptet du behöver för att skapa en schemalagd uppgift. Öppna Schemaläggaren och klicka på Skapa uppgift .

Döp det till AutoEncrypt . Om du bara vill köra uppgiften när du är inloggad, lämna inställningarna som standard. Om inställd på att köra oavsett om användaren är inloggad eller inte, välj " Kör oavsett om användaren är inloggad eller inte ", den kan bara komma åt mappar på datorn. Men om din destination är på en fjärrdator måste du lagra lösenordet. Dessutom kan du skapa ett sekundärt konto för att skydda ditt huvudkonto.

Klicka på fliken Triggers och ställ in villkoren. Klicka sedan på Ny för att öppna schemaläggningsfönstret. Du kan lämna inställningarna som standard, klicka sedan på rutan bredvid Upprepa uppgift varje och ställ in den på 5 minuter . Du kan välja mer tid om ditt behov inte är akut. I rullgardinsmenyn bredvid för varaktigheten av: välj På obestämd tid , klicka på OK för att återgå till fönstret Skapa uppgift.

På fliken Åtgärder klickar du på Nytt , i popup-fönstret ställer du in sökvägen till Powershell i programrutan :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
I argumentrutan anger du ./ och sökvägen till skriptet. Klicka på OK två gånger och skriptet är inställt att köras som en schemalagd uppgift.
Se mer: