Automatice el cifrado de archivos en Windows con este script de Powershell

El cifrado de archivos y el descifrado de archivos pueden ser un poco laboriosos. Sin embargo, al utilizar una extensión de PowerShell, puede reducir el proceso a un comando de una línea.

El cifrado de archivos y el descifrado de archivos pueden ser un poco laboriosos.  Sin embargo, al utilizar una extensión de PowerShell, puede reducir el proceso a un comando de una línea.
Anuncio

El cifrado de archivos y el descifrado de archivos pueden ser un poco laboriosos. ¡No crean estos 5 mitos sobre el cifrado! ¡No crea estos 5 mitos sobre el cifrado! El cifrado parece complejo, pero es mucho más directo de lo que la mayoría piensa. No obstante, puede que te sientas un poco demasiado oscuro para utilizar el cifrado, ¡así que vamos a romper algunos mitos de encriptación! Lee mas . Sin embargo, al utilizar una extensión de PowerShell, puede reducir el proceso a un comando de una línea. Para hacer esto, necesitamos instalar Gpg4win y un módulo de Powershell. Al usar scripts, podemos automatizar el proceso de cifrado y descifrado de archivos.

Echemos un vistazo a cómo encriptar archivos en Windows 10 automáticamente con un script.

Los requisitos previos: instalaciones, módulos y certificados

Antes de comenzar, deseará tener las herramientas GPG4Win instaladas y configuradas. Dirígete a la página del proyecto y descarga la última versión. (Si necesita alguna guía para instalar y configurar la herramienta, use esta guía en PDF.) Va a utilizar la función de cifrado simétrico de GPG4Win en este módulo.

Este módulo Powershell maneja el cifrado de archivos usando una frase de contraseña en lugar de un par de llaves. ¿Cómo funciona el cifrado y es realmente seguro? ¿Cómo funciona el cifrado y es realmente seguro? Lee mas . La fuerza de su cifrado depende de la fortaleza de su frase de contraseña. Debe asegurarse de elegir algo complejo. Generarlo usando LastPass u otro administrador de contraseñas Domine sus contraseñas para siempre con Lastpass 'Security Challenge Domine sus contraseñas para siempre con Lastpass' Security Challenge Pasamos tanto tiempo en línea, con tantas cuentas, que recordar las contraseñas puede ser realmente difícil. ¿Preocupado por los riesgos? Descubra cómo utilizar LastPass 'Security Challenge para mejorar su seguridad de seguridad. Lee mas . Finalmente, complete la instalación y continúe con el Módulo Powershell.

automatizar ventanas de cifrado de archivos powershell

Los módulos Powershell son colecciones de funciones empaquetadas. Usan el formato de archivo PSM1. Guarda estos archivos en el directorio de Módulos de su perfil. Luego, agregue el Módulo a su sesión / script usando Import-Module .

Todos los cmdlets del módulo están disponibles. A medida que avances tus habilidades de Powershell, incluso puedes crear tus propios módulos. Para instalar el módulo de cifrado de archivos, descárguelo de TechNet.

Luego, debe copiarlo en uno de los directorios de Módulos. Si desea instalarlo solo para usted, cópielo en PowershellModules en su carpeta de usuario. Copia esto en Explorer para un atajo:

%UserProfile%\Documents\WindowsPowerShell\Modules 

Si desea instalar el módulo para todos los usuarios, use la carpeta Program Files \ Windows PowerShell \ Modules . Pegue esto en Explorer para un atajo:

 %ProgramFiles%\Windows PowerShell\Modules 

Cree una nueva carpeta llamada GNUPG en el directorio de Módulos y pegue el archivo PSM1 en ella.

automatizar ventanas de cifrado de archivos powershell

Tendrá que importar el módulo cada vez que use: Import-Module GnuPG . Sin embargo, es posible que deba ajustar su política de ejecución a Sin restricciones. Para ello, ejecute el cmdlet Set-ExecutionPolicy RemoteSigned .

automatizar ventanas de cifrado de archivos powershell

Desde que descargó este Módulo, aún necesita marcarlo como un archivo local. Haga clic con el botón derecho en el archivo y seleccione, Propiedades . Luego, en el cuadro de diálogo, haz clic en Desbloquear . Confirme su acción en el cuadro de diálogo UAC, y está configurado para usar el módulo.

Trabajando con los Cmdlets

Omita el primer Cmdlet, que se usa para instalar GPG4Win PGP Me: Bastante bueno Explicación de privacidad PGP Me: Bastante bueno Explicación de la privacidad Pretty Good Privacy es un método para cifrar mensajes entre dos personas. Así es como funciona y si resiste el escrutinio. Lee mas . Deberías haber completado este paso. De lo contrario, puede usar este cmdlet para instalar y configurar el programa. El cmdlet lo descarga a la carpeta que elija y ejecuta el instalador. Los otros dos son complementarios: Add-Encryption y Remove-Encryption . Ambos toman tres parámetros.

automatizar ventanas de cifrado de archivos powershell

El primero es un directorio, pasado como -FolderPath . El módulo revisará cada archivo en un directorio para aplicar o eliminar el cifrado de archivos. No querrá apuntarlo a su carpeta Documentos. Querrá crear un par de subcarpetas para trabajar con este script. Si observa el código fuente del Módulo, está usando Get-ChildItem para obtener todo en el directorio. La función de descifrado limita la búsqueda a los archivos que terminan en .GPG.

automatizar ventanas de cifrado de archivos powershell

El siguiente parámetro es la frase de contraseña utilizada para el cifrado de archivos: -Password . Asegúrese de que esto sea complejo, ya que es la protección de su archivo. La función recorre cada uno de los archivos con un ciclo ForEach. El archivo y la frase de contraseña se combinan como argumentos en el proceso de inicio para GPG4Win.

El parámetro final, -GPGPath no es obligatorio. Se establece en la ubicación de instalación predeterminada para GPG4Win. Si lo tiene en otra unidad, puede actualizarlo usando este parámetro. Cambia el objetivo para el proceso de inicio .

Escribir la secuencia de comandos

Ahora es el momento de automatizar el proceso. Este script encriptará los archivos en un directorio. Mueva los archivos descifrados a un nuevo directorio. La secuencia de comandos eliminará el archivo original.

Comienzas tu script con algo de preparación. Primero, importe el módulo usando Import-Module GnuPG . Necesita configurar un par de variables. La primera variable $ EncryptionTarget es su carpeta de destino. (En el ejemplo, una variable de entorno se usa para apuntar a la carpeta del documento del usuario actual.) Establezca la segunda variable como su frase de contraseña. Este paso hace que sea más fácil cambiarlo más tarde.

 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 } 

Esas variables van a Add-Encryption como parámetros. Utiliza un Start-Sleep para dar el tiempo de encriptación del archivo para completar. El ejemplo usa tres minutos. Puede modificarlo en función del tamaño y la cantidad de archivos con los que está trabajando.

Obtiene los archivos .GPG combinando Get-ChildItem con Where-Object . Usando un ciclo ForEach, cada uno de esos archivos se copia a un nuevo directorio. Repetimos estos pasos, pero cambiamos el -like por -notlike. Un segundo bucle ForEach limpia los archivos originales.

Establecer la tarea recurrente

Tiene la secuencia de comandos, ahora necesita crear una tarea programada. Ejecutar programas automáticamente. Usar el programador de tareas de Windows. Ejecutar programas automáticamente. Usar el programador de tareas de Windows. Leer más. Abra el Programador de tareas y haga clic en Crear tarea .

automatizar ventanas de cifrado de archivos powershell

Llámalo algo así como AutoEncrypt . Si solo desea que la tarea se ejecute cuando está conectado, simplemente deje el valor predeterminado. Si lo configura para ejecutarse independientemente, solo puede acceder a los directorios locales. Sin embargo, si su destino está en una máquina remota, necesita almacenar su contraseña para que se ejecute el trabajo. Es posible que desee configurar una cuenta secundaria Cómo crear cuentas de invitado restringidas en Windows 10 de la manera más sencilla Cómo crear cuentas de invitado restringidas en Windows 10 de la manera más fácil Windows 10 eliminó la cuenta de invitado, pero puede hacer la suya solo en unos pocos minutos. Esta es una gran manera de permitir que cualquier persona use su computadora sin acceder a sus datos. Lea más para proteger la seguridad de su cuenta principal.

automatizar ventanas de cifrado de archivos powershell

Haga clic en la pestaña Disparadores y establezca las condiciones. A continuación, haga clic en Nuevo para abrir la ventana de programación. Puede dejar la configuración del disparador establecida en el valor predeterminado. Haga clic en la casilla de verificación junto a Repetir tarea cada y configúrelo en 5 minutos . Puede optar por ejecutar esto con menos frecuencia si su necesidad no es urgente. En el menú desplegable al lado de por la duración de: seleccione Indefinidamente . Haga clic en Aceptar para volver a la ventana Crear tarea.

automatizar ventanas de cifrado de archivos powershell

En la pestaña Acciones, haga clic en Nuevo . En la ventana emergente, ingrese la ruta a Powershell en el cuadro Programa:

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

En el cuadro de argumentos, ponga ./ y la ruta a su script. Haga clic en Aceptar dos veces y su secuencia de comandos se establece para ejecutarse como una tarea programada.

Algunas preocupaciones de seguridad y otras ideas

Tenga en cuenta que tiene el código de acceso para descifrar los archivos en la misma máquina donde los está almacenando. Este tipo de cifrado de archivos es más para encriptar un archivo antes de enviarlo o almacenarlo en otra máquina. (Si desea un sistema de archivos bloqueado, use Full Disk Encryption TrueCrypt Is Dead: 4 Alternativas de cifrado de disco para Windows TrueCrypt Is Dead: 4 Alternativas de cifrado de disco para Windows TrueCrypt ya no existe, pero afortunadamente hay otros programas de cifrado útiles. pueden no ser reemplazos exactos, deberían satisfacer sus necesidades. Lea más). Puede configurar una tarea similar para hacer lo mismo con el descifrado.

¿Tiene un proyecto que necesita un script de cifrado de archivos rápido y sucio? Háganos saber en los comentarios.

In this article