Automatisera filkryptering i Windows med detta Powershell-skript

Filkryptering och fil dekryptering kan vara lite arbete. Med en PowerShell-förlängning kan du dock smala ner processen till ett kommando med en rad.

Filkryptering och fil dekryptering kan vara lite arbete.  Med en PowerShell-förlängning kan du dock smala ner processen till ett kommando med en rad.
Annons

Filkryptering och fildekryptering kan vara lite arbete. Tro inte dessa 5 myter om kryptering! Tro inte dessa 5 myter om kryptering! Kryptering låter komplex, men är mycket enklare än de flesta tror. Ändå kan du känna dig lite för mörk för att använda kryptering, så låt oss byta några krypteringsmyter! Läs mer . Med en PowerShell-förlängning kan du dock smala ner processen till ett kommando med en rad. För att göra detta måste vi installera Gpg4win och en PowerShell-modul. Med hjälp av skript kan vi automatisera filkryptering och dekrypteringsprocessen.

Låt oss ta en titt på hur man krypterar filer i Windows 10 automatiskt med ett skript.

Förutsättningarna: Installer, Moduler och Certs

Du vill ha GPG4Win-verktygen installerade och konfigurerad innan du börjar. Gå över till projektsidan och hämta den senaste versionen. (Om du behöver hjälp med att installera och konfigurera verktyget, använd den här PDF-guiden.) Du använder den symmetriska chifferfunktionen för GPG4Win i den här modulen.

Denna Powershell-modul hanterar filkryptering med hjälp av en lösenordsfras snarare än en keypair. Hur fungerar kryptering och är det verkligen säkert? Hur fungerar kryptering och är det verkligen säkert? Läs mer . Krypteringsstyrkan beror på styrkan i ditt lösenfras. Du bör vara säker på att välja något komplext. Generera det med hjälp av LastPass eller en annan lösenordsadministratör Mäter dina lösenord för att vara bra med Lastpass säkerhetsutmaning Mäta dina lösenord för att vara bra med Lastpass säkerhetsutmaning Vi spenderar så mycket tid online, med så många konton som att minnas lösenord kan vara väldigt tufft. Bekymrad om riskerna? Ta reda på hur du använder LastPass säkerhetsutmaning för att förbättra din säkerhetshygien. Läs mer . Slutligen slutför installationen och fortsätt till Powershell-modulen.

automatisera filkrypteringsfönster powerhell

Powershell Moduler är förpackade samlingar av funktioner. De använder PSM1-filformatet. Du sparar dessa filer i mappens modulkatalog. Lägg sedan till modulen i din session / script med Importer-modulen .

Alla modulens cmdlets finns tillgängliga. När du avancerar på dina Powershell-färdigheter kan du till och med skapa egna moduler. För att installera filen Krypteringsmodul, ladda ner den från TechNet.

Därefter måste du kopiera den till en av modulkatalogerna. Om du vill installera det för dig själv, kopiera det till PowershellModules i din användarmapp. Kopiera detta till Explorer för en genväg:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Om du vill installera modulen för alla användare, använd mappen Program Files \ Windows PowerShell \ Modules . Klistra in det här i Utforskaren för en genväg:

 %ProgramFiles%\Windows PowerShell\Modules 

Skapa en ny mapp med namnet GNUPG i katalogen Moduler och klistra in PSM1-filen i den.

automatisera filkrypteringsfönster powerhell

Du måste importera modulen varje gång med: Importera modul GnuPG . Du kan dock behöva justera din exekveringspolicy till obegränsad. Gör detta genom att köra cmdlet Set-ExecutionPolicy RemoteSigned .

automatisera filkrypteringsfönster powerhell

Sedan du hämtade den här modulen behöver du fortfarande markera den som en lokal fil. Högerklicka på filen och välj Egenskaper . Därefter klickar du på Unblock i dialogrutan . Bekräfta din åtgärd i UAC-dialogrutan, och du är inställd på att använda modulen.

Arbeta med Cmdlets

Hoppa över den första Cmdlet som används för att installera GPG4Win PGP Me: Ganska bra Sekretess förklarade PGP Me: Ganska bra Sekretess förklarade Pretty Good Privacy är en metod för att kryptera meddelanden mellan två personer. Så här fungerar det och om det står upp till granskning. Läs mer . Du borde redan ha genomfört det här steget. Om inte, kan du använda denna cmdlet för att installera och konfigurera programmet. Cmdleten hämtar den till en mapp du väljer och kör installationsprogrammet. De andra två är komplementära: Add-Encryption and Remove-Encryption . Båda dessa tar tre parametrar.

automatisera filkrypteringsfönster powerhell

Den första är en katalog som passeras som -FolderPath . Modulen kommer att gå igenom alla filer i en katalog för att tillämpa eller ta bort filkryptering. Du vill inte peka på den i mappen Dokument. Du vill skapa ett par undermappar för att arbeta med det här skriptet. Om du tittar på källkoden för modulen använder den Get-ChildItem för att få allt i katalogen. Dekrypteringsfunktionen begränsar sökningen till filer som slutar i .GPG.

