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

Обновлено: 04.07.2024

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

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

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

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

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

Запуск локальной политики безопасности

В открывшейся оснастке в дереве слева необходимо перейти в раздел “Локальные политики” - “Политика аудита”.

Политика аудита

Далее необходимо выбрать необходимую нам политику - в данном случае это “Аудит доступа к объектам”. Именно этой политикой регулируется доступ к объектам файловой системы (файлам и папкам) и раскрыть ее двойным щелчком мыши. В открывшемся окне необходимо выбрать какие именно типы событий будут регистрироваться - “Успех” (разрешение на операцию получено) и/или “Отказ” - запрет операции и проставить соответствующие галочки, после чего нажать “Ок”.

Выбор политики

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

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

Безопасность и аудит

Аудит

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

Настройка аудита

Сначала выбираем субъект - это чьи действия будут аудироваться (записываться в журнал аудита).

Выбор субъекта

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

Пользовательские группы

Далее необходимо настроить тип аудируемых событий (Успех, Отказ, Все), также область область применения для аудита папок - только эта папка, папка с подпапками, только подпапки. только файлы и т.д., а также сами события аудита.

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

Типы событий для папок

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

Типы событий для файлов

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

Сбор данных аудита

В дереве слева выбрать “Просмотр событий” - “Журналы Windows” - “Безопасность”.

Просмотр событий

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

Попробуем например найти событие удаления файла, для этого удалим файл на котором предварительно настроен аудит (если это не тестовые файл, то не забываем сделать его копию, так как аудит это всего лишь информация о действиях, а не разрешение/запрет этих действий). Нам нужно событие с кодом 4663 - получение доступа к объекту, у которого в поле Операции доступа Написано “DELETE” . Поиск событий в журналах Windows достаточно сложен, поэтому обычно используются специализированные средства анализа - системы мониторинга, скрипты и т.д.

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

Фильтры

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

Поиск нужного объекта

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

Администраторы файловых серверов 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

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

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

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

  1. Через оснастку "Управление компьютером" консоли управления Windows;
  2. При помощи утилиты командной строки - Openfiles.

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

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


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

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


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


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

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

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

где
/Query - показывает все открытые файлы,
/s - определяет имя удаленного компьютера.

В случае, когда необходимо указать логин и пароль пользователя для подключения к удаленному компьютеру, задаются параметры: /u - логин пользователя, /p - пароль пользователя.

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

/fo csv - выводит список в формате csv с разделителем запятая;
/fo list - показывает открытые файлы в формате списка;
/fo table - формат таблицы.

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

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

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

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

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

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

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

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

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

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

администратор сервера может управлять доступом к любым папкам сервера (таким как общие папки при доступе к панели запуска, удаленному Веб-доступ, моему серверному приложению для Windows Phone или моему серверному приложению для Windows 8) на сервере с помощью задач на вкладке « папки сервера » панели мониторинга, что позволяет пользователям менять уровни доступа к различным файлам.

В следующих разделах приводятся сведения, которые помогут вам, как создавать папки сервера и управлять ими.

Управление папками сервера с помощью панели мониторинга

Windows Server Essentials позволяет выполнять общие задачи администрирования с помощью панели мониторинга. На странице Папки сервера панели мониторинга представлены следующие сведения.

Список папок сервера, где отображаются:

объем свободного пространства, которое будет доступно в папке;

краткое описание всех задач, которые выполняются с папкой; поле Состояние пусто, если папка исправна и никакие задачи не выполняются;

область сведений, где может быть представлена дополнительная информация о выбранной папке;

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

В следующей таблице описаны различные задачи папок сервера, доступные на панели мониторинга Windows Server Essentials. Большинство задач зависят от папки и отображаются только при выборе папки в списке.

Задачи для папок сервера на панели мониторинга

Имя задачи Описание
Открыть папку Отображение содержимого выбранной папки в проводнике (в предыдущих версиях Windows — проводник Windows).
Удалить папку Позволяет удалить папку, созданную пользователем. Эта задача недоступна для папок по умолчанию, которые создаются при установке сервера.
Переместить папку Открывает мастер, который позволяет переместить папку сервера в новое расположение.
Остановить общий доступ к папке Прекращение общего доступа к выбранной папке, при этом папка не удаляется. Если к папке не предоставляется общий доступ, она не отображается на панели мониторинга. Эта задача недоступна для папок по умолчанию, которые создаются при установке сервера.
Просмотр свойств папки Отображение свойств выбранной папки. Вы можете:

