Как узнать кто заблокировал файл эксель

Обновлено: 04.07.2024

Есть файл .xlsx
Стоит защита листа. Можно как-то узнать пароль от него?

P.S. Задача не снять пароль (с этим я без проблем справился), а именно узнать пароль.

Т.к. тема является архивной.

Женёк писал(а)
Задача не снять пароль (с этим я без проблем справился), а именно узнать пароль

Т.к. тема является архивной.

Т.к. тема является архивной.

Да ни в какой кодировке, просто пароль. Человек хорошо помнит сочетание цифр 1733311, возможно это какая-то мелодия. Поэтому вводит: раз-и-семь-и-три-и-три-и-три-и-раз-и-раз, возможно как-то по-другому проговаривает, но результат на латинице получается тот, что вы привели.

Т.к. тема является архивной.

Да это я пароль ставил на лист. Я точно не так проговаривал =)

Тут уже просто интересно как и что я установил.

Т.к. тема является архивной.

Если при запросе пароля ввести 1733311 - прокатывает пароль нормально?

Т.к. тема является архивной.

Т.к. тема является архивной.

Т.к. тема является архивной.

Читать умеешь? Мне не нужно снимать пароль. Это написано в третьей строчке сверху, в самом первом посте.

Т.к. тема является архивной.

1) Не ТЫкай, мы с Вами не знакомы.
2) Читать прекрасно умею, и предложил вариант узнать пароль в пункте 6, в строке кода он там будет указан.

Т.к. тема является архивной.

Илич писал(а)
Читать прекрасно умею, и предложил вариант узнать пароль в пункте 6, в строке кода он там будет указан.

ВЫ в этом уверены что он там будет? Там просто набор символов. Это точно не пароль.

Т.к. тема является архивной.

Чё ?
C чего вдруг там пароль лежать будет ?
С хешем не попутал ?

Т.к. тема является архивной.

Т.к. тема является архивной.

Да ладно, теперь это так можно сделать. Раньше реально только брутом можно было. Или это пароль именно на защиту, а не на открытие файла?

Т.к. тема является архивной.

Ну вроде дошли до того, что там может быть не пароль, а хэш. Ура.
Ну а теперь может кто-то не знает. Несколько паролей могут генерировать один и тот же хэш. Зависит от алгоритма хэширования, длины пароля и т.д.
То есть если вы нашли один пароль, который подходит под хэш - просто брутьте дальше, пока найденный пароль не удовлетворит ваше любопытство.

Т.к. тема является архивной.

Т.к. тема является архивной.

За скромное вознаграждение напишу многопотоковый брутфорсер, который будет работать на кластерной системе

Т.к. тема является архивной.

Т.к. тема является архивной.

Т.к. тема является архивной.

По вашему запросу ничего не найдено.
Пожалуйста переформулируйте запрос.

Объявления на НН.РУ - Техника

Нижняя часть корпуса, поддон ноутбука asus n53s 13gn1q1ap010 подходит к ноутбукам: asus n53s серии парт-номера: 13gn1q1ap010.
Цена: 1 600 руб.

Сетевая карта D-link DFE-520TX в отличном состоянии. Интерфейс: PCI Доступные типы сетевых соединений Ethernet: 1 шт Производительности.
Цена: 170 руб.

Покупаем лицензионный софт на протяжении 10 лет, поэтому у нас лучшее обслуживание клиентов среди компаний данной сферы деятельности.
Цена: 12 000 руб.

Jumper EZbook 3 Pro 13,3 "ips экран Apollo Lake J3455 6 ГБ 64 Гб 2,4G/5G WiFi с M.2 SATA SSD слотом. Лицензионная WINDOWS 10 в.
Цена: 15 000 руб.


А при открытие файла разве не пишет?


А при открытие файла разве не пишет?
Stormy

Место для рекламы.

Вопрос не в открытии, а в сохранении и закрытии. К примеру я сижу в файле и хочу сохраниться, а кто-то зашёл в этот же файл как "чтение", то он меня блокирует. Вот и хочется выяснить, как отследить блокирующего Вопрос не в открытии, а в сохранении и закрытии. К примеру я сижу в файле и хочу сохраниться, а кто-то зашёл в этот же файл как "чтение", то он меня блокирует. Вот и хочется выяснить, как отследить блокирующего alekZZandr Этот момент можно отследить, но не инструментами excel а оснасткой администрирования на самом сервере:
Панель управления -> Администрирование -> Управление компьютером -> Общие папки -> Открытые файлы. Там не только видно, кто блокирует указанный файл, но так же можно принудительно файл разблокировать (последние изменения указанного пользователя сохранены не будут, если не была нажата кнопка сохранения)
P.S. Написано применительно к Windows Этот момент можно отследить, но не инструментами excel а оснасткой администрирования на самом сервере:
Панель управления -> Администрирование -> Управление компьютером -> Общие папки -> Открытые файлы. Там не только видно, кто блокирует указанный файл, но так же можно принудительно файл разблокировать (последние изменения указанного пользователя сохранены не будут, если не была нажата кнопка сохранения)
P.S. Написано применительно к Windows igrtsk

Инструктор по применению лосей в кавалерийских частях РККА

Да, Windows. Но, к сожалению у меня нет доступа к администрированию общих папок серверного диска. Есть ли способ обойти администрирование? Ведь если я сижу в файле, то я должен где-то в файле видеть кто со мной сидит в нём? Да, Windows. Но, к сожалению у меня нет доступа к администрированию общих папок серверного диска. Есть ли способ обойти администрирование? Ведь если я сижу в файле, то я должен где-то в файле видеть кто со мной сидит в нём? alekZZandr Если у вас нет прав администрирования - никак.
Тормошите админов. Пусть "поднимают" сервер, обеспечивающий корректную работу в общих файлах.
Тем более, что такой пакет входит в состав MS Office начиная с версии 2007, в противном случае дадут вам терминальный доступ к требуемому ресурсу Если у вас нет прав администрирования - никак.
Тормошите админов. Пусть "поднимают" сервер, обеспечивающий корректную работу в общих файлах.
Тем более, что такой пакет входит в состав MS Office начиная с версии 2007, в противном случае дадут вам терминальный доступ к требуемому ресурсу igrtsk

Инструктор по применению лосей в кавалерийских частях РККА

alekZZandr,
А разве пользователь открывший в режиме Чтения или Уведомления, может блокировать сохранение?
Пользователь А открывает файл первым
Пользователь Б вторым
Пользователь А редактирует файл и преспокойно его сохраняет
Пользователь Б в случае режима Чтение даже и не подозревает о закрытие файла, в случае режима Уведомление, получает уведомление.

Я в чем-то ошибся?

alekZZandr,
А разве пользователь открывший в режиме Чтения или Уведомления, может блокировать сохранение?
Пользователь А открывает файл первым
Пользователь Б вторым
Пользователь А редактирует файл и преспокойно его сохраняет
Пользователь Б в случае режима Чтение даже и не подозревает о закрытие файла, в случае режима Уведомление, получает уведомление.

Я в чем-то ошибся? Stormy

Я в чем-то ошибся? Автор - Stormy
Дата добавления - 28.02.2014 в 16:53

Совет: Иногда файл блокируется, если все авторы не используют версию, которая поддерживает совместное редактирование. Для совместной работы убедитесь, что все используют Microsoft 365 подписки Excel илиExcel в Интернете.

Шаг 1. Сперва попробуйте эти действия, если вы заблокировали файл

Убедитесь, что файл закрыт на всех ваших устройствах. Если ошибка все еще возникает, подождите несколько минут, пока сервер отпустит блокировку файла. (Иногда сервер считает, что у вас открыт файл, и вам нужно просто догнаться до того, что происходит.)

Если "другой пользователь" — не вы, можно подождать, пока другой пользователь не закончит работу и закроет файл. Вы также можете открыть файл только для чтения. Наконец, вы можете попросить того человека закрыть файл, вернуть его с редактирования или предоставить вам разрешения на изменение.

Шаг 3. Убедитесь, что все пользователи работают с версией, которая поддерживает совместное редактирование

Если вы хотите работать над файлом одновременно с другими людьми, убедитесь, что все используют версию Excel, которая поддерживает совместное использование. При совместном авторе файл может открыть несколько человек, и вы сможете быстро увидеть изменения друг друга за считанные секунды.

Примечание: * Для совместной работы в Excel для Microsoft 365 и Excel для Microsoft 365 для Mac требуется, чтобы вы могли в нее вписаться с помощью Microsoft 365 подписки. Если у вас есть учетная запись для работы или обучения, возможно, вы сможете совместно работать, если администратор не предоставил последнюю версию для установки.

Версии Excel, поддерживающие совместное редактирование:

Excel для Microsoft 365*

Excel для Microsoft 365 для Mac*

Excel в Интернете

Excel для Android

Примечание: Excel 2019 не поддерживает совместное авторство.

Если пользователи не знают, какая у них версия приложения, предложить всем использовать Excel Online для совместной работы в веб-браузере.

Шаг 4. Поместите файл в OneDrive или SharePoint в Microsoft 365

Указанные ниже расположения не поддерживают совместное редактирование.

Папки на сервере, например \\сервер\папка и smb://сервер/папка.

Облачные службы, например DropBox, Box и Google Диск.

Локальные папки на компьютере с ОС Windows или компьютере Mac.

Библиотеки на локальных сайтах SharePoint. Если у вас есть сайт и вы Excel для Microsoft 365, попробуйте использовать Excel Online для совместной работы.

Шаг 5. Используйте только перечисленные форматы файлов

Для Windows:если вы пытаетесь совместное авторство ,проверьте имя файла и убедитесь, что он имеет формат .xlsx, XLSM или XLSB. Если файл имеет другой формат, перейдите на страницу Файл > Сохранить как > Обзор > Тип файла и выберите формат .xlsx, XLSM или XLSB.

Для Mac:если вы пытаетесь совместное авторство ,проверьте имя файла и убедитесь, что он имеет формат .xlsx, XLSM или XLSB. Если файл имеет другой формат, перейдите в папку Файл > Сохранить как. и выберите формат .xlsx, XLSM или XLSB.

Примечание: Совместное форматирование не поддерживается в формате Strict Open XML Spreadsheet.

Если вы используете Приложение синхронизации OneDrive для Windows, убедитесь, что используете последнюю версию. Кроме того, убедитесь, приложение синхронизации приостановка.

Шаг 7. Удалите неподдерживаемые возможности из файла

Если вы пытаетесь совместно редактировать файл, ошибка "файл заблокирован" может возникнуть, если в файле используется функция, не поддерживаемая при совместном редактировании. Попросите пользователя, у которого открыт файл, выполнить одно или несколько из указанных ниже действий. Прежде всего попробуйте выключить общие книги. Кроме того, если вы работаете со снимком из SharePoint, откройте вместо него саму книгу. Если два этих решения не помогли, попробуйте выполнить одно или несколько из указанных ниже действий.

Если возможно, отключите в файле шифрование паролем или ограничение доступа. Выберите Файл > Сведения > Защита книги и отключите все функции пароля и ограничения доступа.

Отключите параметр Обновлять данные при открытии файла для всех таблиц и сводных таблиц в файле. Выберите таблицу или сводную таблицу, щелкните Работа с таблицами | Конструктор > Обновить > Свойства подключения и снимите флажок Обновлять данные при открытии файла.

Деактивируйте надстройку, которая вызывает блокировку. Выберите элементы Файл > Параметры > Надстройки > Надстройки Excel > Перейти, а затем снимите флажок рядом с надстройкой.

Если возможно, отключите в файле шифрование паролем. Для этого откройте вкладку Рецензирование. Если выделен элемент Защитить книгу, щелкните его, чтобы отключить защиту. Если будет предложено, введите пароль.

Если возможно, отключите ограничения доступа. Выберите Файл > Ограничить разрешения > Нет ограничений.

Отключите параметр Обновлять данные при открытии файла для всех таблиц и сводных таблиц в файле. Выберите таблицу или таблицу, а затем перейдите на вкладку Таблица и > Обновить > Свойства подключения. и снимите флажок Обновлять данные при открытии файла.

Деактивируйте надстройку, которая вызывает блокировку. Выберите Сервис > Надстройки для Excel и снимите флажок рядом с соответствующей надстройкой.

Как понятно из заголовка, мы сделаем так, чтобы открытие рабочего файла на общем сетевом диске не осталось бесследным. Макрос будет фиксировать на отдельном (скрытом) листе имя пользователя, открывшего файл, а также дату-время открытия и закрытия файла.

Этап 1. Создаем "Лог"

Добавим в нашу книгу новый лист, куда будет записываться информация о всех пользователях и назовем его, например, Лог. На нем создадим простую шапку будущего журнала учета посетителей:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Этап 2. Макросы фиксации входа-выхода

Теперь добавим макросы для записи на лист Лог даты-времени и имен пользователей при открытии и закрытии книги. Для этого нужно открыть редактор Visual Basic с помощью сочетания Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer) и найти в левом верхнем углу панель Project (если она не отображается, то включить ее можно сочетанием клавиш Ctrl+R):

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Двойным щелчком откройте модуль ЭтаКнига (ThisWorkbook) и вставьте туда пару наших макросов для обработки событий открытия и закрытия книги:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'ищем последнюю занятую строчку в логах

lastrow = Worksheets("Лог").Range("A60000").End(xlUp).Row

'заносим дату-время выхода из файла

If lastrow>1 Then Worksheets("Лог").Cells(lastrow, 3) = Now

'сохраняемся перед выходом

ActiveWorkbook.Save

End Sub

Private Sub Workbook_Open()

'ищем последнюю занятую строчку в логах

lastrow = Worksheets("Лог").Range("A60000").End(xlUp).Row

'заносим имя пользователя и дату-время входа в файл

Worksheets("Лог").Cells(lastrow + 1, 1) = Environ("USERNAME")

Worksheets("Лог").Cells(lastrow + 1, 2) = Now

End Sub

Попробуйте открыть-закрыть этот файл пару раз и убедитесь, что на лист Лог попадает ваше имя пользователя (логин входа в Windows) и дата-время:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Этап 3. Улучшаем надежность

