この記事について
この記事は、生成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等で情報を消さない、という順序にすると後から理由を追いやすくなります。

