Automatiser le chiffrement de fichiers dans Windows avec ce script Powershell

Le cryptage de fichier et le décryptage de fichier peuvent être un peu de travail. Toutefois, en utilisant une extension PowerShell, vous pouvez réduire le processus à une commande d'une ligne.

Le cryptage de fichier et le décryptage de fichier peuvent être un peu de travail.  Toutefois, en utilisant une extension PowerShell, vous pouvez réduire le processus à une commande d'une ligne.
Publicité

Le cryptage de fichier et le décryptage de fichier peuvent être un peu de travail Ne croyez pas ces 5 mythes sur le cryptage! Ne croyez pas ces 5 mythes sur le cryptage! Le cryptage semble complexe, mais il est beaucoup plus simple que ce que la plupart des gens pensent. Néanmoins, vous pourriez vous sentir un peu trop dans le noir pour utiliser le cryptage, alors jetons un coup d'œil à certains mythes de cryptage! Lire la suite . Toutefois, en utilisant une extension PowerShell, vous pouvez réduire le processus à une commande d'une ligne. Pour ce faire, nous devons installer Gpg4win et un module Powershell. En utilisant des scripts, nous pouvons automatiser le processus de cryptage et de décryptage des fichiers.

Jetons un coup d'oeil sur la façon de crypter les fichiers dans Windows 10 automatiquement avec un script.

Les prérequis: Installations, modules et Certs

Vous devez avoir les outils GPG4Win installés et configurés avant de commencer. Rendez-vous sur la page du projet et téléchargez la dernière version. (Si vous avez besoin d'aide pour installer et configurer l'outil, utilisez ce guide PDF.) Vous allez utiliser la fonction de chiffrement symétrique de GPG4Win dans ce module.

Ce module Powershell gère le cryptage des fichiers en utilisant une phrase secrète plutôt qu'une clé secrète. Comment fonctionne le cryptage et est-il vraiment sûr? Comment fonctionne le chiffrement, et est-il vraiment sûr? Lire la suite . La force de votre cryptage dépend de la force de votre mot de passe. Vous devriez vous assurer de choisir quelque chose de complexe. Générez-le en utilisant LastPass ou un autre gestionnaire de mot de passe. Passez votre temps en ligne, avec autant de comptes, que se souvenir des mots de passe peut être vraiment difficile. Préoccupé par les risques? Découvrez comment utiliser le Security Challenge de LastPass pour améliorer votre hygiène de sécurité. Lire la suite . Enfin, terminez l'installation et passez au module Powershell.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Les modules Powershell sont des collections de fonctions regroupées. Ils utilisent le format de fichier PSM1. Vous enregistrez ces fichiers dans le répertoire Modules de votre profil. Ensuite, ajoutez le module à votre session / script en utilisant Import-Module .

Toutes les applets de commande du module sont disponibles. En développant vos compétences Powershell, vous pouvez même créer vos propres modules. Pour installer le module de chiffrement de fichiers, téléchargez-le à partir de TechNet.

Ensuite, vous devez le copier dans l'un des répertoires Modules. Si vous souhaitez l'installer pour vous-même, copiez-le dans PowershellModules dans votre dossier utilisateur. Copiez ceci dans l'explorateur pour un raccourci:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Si vous souhaitez installer le module pour tous les utilisateurs, utilisez le dossier Program Files \ Windows PowerShell \ Modules . Collez ceci dans l'explorateur pour un raccourci:

 %ProgramFiles%\Windows PowerShell\Modules 

Créez un nouveau dossier nommé GNUPG dans le répertoire Modules et collez le fichier PSM1 dans celui-ci.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Vous devrez importer le module à chaque fois en utilisant: Import-Module GnuPG . Toutefois, vous devrez peut-être ajuster votre stratégie d'exécution sur Non restreint. Pour ce faire, exécutez la cmdlet Set-ExecutionPolicy RemoteSigned .

automatiser les fenêtres de chiffrement de fichiers PowerShell

Depuis que vous avez téléchargé ce module, vous devez toujours le marquer comme un fichier local. Cliquez avec le bouton droit sur le fichier et sélectionnez Propriétés . Ensuite, dans la boîte de dialogue, cliquez sur Débloquer . Confirmez votre action dans la boîte de dialogue UAC, et vous êtes configuré pour utiliser le module.

Travailler avec les cmdlets

Passer la première Cmdlet, qui est utilisée pour installer GPG4Win PGP Me: Très bonne confidentialité Explication PGP Me: Assez bonne confidentialité Expliquée Assez bonne La confidentialité est une méthode pour crypter des messages entre deux personnes. Voici comment cela fonctionne et s'il résiste à l'examen. Lire la suite . Vous devriez déjà avoir terminé cette étape. Sinon, vous pouvez utiliser cette cmdlet pour installer et configurer le programme. La cmdlet le télécharge dans un dossier de votre choix et exécute le programme d'installation. Les deux autres sont complémentaires: Add-Encryption et Remove-Encryption . Les deux prennent trois paramètres.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Le premier est un répertoire, passé comme -FolderPath . Le module parcourt chaque fichier dans un répertoire pour appliquer ou supprimer le cryptage de fichier. Vous ne voudriez pas le pointer dans votre dossier Documents. Vous voudriez créer deux sous-dossiers pour travailler avec ce script. Si vous regardez le code source du module, il utilise Get-ChildItem pour obtenir tout dans le répertoire. La fonction de décryptage limite la recherche aux fichiers se terminant par .GPG.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Le paramètre suivant est la phrase secrète utilisée pour le chiffrement de fichier: -Password . Assurez-vous que cela soit complexe, car c'est la protection de votre fichier. La fonction parcourt chacun des fichiers avec une boucle ForEach. Le fichier et la phrase secrète se combinent en arguments dans Start-Process pour GPG4Win.

Le dernier paramètre, -GPGPath n'est pas obligatoire. Il est défini sur l'emplacement d'installation par défaut de GPG4Win. Si vous l'avez sur un autre lecteur, vous pouvez le mettre à jour en utilisant ce paramètre. Il change la cible pour le processus de démarrage .

Écrire le script

Il est maintenant temps d'automatiser le processus. Ce script cryptera les fichiers dans un répertoire. Déplacez les fichiers décryptés dans un nouveau répertoire. Le script va supprimer le fichier d'origine.

Vous commencez votre script avec un peu de préparation. Tout d'abord, importez le module en utilisant Import-Module GnuPG . Vous devez configurer quelques variables. La première variable $ EncryptionTarget est votre dossier cible. (Dans l'exemple, une variable d'environnement est utilisée pour pointer vers le dossier de document de l'utilisateur actuel.) Définissez la deuxième variable en tant que phrase secrète. Cette étape facilite le changement ultérieur.

 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 } 

Ces variables vont à Add-Encryption en tant que paramètres. Vous utilisez un Start-Sleep pour donner le temps de cryptage du fichier à compléter. L'exemple utilise trois minutes. Vous pouvez le modifier en fonction de la taille et du nombre de fichiers avec lesquels vous travaillez.

Vous obtenez les fichiers .GPG en combinant Get-ChildItem avec Where-Object . À l'aide d'une boucle ForEach, chacun de ces fichiers est copié dans un nouveau répertoire. Nous répétons ces étapes, mais en changeant le -like pour -notlike. Une deuxième boucle ForEach nettoie les fichiers d'origine.

Définition de la tâche récurrente

Vous avez le script, vous devez maintenant créer une tâche planifiée Exécuter des programmes automatiquement à l'aide du planificateur de tâches Windows Exécuter des programmes automatiquement à l'aide du planificateur de tâches Windows En savoir plus. Ouvrez le planificateur de tâches et cliquez sur Créer une tâche .

automatiser les fenêtres de chiffrement de fichiers PowerShell

Nommez-le quelque chose comme AutoEncrypt . Si vous souhaitez uniquement que la tâche soit exécutée lorsque vous êtes connecté, laissez simplement la valeur par défaut. Si vous le définissez indépendamment, il ne peut accéder qu'aux répertoires locaux. Toutefois, si votre destination se trouve sur une machine distante, vous devez stocker votre mot de passe pour que le travail s'exécute. Vous pouvez créer un compte secondaire Comment créer des comptes invités restreints dans Windows 10 l'Easy Way Comment créer des comptes invités restreints dans Windows 10 Easy Way Windows 10 a supprimé le compte Invité, mais vous pouvez créer le vôtre en quelques minutes. C'est une excellente façon de laisser quiconque utiliser votre ordinateur sans accéder à vos données. En savoir plus pour protéger la sécurité de votre compte principal.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Cliquez sur l'onglet Déclencheurs et configurez les conditions. Ensuite, cliquez sur Nouveau pour afficher la fenêtre de planification. Vous pouvez laisser les paramètres de déclenchement définis par défaut. Activez la case à cocher en regard de Répéter une tâche tous les et définissez-la sur 5 minutes . Vous pouvez choisir de l'exécuter moins souvent si votre besoin n'est pas urgent. Dans la liste déroulante à côté de: sélectionnez Indéfiniment . Cliquez sur OK pour revenir à la fenêtre Créer une tâche.

automatiser les fenêtres de chiffrement de fichiers PowerShell

Dans l'onglet Actions, cliquez sur Nouveau . Dans la fenêtre contextuelle, placez le chemin d'accès à Powershell dans la zone Programme:

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

Dans la boîte d'arguments mettez ./ et le chemin d'accès à votre script. Cliquez deux fois sur OK et votre script est configuré pour s'exécuter en tant que tâche planifiée.

Quelques problèmes de sécurité et autres idées

Sachez que vous avez le mot de passe pour déchiffrer les fichiers sur la même machine où vous les stockez. Ces types de cryptage de fichiers sont plus pour crypter un fichier avant de l'envoyer, ou le stocker sur une autre machine. (Si vous voulez un système de fichiers verrouillé, utilisez Full Disk Encryption TrueCrypt est mort: 4 Alternatives de cryptage de disque pour Windows TrueCrypt est mort: 4 Alternatives de cryptage de disque Pour Windows TrueCrypt n'est plus, mais heureusement il existe d'autres programmes de cryptage utiles. peuvent ne pas être des remplacements exacts, ils devraient convenir à vos besoins.En savoir plus.) Vous pouvez configurer une tâche similaire pour faire la même chose avec le décryptage.

Avez-vous un projet qui nécessite un script de chiffrement de fichier rapide et sale? Faites le nous savoir dans les commentaires.

In this article