Можно было бы скрыть лист Лог и на этом остановиться, но есть одно "но": если у пользователя, который открывает нашу книгу, макросы разрешены по умолчанию либо он сам их разрешает, нажав в окне предупреждения на кнопку Включить содержимое, то все в порядке:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Но что если пользователь не разрешит выполнение макросов или они отключены у него по умолчанию? Тогда наши макросы отслеживания выполняться не будут и фиксации имени и даты не произойдет :( Как же заставить пользователя разрешить использование макросов?

Чтобы обойти эту проблемку воспользуемся небольшой тактической хитростью. Добавьте в нашу книгу еще один чистый лист, назовите его Предупреждение и вставьте на него следующий текст:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Суть в том, чтобы по умолчанию скрыть в книге все листы кроме этого, а рабочие листы с данными отображать с помощью специального макроса. Если пользователь не разрешил выполнение макросов, то он увидит в книге только один лист с предупреждением. Если же макросы разрешены, то наш макрос обработки события открытия книги скроет лист с предупреждением и отобразит листы с данными. Чтобы пользователь сам не отобразил их - используем суперскрытие вместо обычного скрытия листов (параметр xlSheetVeryHidden вместо обычного False).

Чтобы реализовать все описанное, слегка изменим наши процедуры в модуле ЭтаКнига (ThisWorkbook)

Private Sub Workbook_BeforeClose(Cancel As Boolean)

'ищем последнюю занятую строчку в логах

lastrow = Worksheets("Лог").Range("A60000").End(xlUp).Row

'заносим дату-время выхода из файла

If lastrow > 1 Then Worksheets("Лог").Cells(lastrow, 3) = Now

'скрываем все листы, кроме листа ПРЕДУПРЕЖДЕНИЕ

Worksheets("Предупреждение").Visible = True

For Each sh In ActiveWorkbook.Worksheets

If sh.Name = "Предупреждение" Then

sh.Visible = True

Else

sh.Visible = xlSheetVeryHidden

End If

Next sh

'сохраняемся перед выходом

ActiveWorkbook.Save

End Sub

Private Sub Workbook_Open()

'ищем последнюю занятую строчку в логах

lastrow = Worksheets("Лог").Range("A60000").End(xlUp).Row

'заносим имя пользователя и дату-время входа в файл

Worksheets("Лог").Cells(lastrow + 1, 1) = Environ("USERNAME")

Worksheets("Лог").Cells(lastrow + 1, 2) = Now

'отображаем все листы

For Each sh In ActiveWorkbook.Worksheets

sh.Visible = True

Next sh

'скрываем листы ПРЕДУПРЕЖДЕНИЕ и ЛОГ

Worksheets("Предупреждение").Visible = xlSheetVeryHidden

Worksheets("Лог").Visible = xlSheetVeryHidden

End Sub

Чтобы просмотреть скрытый Лог откройте редактор VisualBasic (Alt+F11), выделите лист на панели Project и измените его видимость на панели Properties, используя свойство Visible:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Если пользователи настолько продвинутые, что знают про суперскрытые листы и могут их отобразить через редактор Visual Basic или нарушить работу наших макросов, то можно дополнительно поставить пароль на просмотр и изменение макросов. Для этого щелкните правой кнопкой мыши по имени файла в панели Project (строка VBAProject (blackbox.xls)), выберите команду VBA Project Properties и включите флажок Lock project for viewing и задайте пароль на вкладке Protection:

Отслеживание входа пользователей в книгу Excel Microsoft Excel, Vba, Макрос, Полезное, Контроль, На заметку, Длиннопост, Системное администрирование

Теперь точно никто не уйдет безнаказанным.

Интересные поправки в макрос из комментария источника:

Вместо поиска последней занятой строки в таких случаях я обычно вставляю новую строку сразу после "шапки". Все предыдущие строки сдвигаются вниз, конечно. В результате немного упрощается код, сортировка получается обратная, "новые сверху", что позволяет быстрее просматривать последние записи, не прокручивая лист. При открытии - вставляется строка, её номер всегда будет 2. При закрытии файла в строку 2 добавляется время. Переполнение этого стека маловероятно, но и проверку такого переполнения проводить не нужно, просто отрезать строки ниже запланированного количества записей, без проверки.

Private Sub Workbook_Open()

Worksheets("Реестр изменений").Rows("2:2").Insert Shift:=xlDown 'вставляем между строками 1 и 2 новую строку

Worksheets("Реестр изменений").Rows("501:501").Delete Shift:=xlUp 'удаляем строку 501 (реестр на 500 строк)

Worksheets("Реестр изменений").Cells(2, 1) = Environ("USERNAME") 'запись в первую ячейку второй строки

Worksheets("Реестр изменений").Cells(2, 2) = Now 'запись во вторую ячейку второй строки

Администраторы файловых серверов Windows часто сталкиваются с необходимостью принудительного закрытия файлов, открытых пользователями. Такая задача возникает при одновременной работы с одним файлом нескольких пользователей. Часто при некорректной работе ПО или неправильном завершении сессии пользователем, файлы в сетевой папке оказываются открытыми и заблокированными, и остальные пользователи не могут вносить в него изменения. В этой статье мы покажем, как получить список открытых файлов на файловом сервере, узнать какие пользователи их используют, и способы сброса этих файловых сессий.

Вывести список открытых файлов на файловом сервере Windows

Список открытых пользователями файлов на файловом сервере Windows можно получить с помощью стандартной графической консоли Computer Management (Управление компьютером — compmgmt.msc ).

Запустите на файловом сервере консоль Computer Management (или подключитесь к нему удаленно консолью со своего компьютера) и перейдите в секцию System Tools -> Shared Folders -> Open files (Служебные программы -> Общие папки -> Открыты файлы). В правой части окна отображается список файлов сервера, открытых удаленно . Список содержит локальный путь к файлу, имя учетной записи пользователя, количество блокировок и режим, в котором открыт файл (Read или Write+Read).

Этот же список открытых файлов можно получит с помощью встроенной консольной утилиты Openfiles . Например, с помощью следующей команды можно получить id сессии, имя пользователя и полный локальный путь к открытому файлу:

Openfiles /Query /fo csv |more

При удаленном доступе пользователя к папке или файлу в сетевой папке (SMB) на сервере, для пользователя создается новая сессия, определяющая данное подключение. Управление подключениями пользователей осуществляется именно через эти идентификаторы сессий.

Эту же команду можно выполнить удаленно, например, нужен список открытых файлов на файловом сервере mskfs01:

Openfiles /Query /s mskfs01 /fo csv

У команды Openfiles есть еще одна интересная возможность просмотра списка локально открытых файлов. Для ее использования нужно включить опцию Maintain Objects List (Построение списка объектов) командой openfiles /local on и перезагрузить сервер. После этого в список начнут попадать файлы, открытые локальными процессами (этот режим желательно использовать только для отладки, т.к. может негативно сказаться на производительности сервера).

Как определить какой пользователь открыл файл

Чтобы определить пользователя, который открыл (заблокировал) файл cons.adm на сервере, выполните команду:

Openfiles /Query /s mskfs01 /fo csv | find /i "cons.adm"

Ключ /i используется, чтобы выполнялся регистронезависимый поиск

Естественно, можно указать только часть имени файла. К примеру, нам нужно узнать кто открыл xlsx файл, в имени которого есть строка farm, воспользуемся таким конвейером:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i "xlsx"

Можно, конечно найти файл и в графической консоли Computer Management, но это менее удобно (консоль не предусматривает возможность поиска).

Как закрыть открытый файл

Чтобы закрыть открытый файл, нужно найти его в списке файлов секции Open File и в контекстном меню выбрать пункт « Close Open File ».

Если на файловом сервере сотни открытых файлов, найти их в консоли будет непросто. Удобнее воспользоваться утилитой Openfiles . Как мы уже говорили, она возвращает ID сессии открытого файла. Именно по этому ID сессии, файл можно принудительно закрыть, сбросив подключение. Находим ID нужного файла:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i ".xlsx"

Отключаем от него пользователя по полученному идентфикатору:

Openfiles /Disconnect /s mskfs01 /ID 67109098

Как удаленно закрыть открытые файлы с помощью PowerShell

В Windows Server 2012 / Windows 8 в PowerShell появились командлеты для работы с шарами и файлами на SMB сервере. Данные командлеты можно использовать для удаленного сброса подключений к открытому файлу.

Список открытых файлов можно получить с помощью командлетов Get- SMBOpenFile , а закрыть файл (сбросить подключение) с помощью Close-SmbOpenFile .

Итак, подключаемся к удаленному серверу:

$sessn = New-CIMSession –Computername mskfs01

Находим и закрываем открытый файл pubs.docx одной командой:

Get-SMBOpenFile -CIMSession $sessn | where | Close-SMBOpenFile -CIMSession $sessn

Подтверждаем закрытие файла, нажав Y.

Чтобы убрать подтверждение принудительного закрытия файла на сервере, используйте ключ -Force

Эти же команды можно использовать, к примеру, чтобы закрыть все файлы, открытые некоторым пользователем (пользователь ушел домой и не освободил файлы). К примеру, чтобы сбросить все файловые сессии для пользователя ipivanov, выполните

Get-SMBOpenFile -CIMSession $sessn | where |Close-SMBOpenFile -CIMSession $sessn

Читайте также: