ダウンロードしたファイルだけ警告されるのはなぜ? ― Zone.IdentifierをPowerShellで読む

PowerShellカテゴリを表すパンダのイラスト PowerShell

この記事について
この記事は、生成AIを活用した自動生成フローで作成しています。PowerShell FileSystem ProviderとGet-ContentのStream機能を確認し、Zone.Identifierを削除せず読む手順に限定しました。Windows実機での再実行は行っていません。

検証ステータス:📘 公式仕様確認済み・Windows実機未確認
情報確認日:2026年10月2日。Zone.Identifierが存在しないファイルも正常です。

ブラウザ等から取得したファイルだけ警告が出る場合、手掛かりの一つがNTFS代替データストリームです。

ストリームを一覧する

$path = '.\sample.txt'
Get-Item -LiteralPath $path -Stream *

Zone.Identifierがあれば読み取り専用で確認します。

Get-Content -LiteralPath $path -Stream Zone.Identifier

このサンプルは削除しません。

本体とは別の情報

NTFSでは通常のファイル本文とは別に名前付きストリームを持てます。取得経路によってZone.Identifierが付く場合があります。

1か所変える

自分で作成したローカルファイルと、ブラウザから取得した無害なファイルを比較します。

flowchart LR
 A["ファイル"] --> B["既定データ"]
 A --> C["名前付きStream"]
 C --> D["Zone.Identifierがある場合"]

仕事で使うなら

いきなりUnblock等で状態を変えず、まずStreamと取得経路を記録して切り分けます。

Zone.Identifierがあると何が分かる?

Zone.Identifierはファイル本文そのものではなく、NTFSのnamed streamとして付加情報を保持できる仕組みを使います。したがって、同じ内容のファイルでも「どこから取得したか」によってstreamの有無が異なる場合があります。

ここで大切なのは、Zone.Identifierの有無だけで安全/危険を断定しないことです。警告が出たときの調査材料の1つとして取得経路とstreamを確認し、必要な検証を終える前にUnblock-File等で情報を消さない、という順序にすると後から理由を追いやすくなります。

公式情報・一次情報

GitHubサンプル

文書情報

記事タイトル
ダウンロードしたファイルだけ警告されるのはなぜ? ― Zone.IdentifierをPowerShellで読む
作成日
更新日
Source URL
https://papanda925.com/?p=17501

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました