Как посмотреть открытые файлы windows server 2012 + видео обзор

Содержание
  1. Аудит доступа к файлам и папкам Windows на примере Windows server 2012R2
  2. Как смотреть в Powershell открытые файлы по протоколу SMB и их закрывать
  3. Как фильтровать через Powershell файлы открытые по сети
  4. Как закрывать сессии открытых файлов в Powershell через Close-SmbOpenFile
  5. Выполнение Get-SmbOpenFile на другом сервере
  6. Get-SmbOpenFile для Windows Server 2008
  7. Как определить кто открыл файлы в сетевой папке и сбросить сессии пользователя в Windows Server
  8. 1 способ. Получаем список открытых файлов с помощью оснастки «Управление компьютером».
  9. 2 способ. Просмотр открытых файлов через командную строку утилитой Openfiles.
  10. Определяем кто открыл сетевой файл.
  11. Закрываем заблокированный сетевой файл.
  12. Управление открытыми файлами на файловом сервере Windows (SMB)
  13. Вывод списка открытых файлов в сетевой папке Windows
  14. Определяем пользователя, который открыл файл в сетевой папке с помощью Openfiles
  15. Как принудительно закрыть открытый файл в Windows?
  16. Get-SMBOpenFile: вывод списка открытых по сети файлов в PowerShell
  17. Как удаленно закрыть открытые SMB файлы с помощью PowerShell?
  18. Видео

Аудит доступа к файлам и папкам Windows на примере Windows server 2012R2

Иногда бывает необходимо понять кто удалил/изменил/переименовал конкретный файл или папку. В ОС Windows для этого используется аудит доступа к объектам.

Необходимо понимать, что аудит забирает на себя.

Для того, чтобы можно было настраивать аудит файлов и папок необходимо предварительно включить эту возможность через локальные (или в случае если у Вас используется Microsoft AD групповые) политики безопасности.

В случае локальных политик необходимо запустить оснастку “Локальная политика безопасности”, для этого необходимо нажать комбинацию клавиш Win+R, в открывшееся поле ввести secpol.msc и нажать клавишу Enter.

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Для этого необходимо открыть свойства файла или папки, перейти на вкладку “Безопасность”, нажать “Дополнительно” и “Аудит”.

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Нажимаем “Добавить” и начинаем настраивать аудит.

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Можно вписать туда имя пользователя или группы, если имя заранее неизвестно, то можно воспользоваться кнопкой “Дополнительно” которая открывает форму поиска где можно выбрать интересующих нас пользователей и группы. Чтобы контролировались действия всех пользователей необходимо выбрать группу “Все”.

Как посмотреть открытые файлы windows server 2012

Для папок поля такие:

Как посмотреть открытые файлы windows server 2012

А такие для файлов:

Как посмотреть открытые файлы windows server 2012

После этого начнется сбор данных аудита. Все события аудита пишутся в журнал “Безопасность”. Открыть его проще всего через оснастку “Управление компьютером” compmgmt.msc.

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Каждое событие ОС Windows имеет свой код события. Список событий достаточно обширен и доступен на сайте Microsoft либо в интернете. Например события аудита можно посмотреть здесь.

Вручную можно, например, задать например такой фильтр:

Как посмотреть открытые файлы windows server 2012

Далее в отфильтрованных событиях необходимо найти интересующее нас по имени объекта.

Как посмотреть открытые файлы windows server 2012

Открыть его двойным щелчком мыши и увидеть кто удалил данный файл в поле субъект.

Источник

Как смотреть в Powershell открытые файлы по протоколу SMB и их закрывать

Как посмотреть открытые файлы windows server 2012

Для просмотра в Powershell открытых файлов через SMB (открытых по сети) мы можем использовать командлет Get-SmbOpenFile. Командлет доступен с версии Windows Server 2012. Эта команда выведет папку, сессии и идентификаторы подключения:

Как посмотреть открытые файлы windows server 2012

Если мы захотим посмотреть детальную информацию по подключению нужно сделать следующее:

Как посмотреть открытые файлы windows server 2012

Или аналогично для сессий:

Навигация по посту

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

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

Как посмотреть открытые файлы windows server 2012

Меня могут не интересовать все компьютеры, а только файлы открытые с определенного адреса:

Таким образом я вывел все сессии, где свойство ClientComputerName заканчивается на 3.1.

Аналогично мы можем найти всех пользователей:

Если нам нужно найти, например, конкретный файл или расширение, то мы можем воспользоваться свойством Path или ShareRelativePath:

Таким образом я нашел все сессии, где открытый файл заканчивается на txt.

Как посмотреть открытые файлы windows server 2012

Как закрывать сессии открытых файлов в Powershell через Close-SmbOpenFile

Для закрытия сессий есть другой командлет. Мы можем закрыть существующую сессию так:

Среди других ключей, которые мы можем указывать как идентификатор для закрытия могут быть:

Частым сценарием может быть закрытие сессии где открыт определенный файл. Я бы это сделал так:

Выполнение Get-SmbOpenFile на другом сервере

Этот командлет поддерживает удаленное выполнение через сессию CIM. Для того что бы это сделать нужно написать следующее:

Если вы работаете в домене и являетесь администратором сервера, к которому пытаетесь подключиться, то у вас должны сработать команды:

Если у вас будут какие-то сложности, то стоит прочитать эту статью.

Get-SmbOpenFile для Windows Server 2008

На Windows Server 2008 этого командлета нет, но у нас есть другие способы для просмотра сессий и их закрытия. Так мы увидим все открытые файлы и папки:

Есть аналогичные команды для просмотра файлов и установленных сессий:

Можно посмотреть сессии на другом сервере. В моем случае я смотрю на сервере AD1:

Для закрытия файлов мы можем использовать:

Как посмотреть открытые файлы windows server 2012

Либо через утилиту Openfiles:

Как посмотреть открытые файлы windows server 2012

Если нам нужно отфильтровать результат по расширению файла:

Источник

Как определить кто открыл файлы в сетевой папке и сбросить сессии пользователя в Windows Server

На общедоступном сетевом ресурсе могут возникать ошибки доступа к файлам. Причиной этому является некорректно завершенная сессия пользователя, ошибки в работе ПО или просто кто-то открыл файл и не закрывает его. В такой ситуации файл оказывается заблокированным и не доступен для работы другим пользователям.

Решить проблему доступа к файлу можно путем закрытия сеансов использующих этот файл. В этой статье я расскажу как определить кто открыл файл в сетевой папке и как закрыть это подключение.

Рассмотрим два способа:

1 способ. Получаем список открытых файлов с помощью оснастки «Управление компьютером».

Для получения списка открытых файлов на файловом сервере воспользуемся оснасткой консоли «Управление компьютером». Для запуска оснастки нажимаем сочетание клавиш «Win + R» и набираем название оснастки «compmgmt.msc».

Как посмотреть открытые файлы windows server 2012

В иерархии оснастки переходим /Управление компьютером/Служебные программы/Общие папки/Открытые файлы.

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

Как посмотреть открытые файлы windows server 2012

Закрываем файл. Чтобы закрыть сетевой файл открытый другим пользователем находим его в списке и в контекстном меню выбираем пункт «Закрыть открытый файл».

Как посмотреть открытые файлы windows server 2012

2 способ. Просмотр открытых файлов через командную строку утилитой Openfiles.

Утилита Openfiles дает нам более широкие возможности по поиску и закрытию заблокированных файлов.

C помощью openfiles можно просмотреть список открытых файлов на сервере удаленно. Для этого открываем командную и запускаем утилиту с параметрами.

По-умолчанию список файлов показан в формате таблицы, но есть параметры позволяющие изменить формат вывода:

Если необходимо увидеть информацию о количестве блокировок файлов (#Locks) и в каком режиме открыт файл (чтение или запись), то можно воспользоваться параметром /v.

Определяем кто открыл сетевой файл.

Чтобы найти пользователя, который открыл и заблокировал нужный нам файл запускаем Openfiles с командой find.

в команде find указан параметр /i, чтобы поиск был регистронезависимым.

После того когда мы узнали имя пользо

Закрываем заблокированный сетевой файл.

Закрыть открытый файл можно по id сессии таким способом:

Закрыть все сетевые подключения к файлам и папкам, которые открыл пользователь BadUser:

Закрыть все файлы и директории открытые в режиме чтение/запись:

Закрыть все подключения к директории с именем «c:\myshare»:

Чтобы сбросить все сессии на удаленном сервере FileServer, которые открыл пользователь domain\baduser, независимо от id сессии:

Источник

Управление открытыми файлами на файловом сервере Windows (SMB)

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

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

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

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

Как посмотреть открытые файлы windows server 2012

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

Openfiles /Query /fo csv |more

Как посмотреть открытые файлы windows server 2012

Вы можете вывести список открытых файлов на сервере удаленно. Например, чтобы вывести все открытые по сети файлы на сервере mskfs01, выполните:

Openfiles /Query /s mskfs01 /fo csv

Определяем пользователя, который открыл файл в сетевой папке с помощью Openfiles

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

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

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

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

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

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

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

Как посмотреть открытые файлы windows server 2012

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

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

Теперь можно принудительно отключить пользователя по полученному идентификатору SMB сессии:

Openfiles /Disconnect /s mskfs01 /ID 67109098

Как посмотреть открытые файлы windows server 2012
Можно принудительно сбросить все сессии и освободить все файлы, открытые определённым пользователем:
openfiles /disconnect /s mskfs01 /u corp\aivanova /id *

Get-SMBOpenFile: вывод списка открытых по сети файлов в PowerShell

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

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

Для вывода полного списка открытых файлов на сервере, выполните команду:

Как посмотреть открытые файлы windows server 2012

Команда возвращает ID файла, ID сессии и полное имя файла.

Можно вывести список открытых файлов с именами пользователей и компьютеров (IP адресами):

Как посмотреть открытые файлы windows server 2012

Можно вывести все файлы, открытые определенным пользователем:

Get-SMBOpenFile –ClientUserName «corp\aaivanov» |select ClientComputerName,Path

или с определенного компьютера (сервера):

Get-SMBOpenFile –ClientComputerName 192.168.12.170| select ClientUserName,Path

Можно вывести список открытых файлов по шаблону. Например, все открытые по сети exe файлы:

или файлы с определенным именем:

Но обычно удобнее закрыть файл по имени:

С помощью Out-GridView можно сделать простую графическую форму для поиска и закрытия файлов. Следующий скрипт выведет список открытых файлов. Администратор должен с помощью фильтров в таблице Out-GridView найти, выделить нужные файлы и нажать ОК. В результате выбранные файлы будут принудительно закрыты.

Как посмотреть открытые файлы windows server 2012

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

Командлеты Get-SMBOpenFile и Close-SmbOpenFile можно использовать чтобы удаленно найти и закрыть открытые файлы. Сначала нужно подключиться к удаленному SMB серверу Windows через CIM сессию:

$sessn = New-CIMSession –Computername mskfs01

Следующая команда найдет SMB сессию для открытого файла *pubs.docx и завершит ее.

Как посмотреть открытые файлы windows server 2012

С помощью PowerShell вы можете закрыть и разблокировать на файловом сервере все файлы, открытые определенным пользователем (пользователь ушел домой и не освободил файлы). Например, чтобы сбросить все файловые сессии для пользователя ipivanov, выполните:

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Спасибо, поправил ошибку! Лишний символ.

Как посмотреть открытые файлы windows server 2012

Спасибо, полезный материал!

Как посмотреть открытые файлы windows server 2012

А как сделать наоборот? Отобразить список папок с открытым доступом для конкретного пользователя?

Как посмотреть открытые файлы windows server 2012

У Sysinternals есть утилитка AccessChk. Думаю с помощью нее проще всего получить список результирующих прав на каталоги для конкретного пользователя.
На вход подаем имя пользователя и имя папки. Запускаем на сервере. В результате получаем список обьектов и результирующие права доступа (R/Rw …).
accesschk corp\vasyauser d:\share
Попробуйте.

Как посмотреть открытые файлы windows server 2012

Добрый день. В чём может быт проблема в случае, когда файл принудительно закрытый через консоль не закрывается на удаленном сервере?

Как посмотреть открытые файлы windows server 2012

Кто-то использует этот файл. Возможно локально. Либо сразу после закрытия открывает… Идентфикатор сесии тот-же?

Как посмотреть открытые файлы windows server 2012

Файл точно не открывается, поскольку после закрытия через консоль не закрывается на удаленном сервере, проверил, подключившись под другим пользователем и открыв файл на сервере.

Как посмотреть открытые файлы windows server 2012

Я что-то запутался… Опишите проблему точнее, какой-то сумбур получился 🙂

Как посмотреть открытые файлы windows server 2012

Да, запутанно написал, извините. Файл находится на сервере A (файловый сервер), я захожу на сервер Б с правами пользователя и открывают файл лежащий на сервере А. Затем захожу на сервер А с правами администратора и закрываю файл открытый с правами обычного пользователя с сервера Б, используя консоль. Но файл не закрывается.

Как посмотреть открытые файлы windows server 2012

Михаил
А что за файл? Какая-то специфическая программа? Или обычный офисный документ?

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Проверьте идентификатор сессии открытого файла. Он меняется, когда вы его отключали через консоль?

Как посмотреть открытые файлы windows server 2012

Да, идентификатор меняется. Ещё есть нюанс, должен ли файл закрываться у пользователя как приложение? Поскольку я не вижу новой сессии, до тех пора пользователь не произведет манипуляций с файлом. Например, сохранит документ. Т.е. я закрываю через консоль файл, он не закрывается у пользователя, но исчезает сессия в консоли. Пользователь пересохраняет открытый файл тем самым открывая новую сессию.

Как посмотреть открытые файлы windows server 2012

Тут все верно. Путь к файлу остался в приложении. Когда приложение сохраняет файл (через то же автосохранение), создается новая SMB сессия к файлу.
В вашем случае надо после отключения файла нужно пристрелить приложение на удаленном компьютере.

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Скорее всего никак. У выполняющего команду должны быть права администратора роли File Server. Либо как вариант сделать задание в планировщике, которое запускается автоматом или по требованию и сохраняет в текстовый список открытых файлов. Нужным пользователям можно дать права на текстовый файл или запуск задания.

Как посмотреть открытые файлы windows server 2012

Здравствуйте. Есть шара на сервере и пользователи часто обращаются узнать кто открыл определенный файл на шаре. Как и чем сделать так чтобы юзер сам мог посмотреть кем открыт файл?

Как посмотреть открытые файлы windows server 2012

Без предоставления прав админа на сервере не знаю как это сделать.
Как вариант — поднять на этом же сервере IIS из одной страницы, которую формирует планировщик запуская раз в 5 минут команду выгрузки списка текущих открытых файлов в html.
Хотя бы так:
del /q c:\inetpub\site1\index.html
Openfiles /Query >> c:\inetpub\site1\index.html

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

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

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

Как посмотреть открытые файлы windows server 2012

Здравствуйте, проясните такой вопрос: на файловом сервере 2012R2, пользователи работаю с файлами dwg(через AutoCAD). User1открывает файл с сервера и начинает в нем работать, если в это время User2 откроет этот файл то получит уведомление что файл можно открыть только для чтения. Но бывают случаи когда User2 открывает файл в котором точно работает User1 но не получает уведомления и получает права на редактирование файла. Чаще такое наблюдается когда User1 отходит на некоторое время от компьютера, обострилась ситуация когда натравили GPO «Включение заставки через 600с».

Как посмотреть открытые файлы windows server 2012

Доброго дня коллеги, подскажите как реализовать задачу?Как правильно настроить доступ доменному пользователю что бы он мог подключиться через PS и закрыть файлы?

Как посмотреть открытые файлы windows server 2012

Я бы посмотрел в сторону powershell just enough administration (правильный путь) или некого задания в планировщике, которое берет инфу о файлах, которые нужно закрыть из текстового файла (задания запускается из-под админа)

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

В общем, дочитал комментарии и увидел ответ.
Get-SmbOpenFile | where

Как посмотреть открытые файлы windows server 2012

Как посмотреть открытые файлы windows server 2012

Спасибо за статью. А кто-нибудь сталкивался с таким?
Пользователь работает с документами (pdf, word, excel) на сетевом диске (файловый сервер), закрывает их, а другой пытается удалить/перенести файл или папку (в которой были эти документы) и не может, т.к «этот файл открыт в другой программе» и т.д. При этом, на файловом сервере, я по открытым файлам общих папок вижу, что первый пользователь продолжает держать папку, в которой он работал с документами. Иногда помогает перезагрузка ПК (первого пользователя), а иногда папка сама себя отпускает. Я пытался разобраться с самим ПК пользователя, в частности с офисным софтом и самой Windows, но у меня много пользователей и у всех так или иначе возникает проблема с «заблокированными» папками. Может ли так быть, что групповая политика, что подключает диски файлового сервера пользователю, каким-то образом не давать отпускать папки, с которым он работал? Или есть какая-то настройка сброса сессии к папкам? Даже не знаю…

Как посмотреть открытые файлы windows server 2012

Нужно искать процесс на компьютере пользователя, которые держит открытой сетевую папку. Может быть это антивирус или какой-то сканер, а может и офисное по работает некорректно.

Как посмотреть открытые файлы windows server 2012

Спасибо за статью. А как посмотреть, кто открыл файлы на терминальном сервере?
(файловый сервер, с переходом на удаленку становится мало актуальным.. даже странно, что кто-то сейчас открывает файлы не в терминальной сесии )

Источник

Видео

[Windows Server 2012 basics] Урок 15 - Файловый сервер

[Windows Server 2012 basics] Урок 15 - Файловый сервер

Настройка Windows 2012

Настройка Windows 2012

Что такое Windows Server и в чем отличие от Windows?

Что такое Windows Server и в чем отличие от Windows?

Настройка DHCP и DNS. Доменные зоны [Windows Server 2012] #3

Настройка DHCP и DNS. Доменные зоны [Windows Server 2012] #3

Создание нового пользователя, группы и запрет доступа к определенным файлам Windows Server 2012 R2

Создание нового пользователя, группы и запрет доступа к определенным файлам Windows Server 2012 R2

[Windows Server 2012 basics] Урок 4 - Основы DNS

[Windows Server 2012 basics] Урок 4 - Основы DNS

Просмотр открытых файлов в Windows Server (2008, 2012 и 2016)

Просмотр открытых файлов в Windows Server (2008, 2012 и 2016)

Установка, настройка DFS. gpupdate, общие папки [Windows Server 2012] #8

Установка, настройка DFS. gpupdate, общие папки [Windows Server 2012] #8

Как посмотреть недавно открытые файлы и папки в Windows 10

Как посмотреть недавно открытые файлы и папки в Windows 10

Windows server 2019 - добавление и удаление компьютера в домене

Windows server 2019 - добавление и удаление компьютера в домене
Поделиться или сохранить к себе:
Добавить комментарий

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