Desbloquear archivos usando PowerShell

Desbloquear archivos usando PowerShell

Si estamos usando un sistema operativo basado en Windows, es posible que te hayas encontrado con el mensaje:

This file came from another computer and might be blocked to help protect this computer.

Por ejemplo, puede aparecer una advertencia cuando intenta abrir un archivo que descargó de Internet. Este artículo discutirá cómo desbloquear y permitir archivos descargados de Internet usando PowerShell.

Desbloquear archivos usando PowerShell

Para este artículo, utilizaremos el cmdlet nativo de PowerShell, Unblock-File, introducido en PowerShell 3.0.

El cmdlet Unblock-File nos permite abrir archivos que descargamos de Internet. Además, desbloquea los archivos de script de Windows PowerShell que descargamos de Internet para que podamos ejecutarlos, incluso cuando la política de ejecución de Windows PowerShell está configurada como RemoteSigned.

Estos archivos están bloqueados de manera predeterminada para proteger la computadora de archivos que no son de confianza.

Sintaxis básica:

Unblock-File [-Path*] <String[]> [-Confirm] [-WhatIf] [<CommonParameters>]

Internamente, el cmdlet Unblock-File elimina el flujo de datos alternativo Zone.Identifier, que tiene un valor de 3 para indicar que lo descargamos de Internet. Para obtener más información sobre las políticas de ejecución de Windows PowerShell, consulte about_Execution_Policies.

Parámetros

Estos son algunos de los parámetros que podemos usar con el cmdlet Unblock-File:

  • -Confirmar: este parámetro le solicita confirmación antes de ejecutar el cmdlet.

  • -LiteralPath: Especifica los archivos a desbloquear. A diferencia de Path, el valor del parámetro LiteralPath se usa a medida que se escribe; ningún carácter se interpreta como comodín.

    Si la ruta incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a Windows PowerShell que no interprete los caracteres como secuencias de escape.

  • -Path: Especifica los archivos a desbloquear. Se admiten caracteres comodín.

  • -WhatIf: Esto muestra lo que sucedería si se ejecuta el cmdlet. El cmdlet no se ejecuta.

Ejemplos

Podemos usar el cmdlet Unblock-File especificando la ruta del archivo del archivo bloqueado:

Unblock-File -Path C:\Downloads\SampleFile.exe

Principalmente, usamos PowerShell porque necesitamos automatizar procesos o procesar cosas a granel. Dado que podemos usar el comando Desbloquear archivo en una canalización, podemos usar dicho comando después de consultar todos los contenidos en una carpeta.

Una vez consultados, procesaremos todos los archivos en el comando Desbloquear-Archivo.

dir -Path "C:\Downloads" -Recurse | Unblock-File

Además, el cmdlet Unblock-File solo funciona en las unidades del sistema de archivos. El cmdlet Unblock-File realiza la misma operación que el botón Desbloquear en el cuadro de diálogo Propiedades en el Explorador de archivos.

Por lo tanto, si usa el cmdlet Unblock-File en un archivo no bloqueado, el comando no afecta el archivo desbloqueado y el cmdlet no genera errores.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell File