【问题标题】:Is there a way to implement a 'procmon' like tool with .net?有没有办法用.net 实现类似“procmon”的工具?
【发布时间】:2011-10-12 11:01:37
【问题描述】:

我们目前正在将一个 Coldfusion 网站从一个服务器转移到另一个服务器。 为了做到这一点,我们想在文件系统级别进行一些清理。由于 ColdFusion 正在使用包含,因此很难确定哪些文件真正被使用了。

我发现的一个解决方案是使用 Sysinternals 的 Procmon。使用正确的过滤器,它可以提供正确的信息。不过,我有点担心会记录的事件数量。

另一方面,.NET FileSystemWatcher 类看起来很有前途,但不处理访问事件。

最后,使用文件系统的审核功能似乎很有趣,但不允许按进程进行过滤。因此,日志可能会因为过多的事件污染事件日志而被轮换。

有谁知道任何可以用来模仿 procmon 的 .NET 类?

【问题讨论】:

  • 使用正确的过滤器,然后在输出上使用redudant-filename-remover,将记录适量的事件。 :)
  • 您确定这是确定应该移动哪些文件的方法吗?如果您这样做,您将非常依赖网站的实际使用情况。尝试了解 Web 应用程序可能会更好。
  • @Erno - 你是对的。但是我们有超过 3,000 个页面,每页确实有 4/5 个元素。每个元素可能(或可能不调用)一系列包含/模板/自定义标签文件。大多数时候,很容易找出要删除的文件(例如,通过文件扩展名 .cfm.old、.cfm.bad ...),但有时,事情有点困难。希望我正在寻找一种方法来整合一项服务,该服务将随着时间的推移收集数据,并能够报告过去 6 个月未使用的所有页面/组件。这将为我们提供良好的清理基础。
  • @Jaepetto,一个好方法是使用用于部署应用程序的原始安装程序/设置程序......你永远无法确定你是否错过了什么,因为它只是高级跟踪和错误。
  • @Erno - 不幸的是,ColdFusion 是一种类似于 php 的脚本语言。随着时间的推移,文件已直接在 Web 服务器上更新、添加和删除。关于源代码管理没有真正的流程...... :-(

标签: .net filesystems audit


【解决方案1】:

FileSystemWatcher 依赖操作系统功能在文件更改时提供事件。没有这样的内置功能来通知对文件的每次访问。 ProcMon 通过处理通知的自定义文件系统过滤器驱动程序来处理它。完全用 C# 编写这样的函数是不可能的,因为它需要在驱动程序中运行一些内核级代码。

除非这是一个大到足以证明大笔投资的问题,否则我建议还是使用 ProcMon,花时间设置正确的过滤器。

【讨论】:

    猜你喜欢
    • 2014-11-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2019-11-20
    • 1970-01-01
    • 2011-04-02
    • 2014-01-30
    • 1970-01-01
    相关资源
    最近更新 更多