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

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

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

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

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

インターネットから入手したOfficeファイルでVBAマクロが実行できないときの対処方法
ここでは、インターネットなどの信頼できない場所から入手したVBAマクロを含むOfficeファイルで、VBAマクロの実行がブロックされるのを解除する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit1809

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

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

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

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

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

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

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

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

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

Memo

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

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

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

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

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

プロパティ画面からだと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
…
Memo

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

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

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

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

あとがき

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

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