파일 시스템에서 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)). 값; 사용자를 확인할 수 없어 예외가 발생합니다. – user295518
@user : WindowsIdentity.GetCurrent(). Name을 사용해보십시오 http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity. aspx –
필자가이 파일 시스템에서 검색 할 수 있는지는 잘 모르겠지만 av FileSystemWatcher 객체를 사용하여 Deleted에서 이벤트를 트리거하는 방법이 있습니다. 단점은 항상 감시자 응용 프로그램을 실행해야한다는 것입니다. 한 가지 단점은 그것이 가능한 경우 spesific 폴더를 모니터링 할 수 있다는 것입니다.
FileSystemWatcher 파일을 삭제 한 사용자에 대한 정보를 제공하지 않는 것 같습니다 ... – user295518
아니요,하지만 어쩌면 파일을 통해 액세스 할 수 있습니다. 소유자가 아닌 파일을 변경 한 사용자를 확보해야합니다. 하지만 어쨌든 파일은 아마도 이미 삭제되었을 것입니다. 그것이 내가 추측하는 예외를 얻는 이유입니다. –
아마도이 소스 코드에서 삭제 된 파일의 파일 정보에 액세스하는 방법을 알 수 있습니까? http://ntfsundelete.com/downloads/ –
- 1. DiagramEditor에서 노드와 링크를 편집 한 후 어떻게 얻을 수 있습니까?
- 2. Django에서 현재 로그인 한 사용자를 어떻게 알 수 있습니까?
- 3. 로그인 한 사용자를 어떻게 인식합니까?
- 4. 어떻게 CurrentWindow를 얻을 수 있습니까?
- 5. 어떻게 출력을 얻을 수 있습니까?
- 6. 대의원을 어떻게 얻을 수 있습니까?
- 7. 어떻게 얻을 수 있습니까? UI_USER_INTERFACE_IDIOM
- 8. 어떻게 onChangeEvent_sooner_를 얻을 수 있습니까?
- 9. 함수를 호출 한 스크립트의 이름은 어떻게 얻을 수 있습니까?
- 10. URL에서 한 단어를 어떻게 얻을 수 있습니까? 내가 사랑하는 것
- 11. 사용자 장르를 기반으로 한 비디오는 어떻게 얻을 수 있습니까?
- 12. 메소드를 호출 한 사람에 대한 정보는 어떻게 얻을 수 있습니까?
- 13. 어떻게 어셈블리 파일을 분석하여 corflags를 얻을 수 있습니까?
- 14. "Something"으로 시작하지 않는 모든 파일을 어떻게 얻을 수 있습니까?
- 15. C#을 사용하여 파일을 어떻게 삭제 취소 할 수 있습니까?
- 16. 어떻게 파일 아이콘을 얻을 수 있습니까?
- 17. 어떻게 MySql 백업 크기를 얻을 수 있습니까?
- 18. 저자명으로 Wordpress 자료실을 어떻게 얻을 수 있습니까?
- 19. 어떻게 giomm-2.4 패키지를 얻을 수 있습니까?
- 20. UIWebView에서 이미지의 URL을 어떻게 얻을 수 있습니까?
- 21. 어디서 wurfl_patch.xml 파일을 얻을 수 있습니까?
- 22. 이미지의 너비와 높이를 어떻게 얻을 수 있습니까?
- 23. 활성 IShellView에서 IShellFolder를 어떻게 얻을 수 있습니까?
- 24. 어떻게 상대 경로를 얻을 수 있습니까?
- 25. jar 파일을 디 컴파일하여 원본 소스를 얻을 수 있습니까?
- 26. 사용자 네트워크 로그인 이름은 어떻게 얻을 수 있습니까?
- 27. MySQL에서 n 행마다 어떻게 얻을 수 있습니까?
- 28. HitTest에서 개체 유형을 어떻게 얻을 수 있습니까?
- 29. 특정 버전을 어떻게 별도로 얻을 수 있습니까?
- 30. 앱 스토어에서 고유 한 트랜잭션 ID를 얻을 수 있습니까?
당신이 말하는 "감사"는 무엇입니까? – BlueMonkMN
@BlueMonkMN : 그럴 수 있습니다 : NTFS 액세스 감사 - http://support.microsoft.com/kb/310399; 결국 이것은 가장 간단한 옵션 인 것 같습니다. 어쨌든 이것은 사용자 공간보다 커널에 가깝기 때문에 모든 파일 액세스 이벤트를 잡아야합니다 (저수준 디스크 액세스에 대해서는 확신 할 수 없지만 아마도 여기서는 필요하지 않을 것입니다). 나는 미세 조정에 대한 경험이 없다. – Piskvor
많은 파일을 가지고 실제로 시스템 로그 – user295518