Automatize a criptografia de arquivos no Windows com este script Powershell

A criptografia de arquivos e a descriptografia de arquivos podem ser um pouco trabalhosos. No entanto, usando uma extensão do PowerShell, você pode reduzir o processo para um comando de uma linha.

A criptografia de arquivos e a descriptografia de arquivos podem ser um pouco trabalhosos.  No entanto, usando uma extensão do PowerShell, você pode reduzir o processo para um comando de uma linha.
Propaganda

A criptografia de arquivos e a descriptografia de arquivos podem ser um pouco trabalhosos Não acredite nesses 5 mitos sobre criptografia! Não acredite nestes 5 mitos sobre criptografia! A criptografia parece complexa, mas é muito mais direta do que a maioria pensa. No entanto, você pode se sentir um pouco no escuro para usar criptografia, então vamos quebrar alguns mitos de criptografia! Consulte Mais informação . No entanto, usando uma extensão do PowerShell, você pode reduzir o processo para um comando de uma linha. Para fazer isso, precisamos instalar o Gpg4win e um módulo Powershell. Usando scripts, podemos automatizar o processo de criptografia e descriptografia de arquivos.

Vamos dar uma olhada em como criptografar arquivos no Windows 10 automaticamente com um script.

Os pré-requisitos: instalações, módulos e Certs

Você vai querer ter as ferramentas GPG4Win instaladas e configuradas antes de começar. Vá até a página do projeto e baixe a versão mais recente. (Se você precisar de alguma orientação para instalar e configurar a ferramenta, use este guia em PDF.) Você usará a função de cifra simétrica do GPG4Win neste módulo.

Este módulo Powershell lida com criptografia de arquivos usando uma frase secreta em vez de um par de chaves. Como funciona a criptografia e ela é realmente segura? Como funciona a criptografia e é realmente seguro? Consulte Mais informação . A força da sua criptografia depende da força da sua frase secreta. Você deve se certificar de escolher algo complexo. Gere-o usando o LastPass ou outro gerenciador de senhas Domine suas senhas para sempre Com o desafio de segurança Lastpass 'Desafio de segurança Domine suas senhas para sempre com a Lastpass' Passamos tanto tempo on-line, com tantas contas, que lembrar senhas pode ser muito difícil. Preocupado com os riscos? Descubra como usar o LastPass 'Security Challenge para melhorar sua higiene de segurança. Consulte Mais informação . Por fim, conclua a instalação e passe para o módulo Powershell.

automatizar o powershell de janelas de criptografia de arquivos

Módulos Powershell são conjuntos de funções empacotados. Eles usam o formato de arquivo PSM1. Você salva esses arquivos no diretório de módulos do seu perfil. Em seguida, adicione o módulo à sua sessão / script usando o Import-Module .

Todos os cmdlets do módulo estão disponíveis. Conforme você avança suas habilidades com o Powershell, você pode até criar seus próprios módulos. Para instalar o módulo de criptografia do arquivo, baixe-o do TechNet.

Em seguida, você precisa copiá-lo em um dos diretórios de módulos. Se você quiser instalá-lo apenas para você, copie-o para o PowershellModules na sua pasta de usuário. Copie isso no Explorer para um atalho:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Se você deseja instalar o módulo para todos os usuários, use a pasta Program Files \ Windows PowerShell \ Modules . Cole isso no Explorer para um atalho:

 %ProgramFiles%\Windows PowerShell\Modules 

Crie uma nova pasta chamada GNUPG no diretório Modules e cole o arquivo PSM1 nela.

automatizar o powershell de janelas de criptografia de arquivos

Você precisará importar o módulo a cada vez usando: Import-Module GnuPG . No entanto, pode ser necessário ajustar sua política de execução para irrestrito. Faça isso executando o cmdlet Set-ExecutionPolicy RemoteSigned .

automatizar o powershell de janelas de criptografia de arquivos

Desde que você baixou este módulo, você ainda precisa marcá-lo como um arquivo local. Clique com o botão direito do mouse no arquivo e selecione Propriedades . Em seguida, na caixa de diálogo, clique em Desbloquear . Confirme sua ação na caixa de diálogo do UAC e você está configurado para usar o módulo.

Trabalhando com os Cmdlets

Pule o primeiro Cmdlet, que é usado para instalar GPG4Win PGP Me: Muito bom Privacidade explicada PGP Me: Muito bom Privacidade explicada Muito bom Privacidade é um método para criptografar mensagens entre duas pessoas. Veja como isso funciona e se isso significa escrutínio. Consulte Mais informação . Você já deve ter completado este passo. Caso contrário, você pode usar esse cmdlet para instalar e configurar o programa. O cmdlet faz o download para uma pasta escolhida e executa o instalador. Os outros dois são complementares: Add-Encryption e Remove-Encryption . Ambos levam três parâmetros.

automatizar o powershell de janelas de criptografia de arquivos

O primeiro é um diretório, passado como -FolderPath . O módulo percorrerá todos os arquivos em um diretório para aplicar ou remover a criptografia de arquivos. Você não gostaria de apontá-lo na sua pasta Documentos. Você gostaria de criar algumas subpastas para trabalhar com esse script. Se você olhar o código-fonte para o módulo, ele está usando Get-ChildItem para obter tudo no diretório. A função de descriptografia limita a pesquisa a arquivos terminados em .GPG.

automatizar o powershell de janelas de criptografia de arquivos

O próximo parâmetro é a senha usada para a criptografia de arquivos: -Password . Certifique-se de que isso seja complexo, pois é a proteção do seu arquivo. A função percorre cada um dos arquivos com um loop ForEach. O arquivo e a senha combinam como argumentos no Start-Process for GPG4Win.

O parâmetro final, -GPGPath não é obrigatório. Está definido para o local de instalação padrão do GPG4Win. Se você tiver em outra unidade, você pode atualizá-lo usando este parâmetro. Altera o alvo para o processo de início .

Escrevendo o Script

Agora é hora de automatizar o processo. Este script irá criptografar os arquivos em um diretório. Mova os arquivos descriptografados para um novo diretório. O script excluirá o arquivo original.

Você começa seu script com alguma preparação. Primeiro, importe o módulo usando o Import-Module GnuPG . Você precisa configurar algumas variáveis. A primeira variável $ EncryptionTarget é sua pasta de destino. (No exemplo, uma variável de ambiente é usada para apontar para a pasta de documentos do usuário atual.) Defina a segunda variável como sua frase secreta. Esta etapa facilita a alteração posterior.

 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 } 

Essas variáveis ​​vão para Add-Encryption como parâmetros. Você usa um Start-Sleep para fornecer o tempo de criptografia do arquivo para ser concluído. O exemplo usa três minutos. Você pode alterá-lo com base no tamanho e no número de arquivos com os quais está trabalhando.

Você obtém os arquivos .GPG combinando Get-ChildItem com Where-Object . Usando um loop ForEach, cada um desses arquivos é copiado para um novo diretório. Repetimos esses passos, mas mudando o tipo de semelhança. Um segundo loop ForEach limpa os arquivos originais.

Definindo a tarefa recorrente

Você tem o script, agora você precisa criar uma tarefa agendada Executar programas automaticamente usando o Agendador de Tarefas do Windows Executar programas automaticamente usando o Agendador de Tarefas do Windows Leia mais. Abra o Agendador de Tarefas e clique em Criar Tarefa .

automatizar o powershell de janelas de criptografia de arquivos

Nomeie algo como AutoEncrypt . Se você deseja que a tarefa seja executada apenas quando estiver conectado, deixe o padrão. Se você configurá-lo para ser executado independentemente, ele só poderá acessar diretórios locais. No entanto, se o seu destino estiver em uma máquina remota, você precisará armazenar sua senha para que a tarefa seja executada. Você pode querer configurar uma conta secundária Como criar contas de convidados restritos no Windows 10 a maneira fácil Como criar contas de convidados restritos no Windows 10 a maneira fácil O Windows 10 removeu a conta de convidado, mas você pode fazer o seu próprio em apenas alguns minutos. Essa é uma ótima maneira de permitir que qualquer pessoa use seu computador sem acessar seus dados. Leia mais para proteger a segurança da sua conta principal.

automatizar o powershell de janelas de criptografia de arquivos

Clique na guia Triggers e configure as condições. Em seguida, clique em Novo para abrir a janela de agendamento. Você pode deixar as configurações de acionamento definidas como padrão. Clique na caixa de seleção ao lado de Repetir Tarefa A cada e configure-a para 5 Minutos . Você pode optar por executar isso com menos frequência se sua necessidade não for urgente. Na lista suspensa ao lado da duração de: selecione Indefinidamente . Clique em OK para voltar para a janela Criar Tarefa.

automatizar o powershell de janelas de criptografia de arquivos

Na guia Ações, clique em Novo . No pop-up, coloque o caminho para o Powershell na caixa do programa:

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

Na caixa de argumentos, coloque ./ e o caminho para o seu script. Clique em OK duas vezes e seu script está definido para ser executado como uma tarefa agendada.

Algumas preocupações de segurança e outras ideias

Esteja ciente de que você tem a senha para descriptografar os arquivos na mesma máquina em que você os está armazenando. Esses tipos de criptografia de arquivos são mais para criptografar um arquivo antes de enviá-lo ou armazená-lo em outra máquina. (Se você quiser um sistema de arquivos bloqueado, use Full Disk Encryption TrueCrypt está inoperante: 4 alternativas de criptografia de disco para Windows TrueCrypt está inoperante: 4 alternativas de criptografia de disco para Windows TrueCrypt não é mais, mas felizmente existem outros programas de criptografia úteis. pode não ser substitutos exatos, eles devem atender às suas necessidades. Leia mais.) Você pode configurar uma tarefa semelhante para fazer o mesmo com a descriptografia.

Você tem um projeto que precisa de um script de criptografia de arquivo rápido e sujo? Deixe-nos saber nos comentários.

In this article