Búsqueda de sitios web

Utilice PowerShell para desbloquear archivos


El cmdlet Unblock-File en PowerShell se utiliza para desbloquear archivos que se descargaron de Internet. Con el comando, puede desbloquear todos los archivos en un directorio de forma recursiva y desbloquear el archivo de secuencia de comandos Powershell (ps1).

El siguiente script de PowerShell utiliza el cmdlet Unblock-File para eliminar la secuencia Zone.Identifier de un archivo cuando se descarga de Internet.

Unblock-File -Path D:\PS\ps-convert.xlsx  

El resultado del script de PowerShell anterior desbloquea un archivo especificado en el directorio dado y lo marca como seguro para su ejecución, evitando así cualquier restricción de seguridad.

En este tutorial, analizaremos cómo desbloquear un archivo, desbloquear varios archivos en una carpeta y desbloquear archivos exe y ps1 que se descargaron de Internet o de fuentes no confiables.

Desbloquear un archivo Exe

Para desbloquear un archivo exe, puede utilizar el cmdlet Unblock-File seguido de la ruta completa del archivo.

Unblock-File -Path D:\PS\agar.exe

Desbloquear todos los archivos en un directorio

Puede desbloquear todos los archivos en un directorio específico utilizando el cmdlet Get-ChildItem para recuperar los archivos y luego canalizarlos al cmdlet Unblock-File.

Get-ChildItem -Path "D:\PS\ps-study\" | Unblock-File 

En el script de PowerShell anterior, el comando Get-ChildItem usa el parámetro Ruta para recuperar todos los archivos del directorio especificado y canalizarlos al cmdlet Unblock-File para desbloquear todos los archivos en una carpeta.

Desbloquear archivos de forma recursiva

Para desbloquear archivos en el directorio de destino especificado y en sus subdirectorios, puede utilizar el parámetro -Recurse con Get-ChildItem.

Get-ChildItem -Path "D:\PS\ps-study\" -Recurse | Unblock-File 

En el script de PowerShell anterior, el comando Get-ChildItem utiliza el parámetro -Recurse para recuperar recursivamente todos los archivos del directorio de destino especificado y sus subcarpetas y canalizarlos a Unblock-File. . El comando Unblock-File desbloquea todos los archivos y le permite abrirlos y usarlos.

Desbloquear múltiples archivos

Puede desbloquear varios archivos simultáneamente proporcionando la lista de rutas de archivo.

# List of file paths
$Files = "D:\PS\ps-study\ps-convert.xlsx", "D:\PS\ps-study\ps-script.ps1","D:\argr.exe" 

foreach ($File in $Files) {
    Unblock-File -Path $File
}

En el script de PowerShell anterior, la variable $Files almacena la lista de rutas de archivos. Cada ruta de archivo en la matriz $Files se procesa una por una usando el bucle foreach. El cmdlet Unblock-File se utiliza para cada ruta de archivo para desbloquear los archivos.

Desbloquear archivos en Network Shres

Puede usar el cmdlet Unblock-File en PowerShell para desbloquear archivos ubicados en la red compartida usando sus rutas UNC.

Unblock-File -Path "\\incorp-eu-it\share\software\setupScreenSaver.ps1"

En el script de PowerShell anterior, el cmdlet Unblock-File desbloquea un archivo .ps1 ubicado en la ruta del recurso compartido de red.

Conclusión

Espero que el artículo anterior sobre cómo desbloquear un archivo y desbloquear todos los archivos en el directorio y subdirectorio utilizando el cmdlet Unblock-File de PowerShell le resulte útil.

Antes de utilizar el cmdlet Unblock-File, revise el archivo y su origen. Asegúrese de verificar que sea seguro abrirlo antes de abrir el archivo.

Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.

Artículos relacionados