Saltar al contenido

¿Desbloquear un archivo con PowerShell?

Solución:

Si usa PowerShell v3, puede usar el Unblock-File cmdlet.


La parte de “bloqueo” es simplemente un flujo de datos alternativo del archivo, llamado “Zone.Identifier”. Puede mostrarlo en CMD utilizando la redirección de entrada (aunque no hay otra forma de acceder a una secuencia en CMD):

H:Downloads> more < test.exe:Zone.Identifier
[ZoneTransfer]
ZoneId=3

Puedes encontrarlos usando dir /r en Windows Vista y posterior:

2009-10-24  12:18        54.538.056 test.exe
                                 24 test.exe:Zone.Identifier:$DATA

También en CMD puede deshacerse de eso fácilmente sobrescribiéndolo (usando la redirección de salida, esta vez):

echo.>myDownloadedFile.exe:Zone.Identifier

que no es bastante lo mismo que eliminar el ADS por completo, pero funciona en ese Explorer ya no se queja.

No parece haber soporte nativo para manejar ADS desde PowerShell (como se menciona en el blog de The PowerShell Guy aquí. Ese artículo también tiene información sobre cómo obtener esa funcionalidad en PowerShell). Sin embargo, podría simplemente llamar a cmd:

cmd /c "echo.>test.exe:Zone.Identifier"

Eso también funciona desde PowerShell.

Otra opción sería la de Mark Russinovich streams utilidad que le permite inspeccionar los ADS de un archivo y también eliminarlos. Entonces

streams -d myDownloadedFile.exe

también funciona.

El módulo PoshCode incluye funciones Set-DownloadFlag y Remove-DownloadFlag que funcionan como se anuncia. 🙂 Acabo de sacar esa pieza en su propia contribución de script http://poshcode.org/1430 … también funcionará en PowerShell 1, si usa la función New-Type en lugar de Add-Type ( http://poshcode.org/720)

Oneliner para eliminar la información de la zona (inspirada en la respuesta aceptada) para todos los niños (con las citas correctas).

get-childitem -rec | % { cmd /c "echo.>""$($_.FullName)"":Zone.Identifier" }

No es una respuesta estricta a la pregunta, solo quiero asegurarme de que la próxima vez que se me ocurra este problema ya haya una solución :).

PD. Funciona en PS 2.0

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *