Как узнать, кто изменил общие каталоги и файлы в C# или Powershell?

Я занимаюсь разработкой службы Windows, основной целью которой является мониторинг содержимого сетевых ресурсов. Я уже познакомился с плюсами и минусами класса FileSystemWatcher и, вероятно, собираюсь использовать его с некоторыми пользовательскими усовершенствованиями. Меня беспокоит то, что я до сих пор не знаю, как получить информацию о том, кто именно изменил общие файлы. Я думаю, что это может быть извлечено из механизма разрешений в Windows, но как? Есть ли у вас какие-либо идеи, как получить хотя бы логин человека, который просматривал и изменял общий контент? Я могу использовать либо C#, либо PowerShell.

1 ответ

Решение

Лучший способ сделать это - включить расширенный аудит файлов на серверах, на которых вам нужна эта информация. Если это не вариант (он может стать совершенно неэффективным на серверах с высоким дисковым вводом-выводом), вы можете попробовать использовать FileSystemWatcher чтобы получить те же результаты. Вот пример того, как это сделать!

Другие вопросы по тегам