automatisera filkrypteringsfönster powerhell

Nästa parameter är lösenordsfrasen som används för filkryptering: -Password . Se till att det här är komplicerat, eftersom det är skyddet för din fil. Funktionen går igenom varje fil med en ForEach-slinga. Filen och lösenfrasen kombineras som argument i Start-Process för GPG4Win.

Den sista parametern, -GPGPath är inte obligatorisk. Den är inställd på standardinstallationsplatsen för GPG4Win. Om du har den på en annan enhet kan du uppdatera den med den här parametern. Det ändrar målet för startprocessen .

Skriva skriptet

Nu är det dags att automatisera processen. Detta skript kommer att kryptera filerna i en katalog. Flytta de dekrypterade filerna till en ny katalog. Skriptet tar bort originalfilen.

Du börjar ditt skript med lite prep. Först importera modulen genom att använda Import-Module GnuPG . Du måste ange ett par variabler. Den första variabel $ EncryptionTarget är din målmapp. (I exemplet används en miljövariabel för att peka på den aktuella användarens dokumentmapp.) Ange den andra variabeln som ditt lösenordsfras. Detta steg gör det lättare att ändra det senare.

 Import-Module GnuPG $EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt" $Passphrase = "MakeAVeryLongSecurePhrase" Add-Encryption $EncryptionTarget -Password $Passphrase Start-Sleep -Seconds 60 $EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg" foreach ($gpg in $EcnryptedFiles){ Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)" } $UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -notlike "*.gpg" foreach ($nongpg in $UnEcnryptedFiles){ Remove-Item -Path $nongpg.FullName -Confirm $false } 

Dessa variabler går till Add-Encryption som parametrar. Du använder en Start-Sleep för att ge filen krypteringstid att slutföra. Exemplet använder tre minuter. Du kan ändra det baserat på storleken och antalet filer du arbetar med.

Du får .GPG-filerna genom att kombinera Get-ChildItem med Where-Object . Med en ForEach- slinga kopieras var och en av dessa filer till en ny katalog. Vi upprepar dessa steg, men byter -liknande för -liknande. En andra ForEach- slinga rensar upp originalfilerna.

Ställa in återkommande uppgift

Du har manuset, nu behöver du skapa en schemalagd uppgift Kör program automatiskt med hjälp av Windows Task Scheduler Kör program automatiskt med hjälp av Windows Task Scheduler Läs mer. Öppna uppgiftsschemaläggaren och klicka på Skapa uppgift .

automatisera filkrypteringsfönster powerhell

Namn det som AutoEncrypt . Om du bara vill att uppgiften ska köras när du är inloggad, lämna bara standard. Om du anger att den ska köras oberoende, kan den bara nå lokala kataloger. Om din destination är på en fjärrmaskin måste du dock lagra ditt lösenord för att jobbet ska köras. Du kanske vill skapa ett sekundärt konto Hur man skapar begränsade gästkonton i Windows 10 det enkla sättet Hur man skapar begränsade gästkonton i Windows 10 det enkla sättet Windows 10 tog bort gästkontot, men du kan göra egna på några få minuter. Detta är ett utmärkt sätt att låta någon använda din dator utan att komma åt dina data. Läs mer för att skydda säkerheten för ditt huvudkonto.

automatisera filkrypteringsfönster powerhell

Klicka på fliken Utlösare och ställ in villkoren. Klicka sedan på Ny för att dra upp schemaläggningsfönstret. Du kan lämna inställningsinställningarna inställda till standardvärdet. Klicka på kryssrutan bredvid Repeat Task Every och ställ in den till 5 minuter . Du kan välja att köra detta mindre ofta om ditt behov inte är brådskande. I rullgardinsmenyn bredvid under varaktigheten av: välj Obestämd . Klicka på OK för att gå tillbaka till fönstret Skapa uppgift.

automatisera filkrypteringsfönster powerhell

Klicka på Ny på fliken Åtgärder . I popup-fönstret lägger du sökvägen till Powershell i programfältet:

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

I rutan för argument lägger du ./ och sökvägen till ditt skript. Klicka på OK två gånger och ditt skript är inställt på att köras som en schemalagd uppgift.

Vissa säkerhetshinder och andra idéer

Var medveten om att du har lösenordet för att dekryptera filerna på samma maskin där du lagrar dem. Dessa typer av filkrypteringar är mer för att kryptera en fil innan du skickar den, eller lagrar den på en annan maskin. (Om du vill ha ett låst filsystem, använd Full Disk Encryption TrueCrypt är död: 4 Disk Encryption Alternativ för Windows TrueCrypt är död: 4 Disk Encryption Alternativ för Windows TrueCrypt är inte längre, men lyckligtvis finns det andra användbara krypteringsprogram. kan inte vara exakta ersättningar, de borde passa dina behov. Läs mer.) Du kan ställa in en liknande uppgift att göra detsamma med dekryptering.

Har du ett projekt som behöver ett snabbt och smutsigt filkrypteringsskript? Låt oss veta i kommentarerna.

In this article