powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кто последним менял файл?
11 сообщений из 11, страница 1 из 1
Кто последним менял файл?
    #38358613
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Вот пример кода:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public string GetSpecificFileProperties(string file)
        {
            string fileName = Path.GetFileNameWithoutExtension(file);
            string folderName = Path.GetDirectoryName(file);
            Shell32.Shell shell = new Shell32.Shell();
            Shell32.Folder objFolder;
            objFolder = shell.NameSpace(folderName);
            string result = "";            
            foreach (Shell32.FolderItem2 item in objFolder.Items())
            {
                if (fileName == item.Name)
                {
                    result = objFolder.GetDetailsOf(item, 10).Trim();
                    break;
                }
            }
            
            return result;



В этом методе я узнаю имя пользователя, менявшего файл (file - полный путь к файлу).
Вопрос - из-за чего иногда не срабатывает
Код: c#
1.
if (fileName == item.Name)



Особенно, когда файл в папке Temp или System32
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38358628
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

почему нельзя сразу
Код: c#
1.
result = objFolder.GetDetailsOf(file, 10).Trim();
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359118
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробовал, он в result постоянно пишет "Владелец", хотя раньше было имя пользователя, network и пустые поля
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359190
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может можно как-то по-другому вытащить имя юзера, последним менявшего файл?
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359536
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может можно как-то не через Shell32 определить?
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359713
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx

Здесь написано owner, может это указывается владелец файла, а не тот, кто менял его в последний раз?
Какой-нибудь общий способ есть, как просмотреть, какой пользователь менял файл в последний раз?
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359782
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359786
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsпопробовал, он в result постоянно пишет "Владелец", хотя раньше было имя пользователя, network и пустые поля

Изначально (зная полный путь к файлу) ты написал такой код: залезть в директорию файла, перебрать все файлы, и если имя совпало с искомым, то сделать что-то. Я считаю, что это плохой способ (читай - может порождать ошибки)
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359794
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, я больше не перебираю.
Метод GetDetailsOf не дает имя пользователя, менявшего файл, а дает имя владельца.

тут внизу:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx

10 Owner: <COMPUTERNAME>\<USERNAME>

это имя владельца на самом деле. А как узнать имя пользователя, менявшего и сохранившего файл? Это вообще где-то хранится?
Есть какой-то общий подход?
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359833
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StudentsДа, я больше не перебираю.
Метод GetDetailsOf не дает имя пользователя, менявшего файл, а дает имя владельца.

тут внизу:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb787870(v=vs.85).aspx

10 Owner: <COMPUTERNAME>\<USERNAME>

это имя владельца на самом деле. А как узнать имя пользователя, менявшего и сохранившего файл? Это вообще где-то хранится?
Есть какой-то общий подход?

... вообще говоря, предварительно на целевом компьютере должен быть включен Аудит доступа к файлам в Локальной политике безопасности, например
http://support.microsoft.com/kb/310399

.... а информацию о событиях надо тянуть из Журнала событий - Безопасность - Аудит ...
..примерно так ...
...
Рейтинг: 0 / 0
Кто последним менял файл?
    #38359839
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно, спасибо.
буду рыть в эту сторону
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Кто последним менял файл?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]