Определение доступа к файлу в общей папке на сервере Windows 2008 R2 / Windows 7 - PullRequest
1 голос
/ 22 октября 2011

Мне нужно найти способ определить, к каким файлам в общей папке осуществляется доступ и кем.Такие команды, как «Net Files» и «Net Session», могут предоставить эту информацию, а также PSFile.exe в SysInternals, но я не могу понять, как это сделать программно.Я нашел способ определить, кто обращается к общему ресурсу через WMI, но он не показывает, к какому файлу осуществляется доступ.Кто-нибудь знает, как это сделать в C / C ++ / C #?Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 22 октября 2011

Вы можете использовать ADSI (интерфейсы службы Active Directory), некоторое время назад я написал статью на эту тему Using Delphi and ADSI to enumerate local and remote shared resources примеры написаны на Delphi, но вы можете использовать это статья как руководство по ADSI.

Для просмотра списка открытых ресурсов, таких как папки и файлы, необходимо использовать интерфейс IADsFileServiceOperations и функцию Resources , которые возвращают коллекцию открытых ресурсов для службы.

1 голос
/ 22 октября 2011

NetFileEnum уровень 3, кажется, то, что вы ищете.

...