Búsqueda de sitios web

¿Cómo crear un archivo zip protegido con contraseña usando PowerShell?


Recientemente, uno de mis clientes me pidió que creara un archivo zip cifrado. Probé PowerShell. En este tutorial de PowerShell, le mostraré cómo crear un archivo zip protegido con contraseña usando PowerShell.

Para crear un archivo zip protegido con contraseña en PowerShell, puede utilizar el cmdlet Compress-Archive combinado con una herramienta de terceros como 7-Zip. A continuación se muestra un script de ejemplo:

$zipExePath = "C:\Program Files\7-Zip\7z.exe"
$zipFilePath = "C:\MyFolder\PasswordProtectedFile.zip"
$zipPassword = "Dummypassword"
& $zipExePath a -tzip $zipFilePath "C:\MyFolder\*" -p $zipPassword

Este script asume que tiene 7-Zip instalado y especifica la ruta a su ejecutable. Comprime los archivos de destino en un archivo zip y los protege con la contraseña especificada.

Método 1: uso del módulo 7Zip4Powershell

Una de las formas más sencillas de crear un archivo zip protegido con contraseña en PowerShell es utilizar el módulo 7Zip4Powershell. Este módulo amplía la funcionalidad de PowerShell al proporcionar cmdlets fáciles de usar para crear archivos cifrados. Primero, debe instalar el módulo desde la galería de PowerShell.

Install-Module -Name 7Zip4Powershell

Una vez instalado, puede comprimir archivos con una contraseña de la siguiente manera:

Compress-7Zip -ArchiveFileName 'secured.zip' -Password 'YourSecurePassword' -Path 'C:\MyFolder\*'

Este comando creará un archivo zip llamado "secured.zip" con la contraseña especificada, incluidos todos los archivos en la ruta indicada.

Método 2: usar 7z.exe

Si bien PowerShell no admite de forma nativa la protección con contraseña para archivos zip, aún puede crear un script que utilice otras herramientas o aplicaciones como 7-Zip. El siguiente script demuestra cómo usar 7-Zip con PowerShell para crear un archivo zip protegido con contraseña.

Primero, asegúrese de tener 7-Zip instalado en su sistema. Luego, puede utilizar el siguiente script:

$zipExePath = "C:\Program Files\7-Zip\7z.exe"
$zipFilePath = "C:\MyFolder\PasswordProtectedFile.zip"
$zipPassword = "Dummypassword"
& $zipExePath a -tzip $zipFilePath "C:\MyFolder\*" -p $zipPassword

Este script establece la ruta al ejecutable de 7-Zip, los archivos que se comprimirán, la ruta de salida del archivo zip y la contraseña. Luego invoca 7-Zip para crear el archivo.

La siguiente captura de pantalla muestra después de ejecutar el script usando código VS en mi sistema local. Creó un archivo zip.

Método 3: usar una función de PowerShell personalizada

También puede escribir una función personalizada que cree un archivo zip protegido con contraseña. A continuación se muestra un ejemplo del script completo de PowerShell.

function Create-PasswordProtectedZip {
    param(
        [string]$zipExePath,
        [string]$filesToZip,
        [string]$zipFilePath,
        [string]$zipPassword
    )

    if (Test-Path $zipExePath) {
        & $zipExePath a -tzip $zipFilePath $filesToZip -p$zipPassword
    } else {
        Write-Error "7-Zip executable not found at path: $zipExePath"
    }
}

# Usage:
Create-PasswordProtectedZip -zipExePath "C:\Program Files\7-Zip\7z.exe" `
                            -filesToZip "C:\MyFolder\*" `
                            -zipFilePath "C:\MyFolder\Output\secured.zip" `
                            -zipPassword "YourSecurePassword"

Puede reutilizar la función anterior para crear archivos zip protegidos con contraseña usando PowerShell.

Conclusión

Aquí, aprendimos cómo crear un archivo zip protegido con contraseña en PowerShell usando el módulo 7Zip4Powershell, cmdlets nativos con aplicaciones de terceros como 7z.exe o escribir una función personalizada.

Déjame saber si todavía tienes alguna pregunta.

Artículos relacionados