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

MiniTool_ad

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

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

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

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

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

動作環境

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

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

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

Windows XPのころから搭載されているセキュリティ機能で、インターネットからダウンロードされたファイルには特別な「ゾーン識別子(Zone Identifier)」情報が付加されます。

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

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

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

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

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

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

そんな時は、そのファイルに危険性がないことを確認して、ゾーン識別子情報を削除することで、警告画面が出ないようにできます。

GUIでゾーン識別子情報を削除する方法

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

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

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

GUIからだと1ファイルずつしか削除できませんが、Sysinternalsのstreamsコマンドを利用すれば、複数ファイルからゾーン識別子情報を一括削除できます。

streamsコマンドの準備

streamsコマンドは、以下のWebページからstreams.zipファイルをダウンロードし、解凍した中にあるstreams.exeを実行できる状態にしておきます。

Streams | Windows Sysinternals | Microsoft TechNet

ゾーン識別子情報を削除

管理者権限でコマンドプロンプトを起動し、streamsコマンドを実行します。

以下の例では、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形式ファイルを解凍する前にゾーン識別子情報を削除してから解凍することで回避できますよ。試してみてください。