windows 中如何监控文件的打开操作,当一个文件被打开时,就能感知到?

2025 年 11 月 30 日
 skylord

这个问题比较好的实现方式是,通过 Minifilter 文件过滤驱动来监控,但是公司的电脑全都没有管理员权限,没办法安装运行驱动,导致这个方案没法实现。 除此之外,使用 ReadDirectoryChangesW 函数也没办法监控到,windows 好像不更新 last access 时间。还有个 Windows 事件跟踪 (ETW),这个需要管理员权限也不行。 有没有什么不需要管理员权限的监控方案?

4556 次点击
所在节点    Windows
27 条回复
oisadfo
2025 年 11 月 30 日
没有权限没法
crab
2025 年 11 月 30 日
微软提供的 Procmon 也要管理员权限。
skylord
2025 年 11 月 30 日
@oisadfo 是啊,没有管理员权限就很蛋疼
ysc3839
2025 年 11 月 30 日
怀疑是 X-Y Problem https://coolshell.cn/articles/10804.html
建议直接说原始需求
yulon
2025 年 11 月 30 日
没权限大概只能轮询文件的访问时间,不准,而且伤机械硬盘,固态还好
beck8
2025 年 11 月 30 日
监控更改好实现,只监控个打开,貌似只能用一些奇技淫巧之类的。比如 linux 的 lsof
julyclyde
2025 年 11 月 30 日
@beck8 lsof 只能看当前状态不能看“事件”
beck8
2025 年 11 月 30 日
@julyclyde 所以是奇技淫巧,比对状态变化
skylord
2025 年 11 月 30 日
@ysc3839 这个就是原始需求,公司要开发一个智能助手,有一个需求就是,感知到用户打开文件时,可以提示用户给文件做摘要总结
charles0
2025 年 11 月 30 日
没有管理员权限基本上不能弄
Leon6868
2025 年 11 月 30 日
@skylord #9 转换一下思路,需要做总结的文件一般是 PDF 和 Office 文件,所以监听常见的文档编辑软件和浏览器的窗口标题,然后查找相应的文件
jptx
2025 年 11 月 30 日
@skylord #9 或者做成 office 插件的形式,让公司统一安装?
ysc3839
2025 年 11 月 30 日
@skylord 用户打开文件然后提示的话,可以考虑用文件资源管理器的扩展来实现,印象中是可以分用户安装的,不需要管理员权限。
这么做的话如果是在别的程序里打开可能检测不到,但也基本符合需求。
codehz
2025 年 11 月 30 日
直接注册成所有文件的默认打开方式,打开前拦截一下就可以了()
laminux29
2025 年 11 月 30 日
你这需求肯定要管理员权限的,建议走正规流程,和上级说一下情况,让公司给你管理员权限。
Ackvincent
2025 年 12 月 1 日
@skylord hook 一下关键函数,队所有文件都监控的话肯定要在操作系统内核中做文章了。
julyclyde
2025 年 12 月 1 日
@beck8 在动作之前、动作之后分别观察一次,结论是没动
zhengfan2016
2025 年 12 月 1 日
当年 CIH 就是监听用户打开文件时候把自身写入文件的空白处的,后面微软学精了,严卡相关 hook 和内核的权限
WuDiHaiTai
2025 年 12 月 1 日
如果你要用的只是一个应用,比如说,执行一个 exe ,有一种工具能够锁定提权 Administrator 或者 System ,但我不记得那个叫什么了。

可以和 IT 描述一下,你有什么是必须有管理员权限才能用的,让他给你搞一下。我之前当 IT 的时候,只要这个软件我认识,我们就可以给用户搞这个操作。
samli12
2025 年 12 月 1 日
不知道 ipguard 怎么做的这个,貌似有打开文件的审计功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1175906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX