Automatizza la crittografia dei file in Windows con questo script PowerShell

La crittografia dei file e la decrittografia dei file possono essere un po 'di lavoro. Tuttavia, utilizzando un'estensione PowerShell, è possibile ridurre il processo a un comando a una riga.

La crittografia dei file e la decrittografia dei file possono essere un po 'di lavoro.  Tuttavia, utilizzando un'estensione PowerShell, è possibile ridurre il processo a un comando a una riga.
Annuncio pubblicitario

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 è necessaria una guida per l'installazione e la configurazione dello strumento, utilizzare questa guida in formato PDF.) Si utilizzerà 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.

automatizza la crittografia dei file di Windows 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%\Documents\WindowsPowerShell\Modules 

Se si desidera installare il modulo per tutti gli utenti, utilizzare la cartella Programmi \ Windows PowerShell \ Modules . 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.

automatizza la crittografia dei file di Windows PowerShell

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, eseguire il cmdlet Set-ExecutionPolicy RemoteSigned .

automatizza la crittografia dei file di Windows PowerShell

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 Sblocca . 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 Remove-Encryption . Entrambe prendono tre parametri.

automatizza la crittografia dei file di Windows PowerShell

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 del modulo, viene utilizzato Get-ChildItem per ottenere tutto nella directory. La funzione di decrittografia limita la ricerca ai file che terminano in .GPG.

automatizza la crittografia dei file di Windows PowerShell

Il parametro successivo è la passphrase utilizzata per la crittografia del file: -Password . 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 processo di avvio .

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" 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 } 

Queste variabili vanno ad Add-Encryption come parametri. Si utilizza una sospensione iniziale per fornire il tempo di crittografia del file da 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 . Utilizzando un ciclo ForEach, ognuno di questi file viene copiato in una nuova directory. Ripetiamo questi passaggi, ma cambiamo la differenza con -notlike. Un secondo ciclo ForEach 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 su Crea attività .

automatizza la crittografia dei file di Windows PowerShell

Chiamalo qualcosa come 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. È possibile 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 è possibile 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.

automatizza la crittografia dei file di Windows PowerShell

Fare clic sulla scheda Trigger e impostare le condizioni. Quindi, fare clic su Nuovo per visualizzare la finestra di pianificazione. È possibile lasciare le impostazioni di trigger predefinite. Fare clic sulla casella accanto a Ripeti attività ogni e impostarla su 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 . Fare clic su OK per tornare alla finestra Crea attività.

automatizza la crittografia dei file di Windows PowerShell

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

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

Nella casella degli argomenti inserisci ./ e il percorso del tuo script. Fare clic su OK due volte e lo script è impostato per l'esecuzione 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 decrittazione.

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

In this article