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 dePath
, el valor del parámetroLiteralPath
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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn