「このファイルは別のコンピューターから来ました...」-フォルダー内のすべてのファイルを個別にブロック解除せずにブロック解除するにはどうすればよいですか?


186

Windows XP SP2およびWindows Vistaでは、NTFSパーティションにダウンロードされたファイルにゾーン情報が保存されるため、ファイルを「ブロック解除」するまで特定のアプリケーションの特定のファイルをブロックします。

たとえば、ソースコードのzipファイルをダウンロードして試してみると、すべてのファイルにファイルプロパティのセキュリティ設定が表示されます

「このファイルは別のコンピューターからのものであり、このコンピューターを保護するためにブロックされている可能性があります」

「ブロック解除」ボタンとともに。気にしないプログラムもありますが、Visual Studioはブロックが解除されるまでプロジェクトをソリューションにロードすることを拒否します。

すべてのプロジェクトファイルに移動して個別にブロックを解除するのはそれほど難しくありませんが、苦痛です。また、選択した複数のファイルのブロックを同時に解除できるようには見えません。

ディレクトリにあるすべてのファイルを個別に移動することなくブロック解除する方法はありますか?

すべての新しいファイルに対してこれをグローバルにオフにできることは知っていますが、それをしたくないとしましょう


30
これをグローバルにどのようにオフにしますか?リンクしてください?おかげで:)
underskor

19
はい、史上最悪のWindowsの「機能」...
ブライアン・

16
二番目に悪い。最初の最悪の事態は、新しいメディアでの自動実行であり、これがこの混乱を引き起こしました。
kmarsh

6
@Thomas回答の1つが指摘しているように、レジストリキーHKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies \ Attachments \ SaveZoneInformation = 1を設定することでこれを行うことができます。詳細:support.microsoft.com/kb/883260
ジャミーバロー

3
Google Chromeでのダウンロードにはタグが付けられ、ブロックを解除する必要があります。@jamiebarrowには、レジストリを介してグローバルにこれを無効にするための適切な情報があります。または、ローカルグループポリシーエディター(gpedit.msc)を使用して、[ユーザーの構成]> [管理用テンプレート]> [Windowsコンポーネント]> [添付ファイルマネージャー]> [ゾーン情報を保存しない]添付ファイル>有効に。
バオダー14

回答:


180

をダウンロードし.ZIPて解凍すると、個々のファイルはと同じゾーンとしてマークされます.ZIP。「ブロックされた」ファイルでいっぱいのフォルダーがあるたびに、これが私がそれらを手に入れた方法です。

解凍する前に、の[ブロックを解除]ボタンをクリックします.ZIP


1
この1は間違いなく最も簡単です-あなたが勝つ
トム・キッド

私が思いついた同じ結論-ファイルをNTFS以外の方法でパッケージ化する簡単な方法-にGoogleでこれらの用語を検索して見つけました:ディレクトリXPのすべてのファイルのブロックを解除します。
ウィルビックフォード

3
実は違う。zipファイルをダウンロードしてコンテンツを使用し、ブラウザーでzipファイルを自動的に開きます。そこから「すべてのファイルを抽出」を呼び出します。これらの場所からブロックを解除するオプションはありません。また、ダウンロードフォルダーまたはさらに悪いことに一時フォルダーのzipファイルを探すのは非常に面倒です。
トーマス・エイデ

これに何度も賛成できたらと思います。
デイブティーベン

このソリューションは、ZIPファイルから出てきたファイルを変更していない場合にのみ機能します。
チャーリー

90

ここにあるPowerShellには、Unblock-Fileこのタスクを実行するコマンドレットがあります。ディレクトリ内のすべてのファイルのブロックを解除するには、次のコマンドを発行します。

dir c:\mydir -Recurse | Unblock-File

ブロック解除ドキュメント


2
ベータ版だけでなく、これはリリースされており、非常にうまく機能しています。
ケンハイアット

優れた!大きなzipを抽出し、最初にブロックを解除するのを忘れて、スペースを節約するためにzipを削除しました。これにより、もう一度ダウンロードしたり、手作業を
大量に

3
これはうまくいきましたが、cmd行でフィードバックを提供しませんでした。私はまた、わずかにそれを微調整しますが、フォルダ内にすでにいるならば、あなただけ行うことができますdir -Recurse | Unblock-File
user36088

3
チャンピオンのように機能します。これは受け入れられた答えでなければなりません。
チャックコンウェイ

1
パーフェクト。これは受け入れられた答えでなければなりません。zipのブロックを解除することは覚えていればうまくできますが、多数のファイルに対して一度に行うこの方法は優れています。
バス

64

NTFSは、インターネットからダウンロードされたばかりのファイルにデータストリーム(「安全でないファイル」)を添付しました。

すべてのファイルについてこのストリームを再帰的に削除し、次の手順に従います。

  1. MicrosoftからStreams CLI実行可能ファイルをダウンロードします
  2. streams.exe実行可能ファイルをWindowsディレクトリ(またはシステムが検出できる場所)に配置します
  3. コマンドラインで次の行を実行します。

ストリーム-s -d ディレクトリ

その後、ディレクトリ内のすべてのファイルからすべてのデータストリームが再帰的に削除されます。これで、すべてのファイルのブロックが正常に解除されました。


9
危険かもしれません。Windowsは、他の目的にもストリームを使用します。
harrymc

6
非常にまれ-文書化されていない機能であるため、データストリームはほとんど使用されません。シュナップルが言ったように、それは安全です-彼は、インターネット経由で受信したドキュメントであることが知られている特定のディレクトリ内のファイルのブロックを解除したいだけです。_streams -s -d C:_ :)
caliban

6
一部の人々でチェックしただけで(Streamsはドキュメント化されていない機能であるため、検証するのは困難です)、ドキュメントがインターネット経由で転送されるか、NTFS以外のものを通過すると、すべてのストリームデータが失われると考えています。その結果、最初にインターネットから何かをダウンロードするとき、唯一のデータストリームは「安全でないファイル」データストリームになります。
カリバン

22
なぜ文書化されていないと思いますか?(msdn.microsoft.com/en-us/library/aa364404(VS.85).aspx
ルベン

6
これらのNTFS暗号化ファイルのバックアップコピーがない限り、すべての代替データストリームを盲目的に削除しないでください。
イアン・ボイド

31

AlternateStreamViewは、ディレクトリ内のファイル(および必要に応じてサブディレクトリ)のすべての代替NTFSストリームを一覧表示できます。

選択したファイルの「:Zone.Identifier:$ DATA」とマークされたすべてのストリームを削除して、セキュリティブロックを削除します。

ここに画像の説明を入力してください


1
この正確な目的のための別のツールがあります-ZoneIDTrimmer
itsho

@ZoneIDTrimmer-わかりません。他にどんなツールがありますか?
user66001

5
ZoneIDTrimmerはツールの名前であり、個人のエイリアスではありません。
スナーク

11

この種の非常に簡単な回避策は、最初の答えにつながります。たとえば、すべてのファイルがブロックされている約1000個のファイルがある場合は、すべてのファイルを取得して、デスクトップ上の新しいフォルダ(または作業中のフォルダディレクトリ)に入れますそれらのフォルダを右クリックし、[送信]をクリックして、オプションから[圧縮(zip形式)フォルダ]をクリックします。その後、元のファイルを削除し、.ZIPフォルダとViolaを抽出します!!!すべてのファイルのブロックが解除されます: XP Pro SP3の私にとっては、それがVistaでも動作すると仮定してちょっと


作業量が圧倒的に少ない。いいね!
RomanSt

9

ファイルのダウンロード時にブロックを無効にするには、次のレジストリキーを開きます。

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

SaveZoneInformationを1に変更します。

注意:

  • 0 =未構成
  • 1 =有効
  • 2 =無効

2
私はWindows 7にはそのオプションがなく、記事ではXPについてのみ言及しています。それでも、面白そうです。
AndrejaKo

有効/無効にするキーを追加できますか?ユーザーポリシーキーがないということは、そのようにセットアップされていないことを意味するだけです。引き続き使用できます。
JohnZaj

@ user61000-これはIEの動作を変更するだけで、Firefox(またはその他の)ブラウザーの最新リリースで行われたことがわかっているのではないかと疑っていますか?
user66001

管理者権限が必要です:(
Quandary

1
これはWindows 7および8(およびおそらく10)でも機能します。更新されたリンク:support.microsoft.com/en-us/kb/883260。これはChromeにも影響します。Firefoxだと思います。
タイミン

8

別の投稿者によると、安全でないファイルフラグはNTFSデータストリームに保存されています。つまり、このデータストリームを削除する非常に簡単な方法があり、NTFSデータストリームをサポートしていないドライブにファイルを移動するだけです。

問題がファイルのサイズではなくファイルの数に関連していると仮定すると、最も簡単な方法は、ファイルをFAT形式のドライブに移動(コピーではなく)してから、NTFSに戻すことです。ドライブ(ほぼすべてのUSBスティックはFAT32でフォーマットされているためうまく動作します)してから、それらのファイルを目的の場所に戻します。

ダウンロードしたファイルのディレクトリ全体からブロックされたフラグを削除したいときに、これを以前に実行しました。


7
  • Sysinternals Streamsユーティリティをダウンロードします。
  • streams.exeを解凍して\ Windows \ System32にコピーします。
  • 新しいテキストファイルを作成し、「unblocker.reg」などの名前に変更します。
  • 以下のレジストリスクリプトをコピーします。

    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\""
    
  • ファイルを保存します。

  • 保存したファイルをダブルクリックして、レジストリにマージします。

この後、ファイルを右クリックするたびに、コンテキストメニューで[ファイルのブロック解除]を選択するか、フォルダーを右クリックして[ここのファイルのブロック解除]を選択できます。

ソース


+1このプロセスの時間を短縮するための素晴らしいアイデア。
user66001

私は、8.3形式でstreams.exeへのパスを追加した後は、私の仕事:@="cmd /c C:\PROGRA~2\Sysinternals\streams.exe -d -s \"%1\""
オリヴィエJacot-Descombes

これは古いスレッドですが、ありがとうございます。インターネットには同じregスクリプトの複数のバージョンがあり、それらのほとんどは機能しません。これは、Windows 7 Professional 64bitでこれが機能したことを付け加えることができます。
トレンテン

5

AlternateStreamViewは素晴らしいです。ただし、別の方法は、ファイルを.RAR、7zまたは.ZIPにアーカイブすることです。オリジナルを削除してから、ファイルを再抽出します。


2

同じ問題があり、ファイルのブロックを解除する方法は次のとおりです。

  • ブロックされたすべてのファイルをRARアーカイブに追加しました(WinRARを使用しました)
  • 元のファイルを削除しました
  • アーカイブからすべてのファイルを抽出しました

これで、すべてのファイルのブロックが解除されました。

私にとって、.chm形式のMSDN Magazineの問題がいくつかありましたが、ファイルの種類は重要ではないと思います。



1

私は(Powershellを使用せずに)バッチ方式を探していましたが、この投稿を読んだ後、この簡単な解決策を思いつきました

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

これはZone.Identifierデータストリームを削除しませんが、正常に機能しているように見えるコンテンツをクリアします。

別の解決策(すべてのデータストリームをクリアし、一時ファイルを使用します)

type filename.zip > filename.zip.tmp
move /y filename.zip.tmp filename.zip

0

ブロックを削除するのに最適なUSB外付けハードドライブがあります...小さなパーティションを作成し、FAT32。でフォーマットしました。 :-)


これは確かに良いアプローチですが、GATHhrawnの回答ですでに言及されています
デニス

提供された回避策の回答のうち、おそらく最もリスクの低い/集中的なステップです。
user66001

-4

はい。コマンドプロンプトで、takeown /f <name of file>

あなたの場合、takeown /f *.* /rすべてのサブディレクトリに再帰してブロックを解除し*.*ます。必要に応じてパターンを試してください。

takeown /? その他の使用方法については。


1
それはどのように役立つでしょうか?
ヴェルナーヘンツェ14年

-5

別の簡単な方法があります。ファイルまたはフォルダを選択し、右クリックして[ プロパティ ]、[ セキュリティ ]、[ 編集 ]の順に選択し、[ フルコントロール ]をクリックします。

その後、クリック[Save]して終了するだけです。


2
これは、ファイルが別のコンピューターから来たという情報をWindowsが保存する場所ではありません。
ヴェルナーヘンツェ14年

ヴェルナー・ヘンツェに同意する。残念ですが、ユニコードの矢印を使ったshreyasの努力のように。
user66001
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.