Windowsでは、インターネットからダウンロードしたファイルをすぐ実行しようとしても、「保護されました」などと表示されることがある。その原因である「ゾーン情報」の解除方法を解説。
対象OS:Windows 10
Windows上のWebブラウザでインターネットからファイルをダウンロードしたり、メールなどに添付されていたファイルを保存したりしたとしよう。そのファイルをエクスプローラでダブルクリックして実行しようとしても、いったん警告ダイアログが表示され、明示的に[実行]ボタンをクリックしないと起動できないことがある(実行ファイル以外のファイルをクリックした場合や、コマンドプロンプトから直接起動した場合、SmartScreenによって安全性が検証されている場合などは表示されない)。
■ローカルのファイルを実行しようとした場合
■リモートのファイルを実行しようとした場合
このような確認ダイアログが表示されるのは、インターネットからダウンロードされたファイルには特別な「ゾーン識別子(Zone Identifier)」情報が付いているからである(Internet ExplorerやMicrosoft Edge、Google Chromeなど、どれでダウンロードしてもこの情報は付加される)。これは、マルウェアなど不正で危険なプログラムが含まれている可能性のあるファイルを本当に実行してよいのか、一度ユーザーに警告して判断を仰ぐことにより、少しでも危険性を軽減するための仕組みだ。詳細はTIPS「XP SP2のZoneIdとは?」を参照していただきたい(古い記事だが、対象がWindows 8.1以前であれば、その仕組みはほとんど同じである)。
当該ファイルに危険性がないことを確認しつつ、このゾーン識別子を削除または変更しておけば、このような確認ダイアログは表示されなくなる。本TIPSではその方法を紹介する。
ゾーン識別子の情報を削除する方法は、以前のWindows OSの場合と同じである。まず対象となるファイルのプロパティ画面を表示させる。すると画面下部の「セキュリティ」グループに[ブロックの解除]というチェックボックスがあるので、これをオンにする。
ゾーン識別子とは、実際にはNTFSの代替データストリーム(ストリーム名はZone.Identifier)に格納された、ファイルのダウンロード元(インターネットゾーンか、それとも制限付きゾーンか)を示すテキスト情報である。代替データストリームがあるかどうかはコマンドプロンプト上で「dir /r」コマンドを実行すると確認できる(TIPS「dirやPowerShellでNTFSの代替データストリーム情報を表示する」参照)。メモ帳で「notepad filename.exe:Zone.Identifier」のようにしても操作できる。
C:\Download>dir ChromeSetup.exe /r …代替ストリームの表示
ドライブ C のボリューム ラベルは Windows 10 Pro です
ボリューム シリアル番号は D6E6-AA0A です
C:\Download のディレクトリ
2016/03/10 12:10 987,728 ChromeSetup.exe …メインストリーム
28 ChromeSetup.exe:Zone.Identifier:$DATA …代替ストリーム
1 個のファイル 987,728 バイト
0 個のディレクトリ 66,475,655,168 バイトの空き領域
C:\Download>more < ChromeSetup.exe:Zone.Identifier …代替ストリームの内容の表示
[ZoneTransfer] …ゾーン情報
ZoneId=3
C:\Download>
……(ここで一度Explorerから実行を許可してみる)……
C:\Download>more < ChromeSetup.exe:Zone.Identifier …もう一度確認する
[ZoneTransfer]
AppZoneId=4 …変更されている
C:\Download>
Windows 10ではこのゾーン識別子の扱いに少し変更が加えられている。(ネットワークドライブなどではなく)ローカルにあるファイルを実行する場合は、Windows SmartScreenによって実行をブロックする画面が表示されることがある(実行ファイルが適切なデジタル署名を持っていて安全性が確認されている場合などでは表示されない)。だが、いったんユーザーが実行を許可すると、以後は確認ダイアログは表示されなくなる。この場合、ゾーン識別子情報(代替データストリーム)が削除されるのではなく、元の「ZoneId=3」という情報が「AppZoneId=4」に書き換えられている(「ZoneId=4」ではない。これだと完全に実行がブロックされる)。
インターネットゾーンからダウンロードしたファイルには、デフォルトで自動的にゾーン識別子が付加される。これを無効にするにはレジストリやグループポリシーで操作する。
項目 | 内容 |
---|---|
キー | HKEY_CURRENT_USERの \Software\Microsoft\Windows\CurrentVersion\Policies\Attachments ※Attachmentsキーが存在しない場合は作成すること |
値の名前 | SaveZoneInformation |
型 | REG_DWORD |
値 | 1 (ゾーン情報を付加しない) 値を削除するか2に設定する (ゾーン情報を付加する) |
ゾーン情報を付加させないための設定 ユーザーアカウントごとに設定する必要がある。 |
グループポリシーやローカルポリシーを使う場合は、[ユーザーの構成]−([ポリシー])−[管理用テンプレート]−[Windowsコンポーネント]−[添付ファイル マネージャー]にある[ゾーン情報を添付ファイルに保存しない]を[有効]にする。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.