"Ce fichier provient d'un autre ordinateur ..." - comment puis-je débloquer tous les fichiers d'un dossier sans avoir à les débloquer individuellement?

186

Windows XP SP2 et Windows Vista ont cette affaire où les informations de zone sont conservées dans les fichiers téléchargés sur des partitions NTFS, de telle sorte que certains fichiers sont bloqués dans certaines applications jusqu'à ce que vous les "débloquiez".

Ainsi, par exemple, si vous téléchargez un fichier zip de code source pour essayer quelque chose, chaque fichier l’affiche dans les paramètres de sécurité des propriétés du fichier.

"Ce fichier provient d'un autre ordinateur et pourrait être bloqué pour protéger cet ordinateur"

Avec un bouton "Débloquer". Certains programmes ne s’y intéressent pas, mais Visual Studio refusera de charger des projets dans des solutions tant qu’ils n’auront pas été débloqués.

Même s’il n’est pas très difficile d’aller dans chaque fichier de projet et de le débloquer individuellement, c’est pénible. Et il ne semble pas que vous puissiez débloquer plusieurs fichiers sélectionnés simultanément.

Existe-t-il un moyen de débloquer tous les fichiers d'un répertoire sans avoir à les consulter tous individuellement?

Je sais que vous pouvez désactiver cette option globalement pour tous les nouveaux fichiers, mais disons que je ne veux pas le faire.

Tom Kidd
la source
30
Comment peut-on désactiver cela globalement? Lien s'il vous plaît? :) Merci
underkor
19
Oui, la pire "fonctionnalité" de Windows de tous les temps ...
Brian Knoblauch Le
16
Deuxième pire. Le premier problème est l'auto-exécution sur les nouveaux supports, qui a été à l'origine de ce désordre.
kmarsh
6
@Thomas Comme le souligne l'une des réponses, vous pouvez définir la clé de registre HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Attachments \ SaveZoneInformation = 1. Plus d'informations: support.microsoft.com/kb/883260
jamiebarrow
3
Mes téléchargements dans Google Chrome sont marqués et je dois les débloquer. @jamiebarrow dispose des informations appropriées pour la désactiver globalement via le registre ou vous pouvez utiliser l'éditeur de stratégie de groupe local (gpedit.msc) et modifier le paramètre dans Configuration utilisateur> Modèles d'administration> Composants Windows> Gestionnaire de pièces jointes> Ne pas conserver les informations de zone dans les pièces jointes> Activé.
Baodad

Réponses:

180

Si vous téléchargez .ZIPet décompressez un fichier, les fichiers individuels seront marqués comme la même zone que le fichier .ZIP. Presque chaque fois que j'ai un dossier plein de fichiers "bloqués", voici comment je les ai obtenus.

Avant de décompresser, cliquez sur le bouton Débloquer du répertoire .ZIP.

Jay Bazuzi
la source
1
Celui-ci est certainement le plus facile - vous gagnez
Tom Kidd
+1 même conclusion à laquelle je suis arrivé - un moyen facile de mettre en package des fichiers d’une manière non-NTFS - l’a trouvé en recherchant les termes suivants sur Google: débloquer tous les fichiers d’un répertoire xp.
Will Bickford
3
En fait non. Je télécharge des fichiers zip pour utiliser le contenu et je laisse mon navigateur ouvrir le fichier zip automatiquement. De là, j'appelle "Extraire tous les fichiers". Il n'y a pas d'option pour débloquer cet emplacement, et rechercher le fichier zip dans le dossier de téléchargement ou, pire encore, le dossier temporaire, est très fastidieux.
Thomas Eyde
Je souhaite que je pourrais upvoter cela plus d'une fois.
Dave Thieben
Cette solution ne fonctionne que si vous n'avez pas modifié les fichiers issus du fichier ZIP.
Charlie le
90

PowerShell, disponible ici , possède une Unblock-Fileapplet de commande qui s’acquittera de cette tâche pour vous. Pour débloquer tous les fichiers d'un répertoire, vous devez exécuter la commande suivante.

dir c:\mydir -Recurse | Unblock-File

Débloquer le fichier doc

pk.
la source
2
Ce n'est plus juste Beta, cela est publié et fonctionne assez bien.
Ken Hiatt
Excellent! J'ai extrait un gros zip et j'ai oublié de le débloquer d'abord, puis je l'ai effacé pour gagner de la place. Cela m'a évité de télécharger à nouveau ou une charge de travail manuel :)
Danny Tuppeny
3
Cela a fonctionné pour moi, mais n'a fourni aucun retour d'informations à la ligne cmd. Je l'ai aussi légèrement modifié, si vous êtes déjà dans le dossier, vous pouvez simplement le fairedir -Recurse | Unblock-File
user36088
3
Fonctionne comme un champion. Cela devrait être la réponse acceptée.
Chuck Conway
1
Parfait. Cela devrait être la réponse acceptée. Débloquer le zip est très utile si vous vous en souvenez bien, mais cette méthode pour le faire pour plusieurs fichiers à la fois est excellente.
Bas
64

