为什么只有下载的文件会发出警告?——用 PowerShell 读取 Zone.Identifier

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。

更改一个地方

对比自己创建的本地文件与从浏览器获取的无害文件。

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 等命令擦除信息”的顺序来做,事后会更容易追溯原因。

官方信息与一手资料

GitHub 示例

文档信息

文章??
为什么只有下载的文件会发出警告?——用 PowerShell 读取 Zone.Identifier
?布日期
更新日期
来源
https://papanda925.com/?p=17819&lang=zh

?可: ?于本站?有相??利的正文及原??表,除非?有?明,可依据 CC BY 4.0 使用。本文可能包含使用生成式AI?建或??的内容。若代??有?可声明,或?接的GitHub???定了?可,?代?以??可?准。引用内容、第三方?料、?片及商?不在本?可范?内。 使用政策

标题和URL已复制