-Изменить имена папок, созданных пользователем.

-Изменить описание для выбранной папки.

— Просмотр размера папки.

— Открыть выбранную папку в проводнике.

— Укажите разрешения на доступ к учетной записи пользователя для выбранной папки.

-Скрыть выбранную папку из удаленных Веб-доступ и приложений веб-служб.

Управление доступом к папкам сервера

Windows Server Essentials позволяет сохранить файлы, расположенные на клиентских компьютерах, в центральном расположении с помощью папок сервера. Хранение файлов в папках сервера гарантирует, что файлы всегда будут безопасно доступны с каждого клиента.

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

создавать резервную копию папки сервера с помощью службы резервного копирования и восстановления сервера для защиты от сбоев сервера;

получать доступ к файлам, которые хранятся в папке сервера, из любого расположения с помощью браузера (удаленный веб-доступ) или с помощью приложений My Server для Windows Phone и Windows 8;

получать доступ к папке сервера с любого клиентского компьютера.

Вы можете управлять доступом к любым папкам сервера с помощью задач на вкладке Папки сервера панели мониторинга. В следующей таблице перечислены папки сервера, создаваемые по умолчанию при установке Windows Server Essentials или при включении потоковой передачи мультимедиа на сервере.

Сведения о том, как скрыть или задать разрешения для папок сервера или изменить свойства папки сервера, см. в следующих разделах:

Скрыть папки сервера

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

Для выполнения этой процедуры необходимо быть сетевым администратором.

Скрытие папок сервера с веб-сайта в удаленного веб-доступа

Откройте панель мониторинга Windows Server Essentials.

В представлении списка выберите папку сервера, свойства которой требуется просмотреть или изменить.

В области <> задачи Серверфолдер щелкните Просмотр свойств папки.

В > свойствах<имя_папки щелкните общий доступ, выберите Скрыть эту папку от удаленного веб-доступ и приложений веб-службы, а затем нажмите кнопку Применить.

Задание разрешений для папок сервера

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

Чтение и запись

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

Только для чтения

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

Нет доступа

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

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

Для выполнения этой процедуры необходимо быть сетевым администратором.

Установка разрешений для папки сервера

Откройте панель мониторинга Windows Server Essentials.

В представлении списка выберите папку сервера, свойства которой требуется просмотреть или изменить.

В области <> задачи Серверфолдер щелкните Просмотр свойств папки.

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

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

Разрешения общего доступа для папок сервера Архивы журналов файлов, Перенаправление папок и Пользователи не могут быть изменены. Следовательно, в окнах свойств этих папок сервера вкладка Общий доступ отсутствует.

Просмотр или изменение свойств папки сервера

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

в Windows server essentials и Windows Server 2012 R2 с установленной ролью Windows Server essentials можно также изменить квоту папки.

Просмотр и изменение свойств папки

Откройте панель мониторинга Windows Server Essentials.

В представлении списка выберите папку сервера, свойства которой требуется просмотреть или изменить.

В области <> задачи Серверфолдер щелкните Просмотр свойств папки.

В > свойствах<имя_папки на вкладке Общие просмотрите или измените имя и описание папки сервера.

Добавление или перемещение папки сервера

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

При необходимости вы можете переместить папку сервера, которая находится на основном сервере под управлением Windows Server Essentials и отображается на вкладке Папки сервера панели мониторинга, на другой жесткий диск с помощью мастера перемещения папки. Папку сервера можно переместить в другое расположение на жестком диске, если:

На жестком диске недостаточно места для хранения данных.

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

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

Перед перемещением папки необходимо убедиться в следующем:

Создана резервная копия сервера.

Все операции резервного копирования клиента остановлены, если планируется переместить папку архивации клиентских компьютеров. При перемещении папки архивации клиентских компьютеров сервер не сможет создать резервную копию всех клиентских компьютеров до завершения перемещения папки.

Сервер не выполняет каких-либо важных системных операций. Рекомендуется завершить все выполняемые обновления или операции резервного копирования, перед началом перемещения папки, иначе процесс займет больше времени.

Ни один из файлов в перемещаемой папке не используется. Вы не сможете получить доступ к папке сервера при ее перемещении.

Перемещение папки из файловой системы NTFS в ReFS не поддерживается, если файлы в папках сервера реализуют следующие технологии:

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