C'est assez simple, NTFS a associé un flux de données (identifiant les "fichiers non sécurisés") au fichier lorsqu'il vient d'être téléchargé à partir d'Internet.

Supprimez récursivement ce flux pour tous les fichiers, procédez comme suit:

  1. Téléchargez l' exécutable CLI de Streams à partir de Microsoft
  2. Placez l'exécutable streams.exe dans votre répertoire Windows (ou partout où le système peut le trouver)
  3. Exécutez cette ligne dans la ligne de commande:

diffuse le répertoire -s -d

Il supprimera alors tous les flux de données de tous les fichiers de manière récursive dans le répertoire - vous avez maintenant débloqué avec succès tous les fichiers.

étalonner
la source
9
Peut-être dangereux Windows utilise également des flux à d'autres fins.
harrymc
6
Très rare - les flux de données ne servent pratiquement à rien car il s'agit d'une fonctionnalité non documentée. Comme le dit schnapple, il sera prudent de ne pas débloquer les fichiers d'un répertoire qui sont connus pour être des documents reçus sur Internet. Je ne lui recommande à aucun moment de faire _streams -s -d C: _ :)
calibre le
6
certaines personnes viennent de vérifier (parce que Streams est une fonctionnalité non documentée, il est difficile à vérifier) ​​et elles croient qu'une fois qu'un document est transféré sur Internet ou passe par autre chose que NTFS, il perd toutes les données de flux. Par conséquent, lorsque vous téléchargez pour la première fois quelque chose sur Internet, le seul flux de données que vous aurez est le flux de données "Fichier non sécurisé".
Caliban
22
Pourquoi pensez-vous qu'ils ne sont pas documentés? ( msdn.microsoft.com/en-us/library/aa364404(VS.85).aspx )
Reuben le
6
Ne supprimez pas aveuglément tous les autres flux de données, sauf si vous disposez de copies de sauvegarde de ces fichiers cryptés NTFS.
Ian Boyd
31

AlternateStreamView peut répertorier tous les autres flux NTFS pour les fichiers d'un répertoire (et de sous-répertoires, le cas échéant).

Supprimez tous les flux marqués " : Zone.Identifier: $ DATA " pour les fichiers sélectionnés afin de vous débarrasser des blocs de sécurité.

entrez la description de l'image ici

Snark
la source
1
Il existe un autre outil à cet effet - ZoneIDTrimmer
itsho
@ZoneIDTrimmer - Je ne suis pas sûr de comprendre. Quel autre outil?
user66001
5
ZoneIDTrimmer est le nom de l'outil, pas l'alias de la personne.
Snark
11

Une solution très simple à ce problème est liée à la première réponse: par exemple, si vous avez environ 1 000 fichiers bloqués, prenez-les tous et placez-les dans un nouveau dossier sur votre bureau (ou dans le répertoire de dossiers dans lequel vous travaillez). Cliquez avec le bouton droit sur le dossier en question, puis cliquez sur Envoyer vers, puis cliquez sur Dossier compressé (zippé), puis supprimez les fichiers d'origine et extrayez le dossier .ZIP et Viola !!! Tous vos fichiers sont débloqués: D, travaillé pour moi sur XP Pro SP3, donc supposons un peu que cela fonctionnera sur Vista aussi

Kristian
la source
De loin le moins de travail. Agréable!
RomanSt
9

Pour désactiver le blocage lorsque les fichiers sont téléchargés, ouvrez la clé de registre suivante:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\SaveZoneInformation

Changez SaveZoneInformation en 1.

REMARQUE:

  • 0 = non configuré
  • 1 = activé
  • 2 = désactivé
utilisateur61000
la source
2
Je n'ai pas cette option sur Windows 7 et l'article ne mentionne que XP. Pourtant, semble intéressant.
AndrejaKo
Pouvez-vous ajouter la clé pour activer / désactiver? Le fait que vous n’ayez pas de clé de stratégie d’utilisateur signifie simplement qu’elle n’a pas été configurée de cette façon; vous pouvez toujours l'utiliser.
JohnZaj
@ user61000 - Ai-je raison de croire que cela ne modifie que le comportement d'IE, et non (comme je l'ai découvert maintenant avec la dernière version de) les navigateurs Firefox (ou autres)?
user66001
Nécessite des droits d'administrateur :(
Quandary
1
Cela fonctionne également dans Windows 7 et 8 (et probablement 10). Lien mis à jour: support.microsoft.com/en-us/kb/883260 . Cela affecte également Chrome et je pense que Firefox.
thaimin
8

Comme l'a dit une autre affiche, l'indicateur de fichier non sécurisé est stocké dans un flux de données NTFS. Cela signifie qu'il existe un moyen très simple de supprimer ce flux de données: il suffit de déplacer le fichier sur un lecteur ne prenant pas en charge les flux de données NTFS.

En supposant que votre problème soit davantage lié au nombre de fichiers qu'à la taille de ceux-ci, le moyen le plus simple consiste à déplacer (et non pas copier) les fichiers sur un lecteur au format FAT, puis à les replacer vers le système de fichiers NTFS. lecteur (presque chaque clé USB est formatée en FAT32, donc tout se passera bien), puis déplacez ces fichiers là où vous le souhaitez.

Je l'avais déjà fait lorsque je voulais retirer l'indicateur bloqué de tout un répertoire de fichiers téléchargés et que c'était exactement ce dont j'avais besoin.

GAThrawn
la source
7
  • Téléchargez l' utilitaire Sysinternals Streams .
  • Décompressez et copiez streams.exe dans \ Windows \ System32.
  • Créez un nouveau fichier texte et renommez-le en "unblocker.reg".
  • Copiez le script de registre ci-dessous:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\*\shell\unblockfile]
    @="Unblock file"
    
    [HKEY_CLASSES_ROOT\*\shell\unblockfile\command]
    @="cmd /c streams -d \"%1\""
    
    [HKEY_CLASSES_ROOT\Directory\shell\unblockallthefiles]
    @="Unblock the files inside"
    
    [HKEY_CLASSES_ROOT\Directory\shell\unblockallthefiles\command]
    @="cmd /c streams.exe -d -s \"%1\""
    
  • Enregistrez le fichier.

  • Double-cliquez sur le fichier enregistré pour le fusionner dans le registre.

Après cela, chaque fois que vous cliquez avec le bouton droit sur un fichier, vous pouvez sélectionner "Débloquer un fichier" dans le menu contextuel ou vous pouvez également cliquer avec le bouton droit de la souris sur un dossier et sélectionner "Débloquer des fichiers ici".

la source

creapure90
la source
+1 Excellente idée pour que ce processus prenne moins de temps.
user66001
Cela a fonctionné pour moi, après avoir ajouté le chemin d'accès à streams.exe au format 8.3:@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
Olivier Jacot-Descombes le
Je sais que c'est un vieux fil, mais merci. Il existe plusieurs versions du même script reg sur Internet et la plupart d'entre elles ne fonctionnent pas. Je peux ajouter que cela a fonctionné pour moi sur Windows 7 64 bits professionnel.
Trenten
5

AlternateStreamView est génial. Une autre méthode consiste à archiver les fichiers au format .RAR, 7z ou .ZIP. Supprimez les originaux, puis ré-extrayez les fichiers.

Alec
la source
2

J'ai eu le même problème et la façon dont j'ai débloqué les fichiers était:

  • J'ai ajouté tous les fichiers bloqués à une archive RAR (j'ai utilisé WinRAR)
  • J'ai enlevé les fichiers originaux
  • J'ai extrait tous les fichiers de l'archive

Tous les fichiers sont maintenant débloqués.

Pour moi, certains numéros de MSDN Magazine étaient au format .chm, mais je ne pense pas que le type de fichier importe.

leoinfo
la source
1

Je cherchais une méthode batch (sans utiliser powershell) et après avoir lu cet article, j'ai proposé cette solution simple.

echo. > .\filename.zip:Zone.Identifier

cela ne supprimera pas le Zone.Identifierflux de données mais effacera son contenu qui semble fonctionner correctement.

Une autre solution (qui efface tous les flux de données et utilise un fichier temporaire est la suivante)

type filename.zip > filename.zip.tmp
move /y filename.zip.tmp filename.zip
Jürgen Steinblock
la source
0

J'ai un disque dur externe USB qui fonctionne très bien pour supprimer les blocs ... J'ai créé une petite partition et je l'ai formaté en FAT32..Lorsque je souhaite supprimer le bloc de quelque chose, je le déplace simplement vers ce lecteur, puis le déplace vers l'arrière :-)

utilisateur200075
la source
C'est certainement une bonne approche, mais cela a déjà été mentionné dans la réponse de GAThrawn .
Dennis
Peut-être la solution la moins risquée / la plus intensive en dehors de la solution de contournement fournie.
user66001
-4

Oui. À l'invite de commande, takeown /f <name of file>.

Dans votre cas, takeown /f *.* /rrentrer dans tous les sous-répertoires et débloquer *.*. Jouez avec le motif si nécessaire.

takeown /? pour plus d'instructions d'utilisation.

Peter Mounce
la source
1
Comment cela aidera-t-il?
Werner Henze
-5

Il y a un autre moyen facile. Il suffit de sélectionner le fichier ou le dossier, de cliquer dessus avec le bouton droit de la souris et de sélectionner Propriétés⇨Sécurite⇨Edit , puis cliquer sur Contrôle total .

Après cela, vous devez simplement cliquer [Save]et quitter.

Shreyas
la source
2
Ce n'est pas l'endroit où Windows stocke les informations selon lesquelles le fichier provient d'un autre ordinateur.
Werner Henze
D'accord Werner Henze . Dommage cependant, comme l 'effort de Shreyas avec les flèches Unicode.
user66001