Automatiser filkryptering i Windows med dette Powershell-skriptet

Filkryptering og fil dekryptering kan være litt arbeid. Ved hjelp av en PowerShell-utvidelse kan du imidlertid slanke prosessen til en linje med en linje.

Filkryptering og fil dekryptering kan være litt arbeid.  Ved hjelp av en PowerShell-utvidelse kan du imidlertid slanke prosessen til en linje med en linje.
Annonse

Filkryptering og fil dekryptering kan være litt arbeid Ikke tro disse 5 myter om kryptering! Ikke tro disse 5 myter om kryptering! Kryptering høres komplisert, men er langt enklere enn de fleste tror. Likevel kan du føle deg litt for mørk for å gjøre bruk av kryptering, så la oss bytte noen krypteringsmyter! Les mer . Ved hjelp av en PowerShell-utvidelse kan du imidlertid slanke prosessen til en linje med en linje. For å gjøre dette må vi installere Gpg4win og en PowerShell-modul. Ved hjelp av skript kan vi automatisere filkryptering og dekrypteringsprosessen.

La oss se på hvordan du krypterer filer i Windows 10 automatisk med et skript.

Forutsetningene: Installer, Moduler og Certer

Du vil ha GPG4Win-verktøyene installert og konfigurert før du begynner. Gå over til prosjektsiden og last ned den nyeste versjonen. (Hvis du trenger hjelp med å installere og konfigurere verktøyet, bruk denne PDF-guiden.) Du skal bruke den symmetriske krypteringsfunksjonen til GPG4Win i denne modulen.

Denne PowerShell-modulen håndterer filkryptering ved hjelp av en passordfrase enn en keypair. Hvordan virker kryptering, og er det virkelig trygt? Hvordan virker kryptering, og er det virkelig trygt? Les mer . Styrken på kryptering avhenger av styrken på passordet ditt. Du bør sørge for å velge noe komplekst. Generer det ved hjelp av LastPass eller en annen passordadministrator. Mastre passordene dine for å få det bra med Lastpass Security Utfordring. Mastre passordene dine for å få det bra med Lastpass Security Utfordring. Vi bruker så mye tid på nettet, med så mange kontoer, at husk passord kan være veldig tøft. Bekymret for risikoen? Finn ut hvordan du bruker LastPass Security Challenge for å forbedre sikkerhetshygiene. Les mer . Endelig fullfør installasjonen og fortsett til Powershell-modulen.

automatisere filkryptering windows powershell

Powershell Moduler er pakket samlinger av funksjoner. De bruker PSM1 filformatet. Du lagrer disse filene i profilens modulkatalog. Deretter legger du til modulen i økt / script ved hjelp av Import-modul .

Alle modulens cmdlets er tilgjengelige. Når du fremmer dine Powershell-ferdigheter, kan du til og med lage dine egne moduler. For å installere filen Krypteringsmodul, last den ned fra TechNet.

Deretter må du kopiere den til en av modulkatalogene. Hvis du vil installere det for deg selv, kopier det til PowershellModules i brukermappen din. Kopier dette til Explorer for en snarvei:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Hvis du vil installere modulen for alle brukere, bruker du mappen Program Files \ Windows PowerShell \ Modules . Lim inn dette til Explorer for en snarvei:

 %ProgramFiles%\Windows PowerShell\Modules 

Opprett en ny mappe med navnet GNUPG i modulkatalogen og lim inn PSM1-filen i den.

automatisere filkryptering windows powershell

Du må importere modulen hver gang du bruker: Import-modul GnuPG . Det kan imidlertid hende du må justere din utførelsespolicy til ubegrenset. Gjør dette ved å kjøre cmdlet Set-ExecutionPolicy RemoteSigned .

automatisere filkryptering windows powershell

Siden du lastet ned denne modulen, må du fortsatt markere den som en lokal fil. Høyreklikk filen og velg Egenskaper . Deretter klikker du på Unblock i dialogboksen. Bekreft handlingen i UAC-dialogboksen, og du er innstilt på å bruke modulen.

Arbeider med Cmdlets

Hopp over den første Cmdlet, som brukes til å installere GPG4Win PGP Me: Ganske bra Personvern Forklart PGP Me: Ganske Bra Personvern Forklart Ganske Bra Personvern er en metode for kryptering av meldinger mellom to personer. Slik fungerer det og om det står opp til gransking. Les mer . Du burde allerede ha fullført dette trinnet. Hvis ikke, kan du bruke denne cmdlet til å installere og konfigurere programmet. Den cmdlet laster ned den til en mappe du velger og kjører installasjonsprogrammet. De to andre er komplementære: Add-Encryption and Remove-Encryption . Begge disse tar tre parametre.

automatisere filkryptering windows powershell

Den første er en katalog, bestått som -FolderPath . Modulen vil gå gjennom hver fil i en katalog for å søke eller fjerne filkryptering. Du vil ikke peke på det i mappen Dokumenter. Du vil opprette et par undermapper for å jobbe med dette skriptet. Hvis du ser på kildekoden for modulen, bruker den Get-ChildItem til å få alt i katalogen. Dekrypteringsfunksjonen begrenser søket til filer som slutter i .GPG.

automatisere filkryptering windows powershell

Den neste parameteren er passordet som brukes til filkryptering: -Password . Pass på at dette er komplekst, da det er beskyttelsen for filen din. Funksjonen går gjennom hver av filene med en ForEach-sløyfe. Filen og passordet kombinere som argumenter i Start-prosess for GPG4Win.

Den endelige parameteren, -GPGPath, er ikke obligatorisk. Den er satt til standard installasjonssted for GPG4Win. Hvis du har den på en annen stasjon, kan du oppdatere den ved hjelp av denne parameteren. Det endrer målet for Start-prosessen .

Skrive skriptet

Nå er det på tide å automatisere prosessen. Dette skriptet vil kryptere filene i en katalog. Flytt de dekrypterte filene til en ny katalog. Skriptet vil slette den opprinnelige filen.

Du starter skriptet ditt med litt prep. Først importerer du modulen ved hjelp av Import-Module GnuPG . Du må sette opp et par variabler. Den første variabelen $ EncryptionTarget er målmappen din. (I eksemplet brukes en miljøvariabel til å peke til den gjeldende brukerens dokumentmappe.) Sett den andre variabelen som passordet ditt. Dette trinnet gjør det lettere å endre det senere.

 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 } 

Disse variablene går til Add-Encryption som parametere. Du bruker Start-Sleep for å gi filen krypteringstid for å fullføre. Eksemplet bruker tre minutter. Du kan endre det basert på størrelsen og antall filer du jobber med.

Du får .GPG-filene ved å kombinere Get-ChildItem med Where-Object . Ved å bruke en ForEach- loop, kopieres hver enkelt av disse filene til en ny katalog. Vi gjentar disse trinnene, men bytter -like for-ikke-lignende. En annen ForEach- sløyfe rydder opp de opprinnelige filene.

Angi gjentakende oppgave

Du har skriptet, nå må du opprette en planlagt oppgave Kjør programmer automatisk Bruke Windows Oppgaveplanlegger Kjør programmer automatisk ved hjelp av Windows Oppgaveplanlegger Les mer. Åpne Oppgaveplanlegger og klikk Opprett oppgave .

automatisere filkryptering windows powershell

Gi det noe som AutoEncrypt . Hvis du bare vil at oppgaven skal løpe når du er logget inn, må du bare legge til standard. Hvis du angir at den skal kjøre uavhengig, kan den bare få tilgang til lokale kataloger. Men hvis reisemålet ditt er på en ekstern maskin, må du lagre passordet for at jobben skal kjøre. Du vil kanskje opprette en sekundær konto Hvordan lage begrensede gjestekontoer i Windows 10 Den enkle måten Hvordan lage begrensede gjestekontoer i Windows 10, den enkle måten Windows 10 fjernet gjestekontoen, men du kan lage dine egne på noen få minutter. Dette er en fin måte å la noen bruke datamaskinen uten å få tilgang til dataene dine. Les mer for å beskytte sikkerheten til hovedkontoen din.

automatisere filkryptering windows powershell

Klikk på Triggers- fanen og sett opp forholdene. Deretter klikker du på Ny for å trekke opp planleggingsvinduet. Du kan la triggerinnstillingene settes til standard. Klikk avkrysningsboksen ved siden av Gjenta oppgaven hver og sett den til 5 minutter . Du kan velge å kjøre dette mindre ofte hvis behovet ikke er haster. I rullegardinmenyen ved siden av for varigheten av: velg Ubestemt . Klikk på OK for å gå tilbake til Opprett oppgave-vinduet.

automatisere filkryptering windows powershell

Klikk på Ny i fanen Handlinger . I popup-vinduet, legg banen til Powershell i Program-boksen:

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

I argumentboksen legger du ./ og banen til skriptet ditt. Klikk OK to ganger, og skriptet ditt er satt til å kjøre som en Planlagt oppgave.

Noen sikkerhetsproblemer og andre ideer

Vær oppmerksom på at du har passordet for å dekryptere filene på samme maskin hvor du lagrer dem. Disse typer filkrypteringer er mer for å kryptere en fil før du sender den, eller lagrer den på en annen maskin. (Hvis du vil ha et låst filsystem, bruk Full Disk Encryption. TrueCrypt er død: 4 Diskkrypteringsalternativer for Windows TrueCrypt er død: 4 Diskkrypteringsalternativer for Windows TrueCrypt er ikke mer, men heldigvis finnes det andre nyttige krypteringsprogrammer. Mens de Kan ikke være nøyaktige erstatninger, de burde passe dine behov. Les mer.) Du kan sette opp en lignende oppgave å gjøre det samme med dekryptering.

Har du et prosjekt som trenger et raskt og skittent filkrypteringsskript? Gi oss beskjed i kommentarene.

In this article