FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Le chiffrement et le déchiffrement de fichiers peuvent être fastidieux. Grâce à un module PowerShell et Gpg4win, vous pouvez simplifier cela en une seule commande. Ce tutoriel expert vous guide pas à pas pour installer les outils, configurer le module et automatiser le processus sur Windows 10.

Découvrez comment chiffrer automatiquement vos fichiers sensibles avec un script PowerShell fiable et sécurisé.

Prérequis : installations, modules et certificats

Installez et configurez d'abord Gpg4win depuis la page officielle (téléchargez la dernière version). Consultez ce guide PDF si nécessaire. Nous utiliserons le chiffrement symétrique avec une phrase secrète forte, générée via un gestionnaire comme LastPass.

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Les modules PowerShell sont des ensembles de fonctions au format PSM1, stockés dans le répertoire Modules de votre profil. Importez-les via Import-Module.

Téléchargez le module de chiffrement depuis TechNet. Copiez-le dans %UserProfile%\Documents\WindowsPowerShell\Modules\GnuPG\ pour un usage personnel, ou %ProgramFiles%\Windows PowerShell\Modules\GnuPG\ pour tous les utilisateurs.

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Importez-le avec Import-Module GnuPG. Ajustez la politique d'exécution : Set-ExecutionPolicy RemoteSigned. Débloquez le fichier PSM1 via Propriétés > Débloquer.

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Utilisation des cmdlets

Ignorez Install-Gpg4win si déjà installé. Utilisez Add-Encryption et Remove-Encryption, avec paramètres : -FolderPath (dossier à traiter, créez-en un dédié), -Password (phrase secrète complexe) et -GPGPath (optionnel).

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Le module utilise Get-ChildItem pour parcourir les fichiers (.gpg pour déchiffrement). La passphrase protège via Start-Process gpg.exe.

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Rédaction du script

Ce script chiffre les fichiers d'un dossier, les déplace chiffrés et supprime les originaux.

Import-Module GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "VotrePhraseSecrèteTrèsLongueEtComplexe"
Add-Encryption -FolderPath $EncryptionTarget -Password $Passphrase
Start-Sleep -Seconds 60
$EncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object { $_.Name -like "*.gpg" }
foreach ($gpg in $EncryptedFiles) {
    Move-Item -Path $gpg.FullName -Destination "$($env:USERPROFILE)\Documents\$($gpg.Name)"
;
}$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | Where-Object { $_.Name -notlike "*.gpg" }
foreach ($nonGpg in $UnEncryptedFiles) {
    Remove-Item -Path $nonGpg.FullName -Confirm:$false
}

Ajustez Start-Sleep selon la charge. Filtres via Where-Object et boucles ForEach.

Configuration de la tâche récurrente

Ouvrez le Planificateur de tâches, créez une tâche nommée AutoEncrypt. Onglet Déclencheurs > Nouveau : répétez toutes les 5 minutes, indéfiniment.

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Actions > Nouveau : Programme %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe, Arguments -File "C:\chemin\vers\votre\script.ps1".

Automatisez le chiffrement de fichiers sous Windows avec un script PowerShellAutomatisez le chiffrement de fichiers sous Windows avec un script PowerShell

Considérations de sécurité et idées avancées

Ce chiffrement protège pour transferts ou stockage externe (pas pour disques locaux : utilisez BitLocker). Configurez une tâche inverse pour déchiffrer. Partagez vos projets en commentaires !

[]