Automatiseer bestandsversleuteling in Windows met dit Powershell-script

Automatiseer bestandsversleuteling in Windows met dit Powershell-script / Programming

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. (Gebruik deze PDF-gids als u hulp nodig hebt bij het installeren en configureren van de tool.) 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.

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 Program Files \ Windows PowerShell \ Modules map. 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.

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

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 deblokkeren. 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. Zo niet, dan 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-encryptie en Remove-encryptie. Beide hebben drie parameters.

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 deze Get-ChildItem om alles in de directory te krijgen. De decoderingsfunctie beperkt de zoekopdracht tot bestanden die eindigen op .GPG.

De volgende parameter is de wachtwoordzin die wordt gebruikt voor bestandscodering: -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 de Start-Process.

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 je 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 $ _. Naam -in tegenstelling tot "* .gpg" foreach ($ nongpg in $ UnEcnryptedFiles) Remove-Item -Path $ nongpg.FullName -Confirm $ false 

Die variabelen gaan naar Add-encryptie als parameters. Je 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 te combineren Get-ChildItem met Waar-Object. Met behulp van een ForEach lus, wordt elk van die bestanden gekopieerd naar een nieuwe map. We herhalen deze stappen, maar schakelen het -net zoals voor -zoals. EEN tweede ForEach loop 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.

Noem het zoiets 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.

Klik op de triggers tab en het instellen van de voorwaarden. Klik vervolgens op nieuwe om het planningsvenster te openen. U kunt de triggerinstellingen op de standaardinstelling laten staan. Klik op het selectievakje naast Herhaal taak elke en zet het 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: kiezen Voor onbepaalde tijd. Klik OK om terug te gaan naar het venster Taak maken.

Op de acties tab, klik nieuwe. Plaats in de pop-up het pad naar Powershell in het vak Programma:

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

In de argumenten box gezet ./ en het pad naar je script. Klik OK tweemaal 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. Meer lezen.) U kunt een soortgelijke 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.

Meer informatie over: versleuteling, online beveiliging.