Stephen MacDougall
Stephen MacDougall

Reputation: 175

Determining who is accessing a file on a shared folder in Windows 2008 R2 server / Windows 7

I need to find a way to determine what files on a shared folder are being accessed, and by whom. Commands like "Net Files" and "Net Session" can give this information, as well as PSFile.exe in SysInternals, but I cannot figure out how to do this programmatically. I have found a way to determine who is accessing a share via WMI, but it does not show what file is being accessed. Does anyone know how to do this in C / C++ / C#? Any and all help will be greatly appreciated.

Upvotes: 1

Views: 2040

Answers (2)

Raymond Chen
Raymond Chen

Reputation: 45173

NetFileEnum level 3 seems to be what you're looking for.

Upvotes: 1

RRUZ
RRUZ

Reputation: 136391

You can use ADSI (Active Directory Service Interfaces) , some time ago I wrote an article about this topic Using Delphi and ADSI to enumerate local and remote shared resources the samples are written in delphi but you can use this article as a guide to ADSI.

To List the opened resources like folders and files you must use the IADsFileServiceOperations interface and the Resources function which return a collection of the open resources for the service.

Upvotes: 3

Related Questions