Si, comme moi, vous téléchargez beaucoup, vous aurez remarqué que, par défaut, les fichiers téléchargés sont bloqués par Windows.
C’est particulièrement pénible pour les fichiers CHM, notamment, qu’on ne peut parcourir sans les avoir débloqués avant.

Après avoir cherché ce qui causait ce comportement, je suis tombé sur le blog de Scott HANSELMAN (http://www.hanselman.com/blog/RemovingSecurityFromDownloadedPowerShellScriptsWithAlternativeDataStreams.aspx) qui explique que ça vient des Alternate Data Stream.
Le concept n’a rien de nouveau puisqu’il date des premières versions du NTFS (http://en.wikipedia.org/wiki/Fork_(filesystem)#Microsoft). Quand on stocke un fichier sur disque, la donnée est enregistrée dans un flux anonyme primaire et il peut y avoir des flux alternatifs qui sont, eux, nommés. Le flux indiquant la provenance d’un fichier est “Zone.Identifier: $DATA”. Ainsi, si j’ouvre un prompt et fais le test sur un fichier récupéré sur internet, ça donne le résultat suivant :

“3” indique une provenance depuis Internet.
Mettre ce flux à vide permet de retirer le blocage Windows :

L’inconvéniant est que si on a beaucoup de fichiers, il faut faire un batch et que, de toutes façons, cette méthode n’est pas très propre car elle ne supprime pas le flux en question.
Heureusement, Scott mentionne aussi l’outil Streams de Sysinternals : http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx
Cet outil permet de parcourir un ensemble de fichiers et de supprimer tous les flux nommés de chaque fichier.

Donc si je veux débloquer chaque fichier présent sur mon bureau, je n’ai qu’à lancer “streams.exe -d -s Desktop”:

Voilà qui permettra d’éviter les messages désagréables après avoir récupéré des samples ou des documents !