关于本文
本文是通过利用生成式 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。
更改一个地方
对比自己创建的本地文件与从浏览器获取的无害文件。
flowchart LR A["ファイル"] --> B["既定データ"] A --> C["名前付きStream"] C --> D["Zone.Identifierがある場合"]
如果在工作中应用
请不要直接使用 Unblock 等命令改变状态,而是先记录 Stream 和获取途径来进行排查。
通过 Zone.Identifier 可以了解什么?
Zone.Identifier 利用了一种机制,即作为 NTFS 的命名流(named stream)来保存附加信息,而不是文件正文本身。因此,即使是内容相同的文件,其流的有无也可能因“从哪里获取”而异。
这里重要的是,切勿仅凭是否有 Zone.Identifier 来断定是安全还是危险。当出现警告时的调查材料之一如果按照“先确认获取路径和 stream,在完成必要的验证之前,不要用 Unblock-File 等命令擦除信息”的顺序来做,事后会更容易追溯原因。

