Как выяснить, открыт ли кем-нибудь файл с общим доступом? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Имеется шара в сети с excel файлом. Когда в нем кто то работает у другого пользователя появляется диалоговое окном «Файл занят и ФИО пользователя». Но временами просто выводит что «файл занят другим пользователем»
Как можно включить что бы постоянно отображалось ФИО работающего с файлом?
Все действие в доменной среде. Доступ к папке имеет 12 пользователей на чтение и запись.
-
Вопрос заданболее трёх лет назад
-
10943 просмотра
Возможно, ФИО показывает у тех, кто заполнил это поле в параметрах.
Заставьте всех пользователей внести ФИО в параметрах и будете знать каждого занимающего файл.
Пригласить эксперта
На сервере с вашей шарой запускаешь compmgmt.msc > Общие папки > Открытые файлы и смотришь кто работает с файлом. Также можно воспользоваться консольной утилиты Openfiles
-
Показать ещё
Загружается…
15 апр. 2023, в 23:37
1000 руб./в час
15 апр. 2023, в 23:24
25000 руб./за проект
15 апр. 2023, в 21:40
2000 руб./за проект
Минуточку внимания
Содержание
- Как узнать у кого открыт файл excel в сети
- Как узнать у кого открыт файл excel в сети
- Как узнать у кого открыт файл excel в сети
- Отслеживание входа пользователей в книгу Excel
- Этап 1. Создаем «Лог»
- Этап 2. Макросы фиксации входа-выхода
- Этап 3. Улучшаем надежность
- Как посмотреть кто использует файл excel
Как узнать у кого открыт файл excel в сети
Как узнать у кого открыт файл excel в сети
Вы считаете это удобным, если да, то при каких условиях?
Предположим обрабатывает программа n-файлов (много) в разных папках, 5 из которых были открыты. Значит после обработки останется 5 txt файлов. Что с этим делать, учитывая то, что надо файлики дальше обрабатывать?
Gioch |
Попробуйте — Tools — Share Workbook, это даёт возможность другим юзерам совместо работать. Но когд одновременно двое или более юзеров будут редактировать одну и тоже ячейку, возникнут ошибки. |
Общий доступ не считаю приемлимым, так как сильно тормозит файл.
Вы считаете это удобным, если да, то при каких условиях?
Предположим обрабатывает программа n-файлов (много) в разных папках, 5 из которых были открыты. Значит после обработки останется 5 txt файлов. Что с этим делать, учитывая то, что надо файлики дальше обрабатывать?
На неординарный ник, фантазии хватило, а вот на удаление txt после использования нет? И необязательно 5 файлов, достаточно одного.
Chelovek Tapok |
Вот когда пытаешься открыть файл ручками, открытый кем-то еще, то появляется сообщение «Редактирование . запрещено пользователем XXX . » , отсюда вывод! можно ведь программно как-то узнать кем открыт файл. Искал в API функциях, не нашел. |
Вывод неправильный. Узнать что файл занят — это можно, а вот кем занят — это невозможно.
Если найдешь способ, дай знать, я не нашел, хотя искал долго.
Если ли какое-то граничное количество подключений пользователей
Проверка, откыт лифайл.
Что такое общий доступ мне известно, но работать таким образом не удобно (причина была указана ранее). Проще всем пользователям дать доступ только на чтение и, определенным дать возможность править
vkodor |
На неординарный ник, фантазии хватило, а вот на удаление txt после использования нет? И необязательно 5 файлов, достаточно одного. |
Вы меня не правильно поняли. Чтобы файл txt удалить, данные из него (прежде) надо перенести в файлы .xls, которые открыты будут пользователями еще неизвестно сколько. А работа такова, что нельзя идти дальше, пока данные не окажутся в файлах xls.
vkodor |
Вывод неправильный. Узнать что файл занят — это можно, а вот кем занят — это невозможно. |
Вы опять меня не понимаете(может и моя вина, что не подробно объясняю).
Есть файл 1.xls на общем сетевом ресурсе, который открыл пользователь Иванов.
Я пытаюсь у себя на компьютере открыть этот файл ручками и выскакивает сообщение
«Файл уже используется
Редактирование 1.xls запрещено пользователем Иванов.
Откройте только для чтения или . «
Как мне видится, то есть некая библиотека, благодаря которой можно получить данные об Иванове программно (как никак сообщение выскочило с этой информацией).
Как узнать у кого открыт файл excel в сети
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет. Aleksio
Сообщение Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
Источник
Отслеживание входа пользователей в книгу Excel
Представьте себе книгу Excel с очень важными для вас данными, сохраненную на общем сетевом диске компании, куда имеет доступ куча народу. Одним совсем не прекрасным утром вы открываете этот файл и обнаруживаете, что внутри кто-то поиграл в аль-каиду: формулы поломаны, данные стерты, дизайн нарушен. Поскольку вы опытный пользователь, то у вас, конечно же, была резервная копия этого важного документа (была же, правда?) и данные вы восстановите, но чисто из спортивного интереса хотелось бы все же узнать — КТО ЭТО СДЕЛАЛ?!
Давайте попробуем решить эту задачу. Итак, нам нужно:
- фиксировать на отдельном (скрытом) листе имя пользователя, открывшего файл;
- фиксировать там же дату-время открытия и закрытия файла;
- по возможности усложнить взлом или обход такой защиты.
Этап 1. Создаем «Лог»
Добавим в нашу книгу новый лист, куда будет записываться информация о всех пользователях и назовем его, например, Лог. На нем создадим простую шапку будущего журнала учета посетителей:
Этап 2. Макросы фиксации входа-выхода
Теперь добавим макросы для записи на лист Лог даты-времени и имен пользователей при открытии и закрытии книги. Для этого нужно открыть редактор Visual Basic с помощью сочетания Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer) и найти в левом верхнем углу панель Project (если она не отображается, то включить ее можно сочетанием клавиш Ctrl+R):
Двойным щелчком откройте модуль ЭтаКнига (ThisWorkbook) и вставьте туда пару наших макросов для обработки событий открытия и закрытия книги:
В первом приближении все уже должно работать. Попробуйте открыть-закрыть этот файл пару раз и убедитесь, что на лист Лог попадает ваше имя пользователя (логин входа в Windows) и дата-время:
Этап 3. Улучшаем надежность
Можно было бы скрыть лист Лог и на этом остановиться, но есть одно «но»: если у пользователя, который открывает нашу книгу, макросы разрешены по умолчанию либо он сам их разрешает, нажав в окне предупреждения на кнопку Включить содержимое, то все в порядке:
Но что если пользователь не разрешит выполнение макросов или они отключены у него по умолчанию? Тогда наши макросы отслеживания выполняться не будут и фиксации имени и даты не произойдет 🙁 Как же заставить пользователя разрешить использование макросов?
Чтобы обойти эту проблемку воспользуемся небольшой тактической хитростью. Добавьте в нашу книгу еще один чистый лист, назовите его Предупреждение и вставьте на него следующий текст:
Суть в том, чтобы по умолчанию скрыть в книге все листы кроме этого, а рабочие листы с данными отображать с помощью специального макроса. Если пользователь не разрешил выполнение макросов, то он увидит в книге только один лист с предупреждением. Если же макросы разрешены, то наш макрос обработки события открытия книги скроет лист с предупреждением и отобразит листы с данными. Чтобы пользователь сам не отобразил их — используем суперскрытие вместо обычного скрытия листов (параметр xlSheetVeryHidden вместо обычного False).
Чтобы реализовать все описанное, слегка изменим наши процедуры в модуле ЭтаКнига (ThisWorkbook):
Чтобы просмотреть скрытый Лог откройте редактор VisualBasic (Alt+F11), выделите лист на панели Project и измените его видимость на панели Properties, используя свойство Visible:
Если пользователи настолько продвинутые, что знают про суперскрытые листы и могут их отобразить через редактор Visual Basic или нарушить работу наших макросов, то можно дополнительно поставить пароль на просмотр и изменение макросов. Для этого щелкните правой кнопкой мыши по имени файла в панели Project (строка VBAProject (blackbox.xls)), выберите команду VBA Project Properties и включите флажок Lock project for viewing и задайте пароль на вкладке Protection:
Теперь точно никто не уйдет безнаказанным. Большой Брат следит за тобой! 😉
Источник
Как посмотреть кто использует файл excel
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет. Aleksio
Сообщение Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
Источник
Как просмотреть, кто пользуется общими ресурсами компьютера (шары)
Периодически возникает срочная необходимость узнать, кто и зачем открыл тот или иной файл на компьютере с общим доступом. Это легко осуществить, воспользовавшись консолью «Управление компьютером».
Открываем Консоль управления компьютером
Находим значок «Мой компьютер» (как в меню Пуск, так и на рабочем столе), и нажимаем на нем правой кнопкой мыши. В появившемся меню нажимаем «Управление».
В открывшейся консоли, а точнее в её левой части, ищем пункт «Общие папки», и нажимаем на него.
Так же в эту консоль можно попасть выполнив следующую команду, или создав ярлык:
Просмотр пользователей шары
Теперь перед нами появляются три пункта:
Как узнать кто открыл файл по сети
В Поисках Истины
Сообщения: 802
Благодарности: 135
Конфигурация компьютера | |
Процессор: Intel Core 2 Duo E6400 2.13GHz | |
Материнская плата: EliteGroup P965T-A | |
Память: Kingston orig PC5300 3Gb (1x2Gb,1x1Gb) | |
HDD: Seagate Barracuda ST3250823A 250Gb + Seagate Barracuda ST3250620AS 250Gb | |
Видеокарта: Asus EN GeForce 7600GT 256Mb | |
Звук: C-Media CMI8738 | |
Блок питания: Powerman (In Win) 430W | |
CD/DVD: Nec DVD-RW ND-4571A | |
Монитор: Samsung SyncMaster 2443nw 24` | |
Ноутбук/нетбук: Asus N61DA | |
ОС: Windows 8 x64 |
Сообщения: 26042
Благодарности: 4368
Как можно узнать хоть какую — нибудь информацию об «открывшем» файл?
На компьютере, где шара: Пуск -> Выплнить -> fsmgmt.msc
Или сделать это на любом компьютере, а потом пункт меню Действие -> Подключиться к другому.
——-
— Пал Андреич, Вы шпион?
— Видишь ли, Юра.
Сообщение оказалось полезным? Поблагодарите автора, нажав ссылку Полезное сообщение чуть ниже.
Как посмотреть, кто и чем занимался на компьютере в мое отсутствие: определяем последние действия «чужака».
Вопрос от пользователя
Здравствуйте!
Работаю в небольшом офисе, недавно появилось подозрение что за моим ПК копается кто-то еще (у нас у всех свои ПК, поэтому моя система по работе точно никому не должна быть нужна!).
Не подскажите, можно ли как-то посмотреть, кто и чем занимался на компьютере в мое отсутствие? И, если можно, как-нибудь бы защитить ПК от таких не званных гостей.
Ваш вопрос прямо напомнил мне одно просторечие: «Если вам кажется, что за вами следят — это вовсе не значит, что у вас паранойя» .
Вообще, для 100%-надежной защиты вашего ПК — он должен быть всегда при вас (тогда никто не сможет отформатировать диск, и посмотреть ваши данные).
Но обычно в офисных условиях достаточно установить пароль на Windows, а документы (которые никто не должен увидеть) — можно зашифровать (либо носить с собой на флешке). 👌
Собственно, теперь об основном вашем вопросе: где и какую историю хранит Windows и как это посмотреть.
Не мешай! Всё уже и так записано на диске. (Евгений Кран, сайт: http://cartoon.kulichki.com/)
Как посмотреть последние действия: история работы
👉 Совет 1: анализируем журнал событий
В Windows есть спец. журналы, куда заноситься очень многое: когда включался и выключался компьютер, коды шибок, предупреждения и т.д. Нас же, разумеется, интересует время вкл./выкл. 😉
Чтобы открыть журнал : нажмите Win+R —> откроется окно «Выполнить» —> в него введите команду eventvwr.
После должно появиться окно событий — в нем нужно выбрать вкладку «Журналы Windows / Система» и открыть фильтр текущего журнала. Далее выбрать дату, установить галочку «Сведения» и нажать OK (см. мой пример ниже 👇).
Смотрим историю вкл. ПК за последние сутки
Теперь внимательно смотрим список событий: если вы их отфильтровали — список не будет большим. В первую очередь нас интересуют события «Power. « — в моем примере ниже (👇) показано, что кто-то вывел мой ПК в 7:59 по Москве.
Могли ли вы в это время использовать компьютер
Собственно, время, когда работал ПК мы уже знаем.
👉 Совет 2: смотрим документы и файлы, с которыми недавно работали
По умолчанию Windows помнит обо всех документах и файлах, которые вы недавно открывали (это делается с целью ускорения открытия файлов, с которыми часто работаете).
Чтобы посмотреть этот список (недавних документов*) — нажмите Win+R, и используйте команду shell:recent.
shell:recent — недавние документы
Далее у вас откроется системный каталог, в котором вы сможете отсортировать по дате изменения все файлы — ну и сравнить, с вашими рабочими часами за ПК (а заодно и узнаете, какими документами интересовались «гости» 😉).
Недавние документы отсортированные по дате
Кстати, обратите внимание, что Word и Excel тоже при запуске показывают документы, которые недавно были открыты (если у вас хорошая память и внимательность — возможно вы заметите и те документы, которые сами не открывали 👇).
Ну и не могу не отметить, что если вы откроете свойства файла — то во вкладке «Подробно» проводник вам сможет подсказать даты доступа, печати и изменения документа.
👉 В помощь!
Как посмотреть недавно открытые файлы в ОС Windows 10 (никак не могу найти вчерашний документ. )
👉 Совет 3: анализируем историю посещений в браузере
Одна из самых популярных программ для работы в сети интернет, разумеется, браузер . И вполне вероятно, что если кто-то сидел за вашим ПК/ноутбуком — ему (вероятно) мог он понадобиться.
Чтобы открыть историю посещений (журнал посещений) — в большинстве браузеров достаточно нажать сочетание кнопок Ctrl+H (работает в Chrome, Firefox, Opera. ).
Кстати, в Chrome можно также перейти на страничку: chrome://history/
Ctrl+H — открыть историю
После, в журнале указываете нужную дату и уточняете какие сайты просматривались. 👌 (Кстати, многие пользуются соц. сетями — а значит можно будет быстро узнать кто заходил на свой профиль!).
👉 В помощь!
1) Как посмотреть историю посещения сайтов, даже если она удалена
2) Как очистить историю посещения сайтов, чтобы нельзя было восстановить! Удаление всего кэша браузеров
👉 Совет 4: проверяем свой профиль Google
Кстати, если незваный «гость» на ПК пользовался сервисами Google — то вероятно вы сможете узнать, например, что он искал в поисковой системе (еще один «плюсик» к пакету информации 😉). Благо, что по умолчанию Google всю эту информацию собирает и «откладывает».
Как это проверить : зайти на главную страничку Google, кликнуть по значку своего профиля и выбрать «Управление аккаунтом Google» .
Профиль Google (браузер Chrome)
После перейти во вкладку «Данные и персонализация / история приложений и веб-поиска» .
Далее «проматываете» до нужной даты и смотрите, какие поисковые запросы были сделаны. 👌
Данные и персонализация — история поиска
👉 Совет 5: просматриваем корзину, каталог загрузок
Многие пользователи (чаще всего) не обращают внимание на системные «каталоги»: «Загрузки» и «Корзина» . А ведь в них могут остаться определенные файлы и документы, с которыми работали за ПК.
Папку «загрузки» можно открыть, нажав на Win+R, и использовав в меню «Выполнить» команду: shell:downloads.
Чтобы открыть корзину (даже если ее значка нигде нет): нажмите Win+R, и используйте команду Shell:RecycleBinFolder.
👉 Совет 6: как поймать с поличным «тайного работника» за вашим ПК
На мой взгляд, самый простой способ это сделать — воспользоваться спец. программами для контроля сотрудников (например, Clever Control ). Примечание : таких программ много, я просто привел одну из них.
Установка у Clever Control простая и интуитивно понятная, в процессе работы она будет незаметно фиксировать всё в спец. журнал (в т.ч. и делать снимки с веб-камеры, запоминать работающие программы, и т.д., в зависимости от ваших настроек).
Clever Control — одна из программ для контроля сотрудников (узнали, кто сидел за ПК!)
Т.е. о том, что вы ее установили к себе на ПК, и что она работает — никто не узнает, а просматривать что творится за вашей системой вы сможете в любое удобное для вас время (даже не находясь возле нее ( прим. : с другого компьютера)).
Таким образом вы сможете узнать кто и что делает за вашим ПК, причем так, что «виновник» даже не узнает о том, что он «попался». 😉
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет.
Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
P.s. Доступа к администрированию сетевого ресурса (управление компьютером) нет. Aleksio
Сообщение Есть файл с общим доступом. Файл находится на общем сетевом жёстком диске. С этим файлом постоянно работают много человек.
1. Необходимо выяснить, открыт ли у в настоящее время у кого-нибудь из сотрудников данный файл.
2. Желательно выяснить, у кого именно открыт.
В случае, если файл не с общим доступом, то всё просто — он выводит табличку, что файл открыт конкретным пользователем. А вот если включён общий доступ — то ничего не сообщает. Более того, файл спокойно поддаётся переименованию, а также перемещению в другую папку, и сообщение о том, что файл занят каким-то процессом — не выводится. Через журнал изменений можно лишь выяснить, кем и когда файл был открыт (если при этом пользователь сохранял файл) и кем и когда было сделано последнее изменение. При этом кем сейчас он используется — не ясно.
Нужно это знать для того, чтобы внести изменения, которые невозможны при включённом общем доступе, и вот для этого нужно его отключить, но лишь в тот момент, когда файл никем не используется (ибо пользователи не смогут сохранить их изменения, если им отрубить общий доступ).
Отслеживание входа пользователей в книгу Excel
Представьте себе книгу Excel с очень важными для вас данными, сохраненную на общем сетевом диске компании, куда имеет доступ куча народу. Одним совсем не прекрасным утром вы открываете этот файл и обнаруживаете, что внутри кто-то поиграл в аль-каиду: формулы поломаны, данные стерты, дизайн нарушен. Поскольку вы опытный пользователь, то у вас, конечно же, была резервная копия этого важного документа (была же, правда?) и данные вы восстановите, но чисто из спортивного интереса хотелось бы все же узнать — КТО ЭТО СДЕЛАЛ?!
Давайте попробуем решить эту задачу. Итак, нам нужно:
- фиксировать на отдельном (скрытом) листе имя пользователя, открывшего файл;
- фиксировать там же дату-время открытия и закрытия файла;
- по возможности усложнить взлом или обход такой защиты.
Этап 1. Создаем «Лог»
Добавим в нашу книгу новый лист, куда будет записываться информация о всех пользователях и назовем его, например, Лог. На нем создадим простую шапку будущего журнала учета посетителей:
Этап 2. Макросы фиксации входа-выхода
Теперь добавим макросы для записи на лист Лог даты-времени и имен пользователей при открытии и закрытии книги. Для этого нужно открыть редактор Visual Basic с помощью сочетания Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer) и найти в левом верхнем углу панель Project (если она не отображается, то включить ее можно сочетанием клавиш Ctrl+R):
Двойным щелчком откройте модуль ЭтаКнига (ThisWorkbook) и вставьте туда пару наших макросов для обработки событий открытия и закрытия книги:
В первом приближении все уже должно работать. Попробуйте открыть-закрыть этот файл пару раз и убедитесь, что на лист Лог попадает ваше имя пользователя (логин входа в Windows) и дата-время:
Этап 3. Улучшаем надежность
Можно было бы скрыть лист Лог и на этом остановиться, но есть одно «но»: если у пользователя, который открывает нашу книгу, макросы разрешены по умолчанию либо он сам их разрешает, нажав в окне предупреждения на кнопку Включить содержимое, то все в порядке:
Но что если пользователь не разрешит выполнение макросов или они отключены у него по умолчанию? Тогда наши макросы отслеживания выполняться не будут и фиксации имени и даты не произойдет 🙁 Как же заставить пользователя разрешить использование макросов?
Чтобы обойти эту проблемку воспользуемся небольшой тактической хитростью. Добавьте в нашу книгу еще один чистый лист, назовите его Предупреждение и вставьте на него следующий текст:
Суть в том, чтобы по умолчанию скрыть в книге все листы кроме этого, а рабочие листы с данными отображать с помощью специального макроса. Если пользователь не разрешил выполнение макросов, то он увидит в книге только один лист с предупреждением. Если же макросы разрешены, то наш макрос обработки события открытия книги скроет лист с предупреждением и отобразит листы с данными. Чтобы пользователь сам не отобразил их — используем суперскрытие вместо обычного скрытия листов (параметр xlSheetVeryHidden вместо обычного False).
Чтобы реализовать все описанное, слегка изменим наши процедуры в модуле ЭтаКнига (ThisWorkbook):
Чтобы просмотреть скрытый Лог откройте редактор VisualBasic (Alt+F11), выделите лист на панели Project и измените его видимость на панели Properties, используя свойство Visible:
Если пользователи настолько продвинутые, что знают про суперскрытые листы и могут их отобразить через редактор Visual Basic или нарушить работу наших макросов, то можно дополнительно поставить пароль на просмотр и изменение макросов. Для этого щелкните правой кнопкой мыши по имени файла в панели Project (строка VBAProject (blackbox.xls)), выберите команду VBA Project Properties и включите флажок Lock project for viewing и задайте пароль на вкладке Protection:
Теперь точно никто не уйдет безнаказанным. Большой Брат следит за тобой! 😉
Узнать имя пользователя, открывшего файл (в локальной сети)
Нужно узнать перед заполнением файла Excel или Word данными из Access (если он уже открыт) кто из пользователей открыл его (чтобы «попросить» закрыть). Файл лежит на сервере, все пользователи могут в него что-то вносить. Windows 7, Офис 2010 и 2013
есть такой код. Как его соединить с моим?
Можно ли и как узнать имя пользователя открывшего файл
Можно ли и как узнать имя пользователя открывшего файл? Собственно сабж.
Как узнать имя или ip адрес атакующего по локальной сети?
Представим, что в помещении есть 3 ПК и один из них решил пошутить и прописать shutdown, но.
Узнать имя пользователя на ПК в сети по списку
Здравствуйте, в PS не силен,но есть необходимость вывести имена пользователей, которые залогинены.
Узнать имя пользователя у кого открыт файл
Доброго времени суток! Есть ли возможность по средствам vb.net узнать у какого пользователя открыт.
прямого пути пока не знаю.
как вариант: на событие открытие книги или документа пишете макрос, который будет определять имя пользователя, открывшего файл и сохранять его в любой текстовый файлик на сервере.
соответственно, на закрытие книги — удаляем этот файлик.
итого — нужно будет проверить, существует ли файлик на сервере, если да — то прочитать из него пользователя.
проблемы пока две:
1) у пользователя могут быть отключены макросы;
2) у пользователя может зависнуть комп или вырубиться электричество — и макрос на закрытие не отработает.
для решения второй проблемы можно дополнительно вначале проверять возможность открытия файла с полным доступом. если открывается — значит, не занят, независимо от наличия текстового файлика.