Reputation: 175
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
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