ZoneID とは
ファイルの代替ストリーム(Alternate Data Stream, ADS)として記録される Zone.Identifier の項目のひとつで、 外部から取得したファイルなどに付与され、ファイル起動時に警告を表示する/しないの判断などに利用されている。 Windows XP Service Pack 2 の IE から導入されたらしい。
実行形式のファイルに対して、外部から入手したことを示すZoneID が付与されている場合、 以下のような警告ダイアログが表示される。
ZoneID を確認する方法
dir コマンドで /r を引数に渡すと有無を確認できる。
dir /r
上記コマンドで「ファイル名:Zone.Identifier:$DATA」と表示されたファイルであれば more でその内容を確認できる。
more < ファイル名:Zone.Identifier
ZoneID を付与・編集する方法
以下のコマンドで編集可能。付与されていない場合は新規作成となる。
notepad ファイル名:Zone.Identifier
外部から取得したファイルであることを示したい場合は、以下の通り入力して保存する。
[ZoneTransfer] ZoneId=3
ZoneID を削除する方法
[方法1]
エクスプローラから実行形式ファイルのプロパティを表示し「全般」タブの下部にある「ブロック解除」を押下する
[方法2]
メモ帳などで内容を空にして保存する。この場合、ADS自体は削除されない。
notepad ファイルパス:Zone.Identifier
[方法3]
PowerShell の Remove-Item を用いる。(要 v3 以上)
Remove-Item 'ファイルパス' -Stream Zone.Identifier;
[方法4]
マイクロソフトから提供されている streams.exe を用いる(SysinternalsSuite に含まれている)。
streams.exe -d ファイルパス
ZoneID が意図せず消えるケース
圧縮ファイルに ZoneID が設定されている場合に Windows 標準の展開(ファイル右クリックから「展開」) であれば ZoneID は展開されたファイルに対しても付与された状態になる。 一方、 圧縮解凍ソフト(7-Zip など)を利用した場合には ZoneID が展開されたファイルに引き継がれない場合がある。 なお、ZoneID を維持する圧縮解凍ソフトも存在している(Explzh など)。
参考
- [MS-FSCC]: Zone.Identifier Stream Name | Microsoft Docs
- windows - What is Zone Identifier? - Stack Overflow
- 葉っぱ日記:
- Windows のゾーン設定:
- Windows XP SP2のZoneIdとは?:Tech TIPS - @IT
- Windows(ウィンドウズ ) 管理者・ユーザーの操作に役立つ設定や方法を探してみよう Windows 8 Windows SmartScreen による PCの保護(zone.identifier)
- ZoneID 情報を削除する | 悩み多き文教市場のインフラ屋さん
- ZoneId を PowerShell を使って一括削除 [v3 以上] | Aqua Ware つぶやきブログ
関連記事
更新履歴
- 2018/09/10 記載を簡潔に整理。
- 2020/03/19 参考に「Microsoft Docs」「Stack Overflow」を追加。一部記載を修正。
- 2021/02/15 関連記事を追加。