Sbloccare i file scaricati da Internet

Quando si scaricano i file da una fonte non attendibile come ad esempio siti Internet, Windows per sicurezza imposta un blocco sul file che visualizzerà un avviso di sicurezza.

image  image

Per maggiori dettagli su questo meccanismo di protezione si veda la KB 883260 Information about the Attachment Manager in Microsoft Windows.

Questo meccanismo può essere gestito tramite  la Group Policy “Non mantenere informazioni sull’area nei file allegati” (Do not preserve zone information in file attachments)

image

image

In alternativa è possibile configurare questa impostazione tramite le opzioni di configurazione di Internet Explorer:

  image

Lasciando questa funzionalità di protezione alcuni file come ad esempio .pdf, .zip, .exe,.dll, etc.. potrebbero risultare bloccati è ovviamente possibile sbloccarli tramite interfaccia grafica, ma occorre agire su ciascun file in quanto l’opzione di sblocco non è disponibile in multiselezione.

Per aggirare il problema dello sblocco di più file contemporaneamente si possono usare vari approcci, uno ad esempio è quello di andare ad eliminare l’informazione di blocco che è conservata su file system NTFS a esempio tramite l’utility Streams di Windows Sysinternals come descritto nel seguente Tips: Streams, Zones, Vista and Blocked Files in IE. Questo approccio prevede di eliminare le informazioni di blocco eliminando le file stream information tramite ad esempio seguente comando che cancella gli streams su un path comprese le subdirectory:

streams –d –s c:\LockedFiles

Un altro approccio decisamente più mirato è quello di utilizzare il cmdlet PowerShell Unblock-File introdotto con PowerShell 3.0:

– The Unblock-File cmdlet works only in file system drives.

– Unblock-File performs the same operation as the Unblock button on the Properties dialog box in File Explorer.

– If you use the Unblock-File cmdlet on a file that is not blocked, the command has no effect on the unblocked file and the cmdlet does not generate errors.

Di seguito un esempio di utilizzo per sbloccare un singolo file:

Unblock-File -Path C:\LockedFiles\file.ext

Di seguito invece un esempio per sboccare i file in un path comprese le subdirectory:

Get-ChildItem -Path ‘c:\LockedFiles\’ -Recurse | Unblock-File

Volendo tramite PowerShell è anche possibile identificare i file bloccati all’interno di un path comprese le subdirectory:

Get-ChildItem -Path ‘f:\temp\’ -Recurse | Get-Item -Stream “Zone.Identifier” -ErrorAction SilentlyContinue

A riguardo si veda anche PowerTip: Use PowerShell to Unblock Files in Folder.