Crittografare e decrittografare file può essere un lavoro un po' difficile. Tuttavia, utilizzando PowerShell , puoi semplificare questo processo riducendolo a un solo comando di una riga. Per fare ciò, dobbiamo installare Gpg4win e un modulo Powershell. Utilizza gli script per automatizzare il processo di crittografia e decrittografia. Questo articolo ti mostrerà come crittografare automaticamente i file in Windows 10 con uno script.
Prima di iniziare, gli utenti devono installare e configurare gli strumenti GPG4Win . In questo modulo utilizzerai la funzionalità di crittografia simmetrica di GPG4Win.
Questo modulo Powershell gestisce la crittografia dei file con una password anziché una coppia di chiavi. La forza della crittografia dipende dalla forza della password . Gli utenti dovrebbero scegliere password complesse, magari utilizzando lo strumento LastPass o un altro gestore di password . Infine, completa l'installazione e passa al modulo Powershell.
I moduli Powershell sono set di funzioni in pacchetti, che utilizzano il formato file PSM1. Puoi salvare questi file nella cartella Modules nel tuo profilo, quindi aggiungere il modulo alla tua sessione/script utilizzando Import-Module .
Sono disponibili tutti i cmdlet del modulo. Man mano che avanzi nelle tue competenze in PowerShell, puoi persino creare i tuoi moduli. Per installare il modulo di crittografia dei file, scaricare il modulo da TechNet . Successivamente, è necessario copiarlo in una delle cartelle Modules. Se vuoi installarlo tu stesso, copialo in PowershellModules nella tua directory utente. Copia la riga seguente in Explorer per creare un collegamento:
%Profiloutente%\Documenti\WindowsPowerShell\Modules
Se desideri installare moduli per tutti gli utenti, utilizza la cartella Programmi\Windows PowerShell\Modules . Incolla la seguente riga in Explorer per creare un collegamento:
%Programmi%\Windows PowerShell\Moduli
Crea una nuova cartella chiamata GNUPG nella cartella Modules e incolla lì il file PSM1.
Devi importare il modulo ogni volta che lo usi: Import-Module GnuPG . Tuttavia, è possibile regolare l'esecuzione su Senza restrizioni eseguendo il cmdlet Set-ExecutionPolicy RemoteSigned .
Poiché hai caricato questo modulo, devi contrassegnarlo come file locale. Fare clic con il tasto destro sul file e selezionare Proprietà . Successivamente, nella finestra di dialogo, seleziona Sblocca . Conferma l'azione nella finestra di dialogo UAC e sei pronto per utilizzare il modulo.
Comandi del cmdlet
Salta il primo comando cmdlet, utilizzato per installare GPG4Win. Se non hai completato questo passaggio, puoi utilizzare questo cmdlet per installare e configurare il programma. Il cmdlet lo carica in una directory a tua scelta ed esegue il programma di installazione. Gli altri due comandi cmdlet sono aggiuntivi: Add-Encryption e Remove-Encryption . Entrambi hanno tre parametri.
Il primo parametro è una cartella: -FolderPath . Questo modulo esaminerà ogni file in una cartella per crittografare o decrittografare il file. Se non vuoi indirizzarlo alla cartella Documenti, dovresti creare una coppia di sottocartelle per lavorare con questo script. Se guardi il codice sorgente del modulo, utilizza Get-ChildItem per ottenere tutto nella directory. La funzione di decrittazione limita la ricerca ai file che terminano con .GPG.
Il parametro successivo è la password utilizzata per la crittografia dei file: -Password . Assicurati che questa password sia complessa, poiché protegge i tuoi file. Questa funzione esaminerà ogni file con un ciclo ForEach. File e password combinati come argomenti in Start-Process per GPG4Win.
L'ultimo parametro, -GPGPath è facoltativo. Viene installato come percorso predefinito per GPG4Win. Se lo installi su un'altra unità, puoi aggiornarlo utilizzando questo parametro per modificare la destinazione di Start-Process .
Scrivi script
Ora è il momento di automatizzare il processo. Questo script crittograferà i file in una cartella, sposterà i file decrittografati in una nuova cartella ed eliminerà il file originale.
Innanzitutto, importa il modulo utilizzando mport-Module GnuPG . È necessario impostare alcune variabili. La prima variabile $EncryptionTarget è la directory di destinazione. (Ad esempio, una variabile di ambiente viene utilizzata per puntare alla directory dei documenti dell'utente corrente). Imposta la seconda variabile come passphrase, questo passaggio semplifica la modifica della password.
Modulo di importazione GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documenti\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
Aggiungi-Crittografia $EncryptionTarget -Password $Passphrase
Inizio-Sonno-Secondi 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -like "*.gpg"
foreach ($gpg in $EcnryptedFiles){
Move-Item -Path $gpg.FullName -Destinazione "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object $_.Name -notlike "*.gpg"
foreach ($nongpg in $UnEcnryptedFiles){
Rimuovi elemento -Percorso $nongpg.FullName -Conferma $false
}
Queste variabili vanno ad Add-Encryption come parametri. L'utente utilizza Start-Sleep per impostare il tempo per completare la crittografia dei file, ad esempio il tempo è tre minuti. Questa volta può variare in base alla dimensione e al numero di file su cui si sta lavorando.
Ottieni un file .GPG combinando Get-ChildItem con Where-Object . Utilizzare un ciclo ForEach in modo che ogni file venga copiato in una nuova directory. Puoi ripetere questi passaggi, ma convertire -like in -notlike in modo che un secondo ciclo ForEach pulisca i file originali.
Configura i lavori cron
Ora che hai lo script devi creare un'attività pianificata. Apri l'Utilità di pianificazione e fai clic su Crea attività .
Chiamalo AutoEncrypt . Se desideri eseguire l'attività solo dopo aver effettuato l'accesso, lascia le impostazioni predefinite. Se impostato per l'esecuzione sia che l'utente sia connesso o meno, seleziona " Esegui anche se l'utente è connesso o meno ", potrà accedere solo alle cartelle sul computer. Tuttavia, se la destinazione è su un computer remoto, è necessario memorizzare la password. Inoltre, puoi impostare un account secondario per proteggere il tuo account principale.
Fare clic sulla scheda Trigger e impostare le condizioni. Successivamente, fare clic su Nuovo per aprire la finestra di pianificazione. Puoi lasciare le impostazioni predefinite, quindi fare clic sulla casella accanto a Ripeti attività ogni e impostarla su 5 minuti . Puoi scegliere più tempo se la tua necessità non è urgente. Nel menu a discesa accanto a per la durata di: selezionare A tempo indeterminato , fare clic su OK per tornare alla finestra Crea attività.
Nella scheda Azioni , fai clic su Nuovo , nella finestra pop-up, imposta il percorso di Powershell nella casella Programma :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
Nella casella degli argomenti, inserisci ./ e il percorso dello script. Fare clic due volte su OK e lo script verrà impostato per essere eseguito come attività pianificata.
Vedi altro: