インターネットからダウンロードしたファイルが実行できない理由と対処方法

インターネットからダウンロードしたファイルが実行できない理由と対処方法

Windowsで、インターネットからダウンロードしたファイルを実行しようとすると「保護されました」と警告画面が表示されて、明示的に実行ボタンをクリックしないと実行できないときがあります。

これは、Windowsのセキュリティ機能「Windows Defender SmartScreen」によるもので、インターネットからダウンロードしたファイルによっては、この機能が原因で正常に実行できないこともあります。

そこでここでは、インターネットからダウンロードしたファイルを実行したときに、警告画面が出ないように設定する方法を紹介します。

なぜ、警告画面が出るのか?

Windowsでは、セキュリティ機能によりインターネットからダウンロードしたファイルには特別な「ゾーン識別子(Zone Identifier)」と呼ばれる情報が付加されます。

これにより、ファイルを実行しようとするとWindows Defender SmartScreenによる警告画面が表示されます。

これは、インターネットからダウンロードしたファイルには、マルウェアなどの危険なプログラムが含まれている可能性があるため、警告画面を表示することで注意を促してくれています。

Windows 10では、次のような画面が表示され、ユーザーがこの画面で明示的に許可しない限り、ファイルは実行できません。

インターネットからダウンロードしたファイルが実行できない理由と対処方法

警告画面が出ないようにするには

ゾーン識別子情報の付加は、Windowsを安全に利用するために必要な機能ですが、インターネットからダウンロードしたファイルを実行したときに、この機能がジャマをして正常に動作しないことがあります。

そのようなときは、ダウンロードしたファイルに危険性がなければ、ゾーン識別子情報を削除することで警告画面が出ないようにできます。

ダウンロードしたファイルがZIP形式の場合は、ゾーン識別子情報を削除せずに解凍してしまうと、解凍したファイルすべてにゾーン識別子情報が付加されてしまうため、ゾーン識別子情報を削除してから解凍しましょう。

プロパティ画面でゾーン識別子情報を削除する方法

マウス操作でゾーン識別子情報を削除するには、対象となるファイルのプロパティ画面を表示して、画面下部の「セキュリティ」の欄にある「許可する」のチェックボックスをオンにして「OK」をクリックします。

インターネットからダウンロードしたファイルが実行できない理由と対処方法

コマンドでゾーン識別子情報を一括削除する方法

プロパティ画面からだと1ファイルずつしか削除できませんが、Microsoftが提供しているWindows向けトラブルシューティングツール「Sysinternals」に含まれているstreamsコマンドを利用すれば、複数ファイルからゾーン識別子情報を一括削除できます。

streamsコマンドの入手

streamsコマンドは、以下のWebページからstreams.zipファイルをダウンロードし、解凍した中にあるstreams.exeを任意の場所に配置します。

Streams | Windows Sysinternals | Microsoft TechNet

ゾーン識別子情報を削除

ファイルからゾーン識別子情報を削除をするときは、管理者権限でコマンドプロンプトを起動し、以下のようにコマンドを実行します。

> streams.exe -d <ファイル名またはフォルダー名>

たとえば「F:\Download」フォルダーにあるすべてのファイル(サブディレクトリー配下を含む)からゾーン識別子情報を一括削除したいときは、以下のようにコマンドを実行します。

> streams.exe -s -d F:\Download\*

コマンドの実行結果には、処理されたファイル名とゾーン識別子情報が削除されたことが表示されます。

streams v1.60 - Reveal NTFS alternate streams.
Copyright (C) 2005-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

F:DownloadLICENSE.txt: ←処理されたファイル名
Deleted :Zone.Identifier:$DATA ←ゾーン識別子情報が削除された
F:Downloadexample.dll:
Deleted :Zone.Identifier:$DATA
F:DownloadCommon.dll:
Deleted :Zone.Identifier:$DATA
F:Downloadsubdirsample.exe:
Deleted :Zone.Identifier:$DATA
…

streamsコマンドは、フォルダーやファイルの名前が日本語だと正常に処理できない場合があるので、事前にリネームしておきます。

ゾーン識別子情報が付加されないようにするには

おすすめしませんが、レジストリやグループポリシー設定で、インターネットからダウンロードしたファイルにゾーン識別子情報を付加しないように設定することもできます。

なお、手順については、ここでは割愛させていただきます。

あとがき

ZIP形式ファイルを解凍して利用するタイプのアプリでは、そのまま解凍して実行すると、この機能が原因でアプリが正常に動作しなかったり、異常終了することがあります。

そんな時は、ZIP形式ファイルを解凍する前にゾーン識別子情報を削除してから解凍することで回避できますよ。試してみてください。