Automatizza la crittografia dei file in Windows con questo script PowerShell

Automatizza la crittografia dei file in Windows con questo script PowerShell / Programmazione

Crittografia dei file e decrittografia dei file può essere un po 'di lavoro Non credere a questi 5 miti sulla crittografia! Non credere a questi 5 miti sulla crittografia! La crittografia sembra complessa, ma è molto più semplice di quanto la maggior parte pensi. Ciononostante, potresti sentirti un po 'troppo buio per fare uso della crittografia, quindi rompi i miti della crittografia! Leggi di più . Tuttavia, utilizzando un'estensione PowerShell, è possibile ridurre il processo a un comando a una riga. Per fare ciò, dobbiamo installare Gpg4win e un modulo PowerShell. Usando gli script, possiamo automatizzare il processo di crittografia e decrittografia dei file.

Diamo un'occhiata a come crittografare i file in Windows 10 automaticamente con uno script.

I prerequisiti: installazioni, moduli e certificati

Ti consigliamo di installare e configurare gli strumenti GPG4Win prima di iniziare. Vai alla pagina del progetto e scarica la versione più recente. (Se hai bisogno di una guida per l'installazione e la configurazione dello strumento, usa questa guida in formato PDF.) Utilizzerai la funzione di crittografia simmetrica di GPG4Win in questo modulo.

Questo modulo di Powershell gestisce la crittografia dei file utilizzando una passphrase piuttosto che una coppia di chiavi Come funziona la crittografia, ed è davvero sicura? Come funziona la crittografia, ed è davvero sicura? Leggi di più . La forza della crittografia dipende dalla forza della tua passphrase. Dovresti assicurarti di scegliere qualcosa di complesso. Generalo usando LastPass o un altro gestore di password Masterizza le tue password per sempre con la sicurezza di Lastpass Sfida le tue password per sempre con la sfida di sicurezza di Lastpass Trascorriamo così tanto tempo online, con così tanti account, che ricordare le password può essere davvero difficile. Preoccupato per i rischi? Scopri come utilizzare la Sfida di sicurezza di LastPass per migliorare l'igiene della sicurezza. Leggi di più . Infine, completare l'installazione e passare al modulo PowerShell.

I moduli PowerShell sono raccolte collezioni di funzioni. Usano il formato di file PSM1. Salvate questi file nella directory dei moduli del vostro profilo. Quindi, aggiungi il modulo alla tua sessione / script usando Import-Module.

Sono disponibili tutti i cmdlet del modulo. Mentre avanzi le tue abilità di PowerShell, puoi persino creare i tuoi moduli. Per installare il modulo di crittografia del file, scaricarlo da TechNet.

Successivamente, è necessario copiarlo in una delle directory dei moduli. Se vuoi installarlo solo per te, copialo in PowershellModules nella tua cartella utente. Copia questo in Explorer per una scorciatoia:

% UserProfile% \ Documenti \ WindowsPowerShell \ Modules

Se si desidera installare il modulo per tutti gli utenti, utilizzare Programma Files \ Windows PowerShell \ Modules cartella. Incolla questo in Explorer per una scorciatoia:

% ProgramFiles% \ Windows PowerShell \ Modules

Crea una nuova cartella denominata GNUPG nella directory Modules e incollaci il file PSM1.

Dovrai importare il modulo ogni volta usando: Import-Module GnuPG. Tuttavia, potrebbe essere necessario adattare la politica di esecuzione a Senza restrizioni. A tale scopo eseguendo il cmdlet Set-ExecutionPolicy RemoteSigned.

Poiché hai scaricato questo modulo, devi comunque contrassegnarlo come file locale. Fare clic con il pulsante destro del mouse sul file e selezionare, Proprietà. Quindi, nella finestra di dialogo, fare clic su Sbloccare. Conferma la tua azione nella finestra di dialogo UAC e sei pronto per utilizzare il modulo.

Lavorare con i cmdlet

Salta il primo Cmdlet, che viene utilizzato per installare GPG4Win PGP Me: abbastanza buona privacy spiegata PGP Me: abbastanza buona privacy spiegata piuttosto buona La privacy è un metodo per crittografare i messaggi tra due persone. Ecco come funziona e se resiste al controllo. Leggi di più . Dovresti aver già completato questo passaggio. In caso contrario, è possibile utilizzare questo cmdlet per installare e configurare il programma. Il cmdlet lo scarica in una cartella scelta e esegue il programma di installazione. Gli altri due sono complementari: Add-Encryption e Rimuovere-Encryption. Entrambe prendono tre parametri.

Il primo è una directory, passata come -FolderPath. Il modulo passerà attraverso ogni file in una directory per applicare o rimuovere la crittografia dei file. Non vorrai indicarlo nella cartella Documenti. Vorresti creare un paio di sottocartelle per lavorare con questo script. Se si guarda il codice sorgente per il modulo, sta usando Get-ChildItem per ottenere tutto nella directory. La funzione di decrittografia limita la ricerca ai file che terminano in .GPG.

Il parametro successivo è la passphrase utilizzata per la crittografia dei file: -Parola d'ordine. Assicurati che questo sia complesso, poiché è la protezione per il tuo file. La funzione passa attraverso ciascuno dei file con un ciclo ForEach. Il file e la passphrase si combinano come argomenti in Start-Process per GPG4Win.

Il parametro finale, -GPGPath non è obbligatorio È impostato sul percorso di installazione predefinito per GPG4Win. Se lo hai su un'altra unità, puoi aggiornarlo usando questo parametro. Cambia l'obiettivo per il Start-Process.

Scrivere lo script

Ora è il momento di automatizzare il processo. Questo script crittograferà i file in una directory. Sposta i file decrittografati in una nuova directory. Lo script cancellerà il file originale.

Inizi la tua sceneggiatura con un po 'di preparazione. Per prima cosa, importa il modulo usando Import-Module GnuPG. Devi impostare un paio di variabili. La prima variabile $ EncryptionTarget è la tua cartella di destinazione. (Nell'esempio, una variabile di ambiente viene utilizzata per puntare alla cartella documenti dell'utente corrente.) Impostare la seconda variabile come passphrase. Questo passaggio rende più facile cambiarlo in seguito.

Import-Module GnuPG $ EncryptionTarget = "$ ($ env: USERPROFILE) \ Documents \ Files-ToEncrypt" $ Passphrase = "MakeAVeryLongSecurePhrase" Aggiungi-Crittografia $ 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. Nome) " $ UnEncryptedFiles = Get-ChildItem $ EncryptionTarget | Where-Object $ _. Name -notlike "* .gpg" foreach ($ nongpg in $ UnEcnryptedFiles) Remove-Item -Path $ nongpg.FullName -Confirm $ false 

Quelle variabili vanno a Add-Encryption come parametri. Tu usi a Start-sonno per dare il tempo di crittografia del file per completare. L'esempio utilizza tre minuti. Puoi modificarlo in base alla dimensione e al numero di file con cui stai lavorando.

Ottieni i file .GPG combinando Get-ChildItem con Where-Object. Usare un Per ciascuno loop, ognuno di questi file viene copiato in una nuova directory. Ripetiamo questi passaggi, ma cambiando il -piace per -non come. UN secondo Per ciascuno loop pulisce i file originali.

Impostazione dell'attività ricorrente

Hai lo script, ora devi creare un'attività pianificata Esegui i programmi automaticamente utilizzando l'Utilità di pianificazione di Windows Esegui i programmi automaticamente utilizzando l'Utilità di pianificazione di Windows Ulteriori informazioni. Aprire l'Utilità di pianificazione e fare clic Crea attività.

Chiamalo come qualcosa AutoEncrypt. Se si desidera eseguire l'attività solo quando si è effettuato l'accesso, lasciare l'impostazione predefinita. Se lo imposti indipendentemente, può accedere solo alle directory locali. Tuttavia, se la destinazione è su una macchina remota, è necessario memorizzare la password per l'esecuzione del lavoro. Potresti voler impostare un account secondario Come creare account guest con restrizioni in Windows 10 in modo semplice Come creare account guest con restrizioni in Windows 10 in modo semplice Windows 10 ha rimosso l'account Guest, ma puoi crearne uno solo in pochi minuti. Questo è un ottimo modo per consentire a chiunque di utilizzare il tuo computer senza accedere ai tuoi dati. Leggi di più per proteggere la sicurezza del tuo account principale.

Clicca sul trigger scheda e impostazione delle condizioni. Quindi, fare clic su Nuovo per aprire la finestra di pianificazione. È possibile lasciare le impostazioni di trigger predefinite. Fai clic sulla casella accanto a Ripeti attività ogni e impostarlo 5 minuti. Puoi scegliere di eseguirlo meno spesso se il tuo bisogno non è urgente. Nel menu a discesa accanto a per la durata di: selezionare Indefinitamente. Clic ok per tornare alla finestra Crea attività.

Sul Azioni scheda, fare clic Nuovo. Nel popup, inserisci il percorso di Powershell nella casella Programma:

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

Nella casella degli argomenti mettere ./ e il percorso per il tuo script. Clic ok due volte e il tuo script è impostato per essere eseguito come attività pianificata.

Alcune preoccupazioni per la sicurezza e altre idee

Tieni presente che hai il codice di accesso per decrittografare i file sulla stessa macchina in cui li stai archiviando. Questi tipi di crittografia dei file sono più utili per crittografare un file prima di inviarlo o memorizzarlo su un'altra macchina. (Se si desidera un file system bloccato, utilizzare Full Disk Encryption TrueCrypt è guasto: 4 alternative di crittografia disco per Windows TrueCrypt è morto: 4 alternative di crittografia disco per Windows TrueCrypt non esiste più, ma per fortuna ci sono altri programmi di crittografia utili. potrebbero non essere esatte sostituzioni, dovrebbero soddisfare le tue esigenze. Per saperne di più.) È possibile impostare un'attività simile per fare lo stesso con la decrittografia.

Hai un progetto che richiede uno script di crittografia file veloce e sporco? Fateci sapere nei commenti.

Scopri di più su: Crittografia, Sicurezza online.