我需要知道哪些用户从c#代码中删除了文件系统中的文件。 只有一个想法是使用审计,但它似乎很慢......我如何获得删除文件的用户?
回答
您可以使用FileSystemWatcher.Deleted
事件捕获在文件系统上发生的删除。
根据应用程序的不同,您可能在此时也能够找出导致此事件发生的用户(它不是FileSystemEventArgs
的一部分)。
发送给其他人。我使用监视器,但是当我尝试获取像这样的用户名: System.Security.AccessControl.FileSecurity sec = new FileSecurity(Path,System.Security.AccessControl.AccessControlSections.Owner); return sec.GetOwner(typeof(System.Security.Principal.NTAccount))。Value; 由于无法确定用户而引发异常 – user295518 2010-03-30 11:10:20
@user:尝试'WindowsIdentity.GetCurrent()。Name' http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity。 aspx – 2010-03-30 12:32:06
我不知道这是否可以从filsystem中检索,但一种可能的方法是使用av FileSystemWatcher对象来触发Deleted上的事件。缺点是您需要让观察器应用程序始终运行。一个好处是,如果可行的话,你可以监控一个特定的文件夹。
似乎FileSystemWatcher不提供有关用户删除文件的信息... – user295518 2010-03-30 11:13:59
不,但我也许可能可以通过文件访问。你必须得到更改文件的用户,而不是所有者。但无论如何,该文件可能已被删除。这就是为什么你会得到我想的例外。 – 2010-03-30 13:15:31
也许你可以想出如何从这个源代码访问被删除文件的文件信息? http://ntfsundelete.com/downloads/ – 2010-03-30 13:22:18
- 1. 我如何获得管理员权限以删除文件/文件夹?
- 2. 如何防止我的用户从iPod中删除MP3文件
- 3. 我如何使用htaccess从url中删除用户文件夹
- 4. 如何删除主文件夹删除用户在Ubuntu 15.04
- 5. 如何在用户删除文件时获取通知?
- 6. 如何获得log4j删除旧的循环日志文件?
- 7. 如何删除我的身份用户?
- 8. pyinotify文件删除用户
- 9. 如何删除我的本地文件
- 10. 如何获得plupload从队列中删除文件?
- 11. 我如何获得授权的用户
- 12. 如何在用户删除文件时保存文件
- 13. TFS2012权限:我如何删除用户?
- 14. 我如何获得本地时区我的Messenger软件用户?
- 15. Wix不会删除它的文件,如果我删除我的
- 16. 的Django:删除用户配置文件
- 17. 删除其他用户的文件
- 18. 如何在用户删除应用程序时删除所有文件?
- 19. 如何删除我的bluemix帐户ID?
- 20. txt文件删除URL到最后一个“/”来获得文件
- 21. 如何从主服务器获取'我们删除'文件?
- 22. 如何在用户删除事件时删除警报?
- 23. 如何删除RStudio用户
- 24. 我如何获得所有文件
- 25. 如何删除我的HyperTrack帐户上的所有用户?
- 26. 如何删除Windows使用的文件?
- 27. 我如何获得两个聊天室的用户控件?
- 28. 如何使用PowerShell删除用户配置文件
- 29. 如何获得用户控件上的文本框的值
- 30. 我如何获得我的应用程序的所有用户
你说的这个“审计”是什么? – BlueMonkMN 2010-03-30 11:10:40
@BlueMonkMN:这可能是这样的:NTFS访问审计 - http://support.microsoft.com/kb/310399;这似乎是最简单的选择 - 毕竟,它比内核更接近用户空间,所以它应该捕获所有文件访问事件(不确定低级别磁盘访问,但这可能不需要)。虽然我没有经过微调。 – Piskvor 2010-03-30 11:25:53
我不想使用审计功能,因为我将拥有大量文件,事实上,它实际上会将系统日志 – user295518 2010-03-30 11:46:41