Automatiseer bestandsversleuteling in Windows met dit Powershell-script

Bestandsversleuteling en bestandsdecodering kunnen een beetje werk zijn. Als u echter een PowerShell-extensie gebruikt, kunt u het proces afslanken tot een opdracht van één regel.

Bestandsversleuteling en bestandsdecodering kunnen een beetje werk zijn.  Als u echter een PowerShell-extensie gebruikt, kunt u het proces afslanken tot een opdracht van één regel.
Advertentie

Bestandsversleuteling en bestandsdecodering kan een beetje werk zijn Do not Believe These 5 Myths About Encryption! Geloof deze 5 mythen niet over encryptie! Versleuteling klinkt ingewikkeld, maar is veel eenvoudiger dan de meeste denken. U kunt zich echter een beetje te donker voelen om gebruik te maken van codering, dus laten we een aantal versleutelingsmythes kapot maken! Lees verder . Als u echter een PowerShell-extensie gebruikt, kunt u het proces afslanken tot een opdracht van één regel. Om dit te doen, moeten we Gpg4win en een Powershell-module installeren. Met behulp van scripts kunnen we het coderings- en decoderingsproces van bestanden automatiseren.

Laten we eens kijken hoe je bestanden in Windows 10 automatisch kunt coderen met een script.

De vereisten: Installaties, modules en Certs

U wilt de GPG4Win-tools laten installeren en configureren voordat u begint. Ga naar de projectpagina en download de nieuwste versie. (Als u hulp nodig heeft bij het installeren en configureren van de tool, gebruikt u deze PDF-gids.) U gaat de symmetrische coderingsfunctie van GPG4Win in deze module gebruiken.

Deze Powershell-module verwerkt bestandsencryptie met een wachtwoordzin in plaats van een sleutelpaar. Hoe werkt versleuteling en is het echt veilig? Hoe werkt versleuteling en is het echt veilig? Lees verder . De kracht van uw codering is afhankelijk van de kracht van uw wachtwoordzin. Je moet ervoor zorgen iets complexs te kiezen. Genereer het met LastPass of een andere wachtwoordbeheerder Beheers uw wachtwoorden voor het goede met de beveiligingsuitdaging van Lastpass Beheers uw wachtwoorden voor het goede met de beveiligingsuitdaging van Lastpass We besteden zoveel tijd online, met zoveel accounts, dat het onthouden van wachtwoorden erg moeilijk kan zijn. Bezorgd over de risico's? Ontdek hoe u LastPass 'Security Challenge kunt gebruiken om uw veiligheidshygiëne te verbeteren. Lees verder . Voltooi tot slot de installatie en ga verder met de Powershell-module.

automatiseer bestandscodering windows powershell

Powershell-modules zijn verzamelde verzamelingen van functies. Ze gebruiken het PSM1-bestandsformaat. U slaat deze bestanden op in de map Modules van uw profiel. Voeg vervolgens de Module toe aan uw sessie / script met Import-Module .

Alle cmdlets van de module zijn beschikbaar. Naarmate je je Powershell-vaardigheden verbetert, kun je zelfs je eigen modules maken. Om het bestand Encryption module te installeren, downloadt u het van TechNet.

Vervolgens moet u het kopiëren naar een van de Modules-mappen. Als je het voor jezelf wilt installeren, kopieer het dan naar de PowershellModules in je gebruikersmap. Kopieer dit in de Verkenner voor een snelkoppeling:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Als u de module voor alle gebruikers wilt installeren, gebruikt u de map Program Files \ Windows PowerShell \ Modules . Plak dit in de Verkenner voor een snelkoppeling:

 %ProgramFiles%\Windows PowerShell\Modules 

Maak een nieuwe map met de naam GNUPG in de map Modules en plak het PSM1-bestand erin.

automatiseer bestandscodering windows powershell

U moet de module elke keer importeren met: Import-Module GnuPG . Het is echter mogelijk dat u uw uitvoeringbeleid moet aanpassen naar onbeperkt. Doe dit door de cmdlet Set-ExecutionPolicy RemoteSigned uit te voeren .

automatiseer bestandscodering windows powershell

Sinds u deze module hebt gedownload, moet u deze nog steeds als een lokaal bestand markeren. Klik met de rechtermuisknop op het bestand en selecteer Eigenschappen . Klik vervolgens in het dialoogvenster op Blokkering opheffen . Bevestig uw actie in het UAC-dialoogvenster en u bent klaar om de module te gebruiken.

Werken met de Cmdlets

Sla de eerste Cmdlet over die wordt gebruikt om GPG4Win PGP Me te installeren: Pretty Good Privacy Explained PGP Me: Pretty Good Privacy Explained Pretty Good Privacy is een methode voor het coderen van berichten tussen twee personen. Dit is hoe het werkt en of het bestand is tegen kritiek. Lees verder . Je had deze stap al moeten voltooien. Als dit niet het geval is, kunt u deze cmdlet gebruiken om het programma te installeren en te configureren. De cmdlet downloadt het naar een map die u kiest en voert het installatieprogramma uit. De andere twee zijn complementair: Add-Encryption en Remove-Encryption . Beide hebben drie parameters.

automatiseer bestandscodering windows powershell

De eerste is een map, doorgegeven als -FolderPath . De module doorloopt elk bestand in een map om bestandscodering toe te passen of te verwijderen. U zou het niet naar uw map Documenten willen wijzen. U zou een aantal submappen willen maken voor het werken met dit script. Als je de broncode van de module bekijkt, gebruikt het Get-ChildItem alles in de directory. De decoderingsfunctie beperkt de zoekopdracht tot bestanden die eindigen op .GPG.

automatiseer bestandscodering windows powershell

De volgende parameter is de wachtwoordzin die wordt gebruikt voor de bestandsencryptie: -Wachtwoord . Zorg ervoor dat dit complex is, want het is de bescherming voor uw bestand. De functie doorloopt elk van de bestanden met een ForEach-lus. Het bestand en de wachtwoordzin combineren als argumenten in Start-Process voor GPG4Win.

De laatste parameter, -GPGPath is niet verplicht. Het is ingesteld op de standaardinstallatielocatie voor GPG4Win. Als u het op een ander station hebt, kunt u het bijwerken met deze parameter. Het verandert het doel voor het startproces .

Het script schrijven

Nu is het tijd om het proces te automatiseren. Dit script versleutelt de bestanden in een map. Verplaats de gedecodeerde bestanden naar een nieuwe map. Het script zal het originele bestand verwijderen.

Je begint je script met wat voorbereiding. Importeer eerst de module met Import-Module GnuPG . U moet een aantal variabelen instellen. De eerste variabele $ EncryptionTarget is uw doelmap. (In het voorbeeld wordt een omgevingsvariabele gebruikt om naar de documentmap van de huidige gebruiker te wijzen.) Stel de tweede variabele in als uw wachtwoordzin. Met deze stap kunt u het later gemakkelijker wijzigen.

 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 } 

Die variabelen gaan naar Add-Encryption als parameters. U gebruikt een Start-Sleep om de coderingstijd van het bestand te voltooien. Het voorbeeld gebruikt drie minuten. U kunt het wijzigen op basis van de grootte en het aantal bestanden waarmee u werkt.

U krijgt de .GPG-bestanden door Get-ChildItem te combineren met Where-Object . Met behulp van een ForEach- lus wordt elk van die bestanden gekopieerd naar een nieuwe map. We herhalen deze stappen, maar schakelen de -like voor -zoals. Een tweede ForEach- lus ruimt de originele bestanden op.

De terugkerende taak instellen

U hebt het script, u ​​moet nu een geplande taak maken. Programma's automatisch uitvoeren met Windows Taakplanner Programma's automatisch uitvoeren met Windows Taakplanner Meer lezen. Open Taakplanner en klik op Taak maken .

automatiseer bestandscodering windows powershell

Noem het zoiets als AutoEncrypt . Als u alleen wilt dat de taak wordt uitgevoerd wanneer u bent aangemeld, laat u de standaardinstelling staan. Als u het instelt om ongeacht te draaien, heeft het alleen toegang tot lokale mappen. Als uw bestemming zich echter op een externe machine bevindt, moet u uw wachtwoord opslaan om de taak uit te voeren. U kunt een secundair account instellen Hoe u beperkte gastaccounts in Windows 10 maakt op de eenvoudige manier Hoe u beperkte gastaccounts maakt in Windows 10 de Easy Way Windows 10 heeft het gastaccount verwijderd, maar u kunt er zelf een maken in slechts een paar notulen. Dit is een geweldige manier om iedereen uw computer te laten gebruiken zonder toegang te hebben tot uw gegevens. Lees meer om de beveiliging van uw hoofdaccount te beschermen.

automatiseer bestandscodering windows powershell

Klik op het tabblad Triggers en stel de voorwaarden in. Klik vervolgens op Nieuw om het planningsvenster te openen. U kunt de triggerinstellingen op de standaardinstelling laten staan. Klik op het selectievakje naast Taak herhalen elke en stel deze in op 5 minuten . U kunt ervoor kiezen om dit minder vaak uit te voeren als uw behoefte niet urgent is. In de vervolgkeuzelijst naast voor de duur van: selecteer Onbeperkt . Klik op OK om terug te gaan naar het venster Taak maken.

automatiseer bestandscodering windows powershell

Klik op het tabblad Acties op Nieuw . Plaats in de pop-up het pad naar Powershell in het vak Programma:

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

Plaats in het argumentvak ./ en het pad naar uw script. Klik tweemaal op OK en uw script is ingesteld om te worden uitgevoerd als een geplande taak.

Sommige beveiligingsproblemen en andere ideeën

Houd er rekening mee dat u de toegangscode hebt om de bestanden te decoderen op dezelfde computer waarop u ze opslaat. Dit soort bestandscodering is meer bedoeld om een ​​bestand te versleutelen voordat u het verzendt of op te slaan op een andere machine. (Als u een geblokkeerd bestandssysteem wilt, gebruikt u Volledige schijfversleuteling TrueCrypt Is Dead: 4 Alternatieven voor schijfcodering Voor Windows is TrueCrypt dood: 4 Alternatieven voor schijfcodering Voor Windows is TrueCrypt niet meer, maar er zijn gelukkig andere nuttige coderingsprogramma's. zijn misschien geen exacte vervangingen, ze moeten aan uw behoeften voldoen Lees meer.) U kunt een vergelijkbare taak instellen om hetzelfde te doen met decodering.

Heeft u een project dat een snel en vies coderingscript voor bestanden nodig heeft? Laat het ons weten in de comments.

In this article