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

NET FILE вывод списка открытых общих файлов

Команда NET FILE выводит имена открытых общих файлов на компьютере и количества блокировок для каждого файла, если они установлены. Также команда позволяет закрыть общий файл и удалить блокировки. Команда net file без параметров выводит список открытых файлов на сервере с операционной системе Windows.

Также для управления сетевыми параметрами ПК можно использовать команды:

  • NET SHARE — для управления общими ресурсами;
  • NET VIEW — для просмотра списка общих ресурсов;
  • NET USE — для подключения к общим сетевым ресурсам;
  • NET TIME — для синхронизации часов компьютера.

А для завершения текущих сеансов связи между компьютерами служит команда NET SESSION.

Синтаксис команды NET FILE

net file [номер [/close]], где

  • номер — идентификационный номер файла.
  • /close — закрытие открытого файла и снятие блокировки. Данная команда запускается на сервере, где находятся общие файлы.

Примеры команды NET FILE

  • Отображение справки для указанной команды net help file;
  • Чтобы просмотреть сведения о совместно используемых файлах введите net file;
  • Чтобы закрыть файл под номером 1, введите: net file 1 /close.

Видео — Работа с утилитой cmd NET FILE

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

В озможность просмотра недавно открытых файлов имеется во всех последних версиях Windows, хотя надо признать, что реализована она не самым лучшим образом. В Windows 10 разработчики Microsoft решили упростить просмотр данных истории открытых файлов, выделив под них отдельный подраздел в каталоге Home, кстати, далеко не всем пришедший по душе. Что касается Windows 7 и 8.1, наиболее универсальным способом просмотра истории открытия файлов является использование созданного вручную ярлыка на каталог «Недавние документы», расположенного по адресу %APPDATA%/Microsoft/Windows/Recent.

Только вот по умолчанию папка истории хранит сравнительно небольшое число элементов. Увеличить его можно, изменив кое-какие настройки в редакторе локальных групповых политик. Это наиболее универсальный способ, доступный как для Windows 7, так и для Windows 8.1. Командой gpedit.msc откройте редактор локальных групповых политик и разверните следующую ветку:

Конфигурация пользователя -> Административные шаблоны -> Компоненты Windows» -> Проводник

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

Лучшее решение — утилита OSFV

Также для просмотра недавно открытых файлов вы можете воспользоваться специальной утилитой OpenSaveFilesView (OSFV), разработанной компанией Nirsoft. OSFV работает напрямую с реестром, извлекая список «последних» файлов из подразделов OpenSavePidlMRU и OpenSaveMRU.

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

Имеется возможность сортировки списка и сохранения выбранных элементов в текстовый лог.

Установки утилита не требует, интерфейс имеет простой и понятный.

Совместима OpenSaveFilesView со всеми популярными версиями Windows обеих разрядностей. Язык интерфейса по умолчанию — английский. К программе прилагается русификатор, доступный для скачивания на сайте разработчика. Это простой INI-файл, который нужно поместить в одну папку с программой. И сама утилита, и русификатор совершенно бесплатны.

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

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

Что такое OpenSaveFilesView?

OpenSaveFilesView, или OSFV для краткости, – очень полезная программа от Nirsoft. Она извлекает из двух разделов реестра («OpenSavePidlMRU» и «OpenSaveMRU») полный список недавно открывавшихся в Windows файлов. О каждом из них приводятся довольно подробные сведения:

• имя файла,
• тип (расширение),
• порядковый номер в списке открытых файлов,
• время последнего просмотра,
• дата и время создания и изменения,
• размер,
• атрибуты файла.

Программа работает в 32- и 64-разрядных версиях Windows.

Скачать OSFV можно с официального сайта Nirsoft . Ссылки на скачивание 32- и 64-битной версий находятся в самом низу страницы. Есть в том числе и руссифицированная версия .

Скачав программу, создайте на рабочем столе папку «OSFV» и извлеките в нее файлы из ZIP-архива.

После извлечения файлов достаточно дважды щелкнуть на «OpenSaveFilesView.exe». Появится окно программы.

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

Просмотр недавно открытых файлов

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

Нажмите на столбце «Время открытия» (Open Time), чтобы стрелка была направлена вниз. Список файлов при этом отсортируется так, что последние открытые будут на самом верху.

Читайте также:  Драйвер iphone под windows

На скриншоте выше последние открытые файлы – три картинки, текстовый файл, документ Word и Flash-видео.

Признаки изменения файлов

А теперь, допустим, вам нужно кому-нибудь доказать, что вы в последнее время не изменяли никакие файлы. Нажмите на столбце «Время изменения файла» (File Modified Time), чтобы стрелка была направлена вниз.

На скриншоте выше показаны четыре недавно измененных файла. Чтобы доказать, например, что файл «.tif» и первый документ Word не изменялись, а файл «.flv» недавно открывался, зажмите клавишу [Ctrl] и выделите все три файла.

Теперь нажмите кнопку «Сохранить» (Save), которая на скриншоте выше выделена красным. В открывшемся диалоговом окне выберите папку и задайте имя файла – например «Доказательство» (Evidence). Обратите внимание, что по умолчанию программа предлагает сохранить файл в ту же папку, в которой находится она сама.

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

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

Программа OpenSaveFilesView доступна не только на английском, но еще на голландском, греческом, немецком и русском языках. Чтобы установить перевод, просто скачайте с официального сайта ZIP-архив, извлеките из него файл «opensavefilesview_lng.ini» и поместите его в папку с программой. В нашем примере это папка «OSFV» на рабочем столе.

После этого запустите OpenSaveFilesView снова – и увидите, что программа переведена на нужный язык. На скриншоте ниже это голландский.

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

Автор: Martin Hendrikx
Перевод SVET

Оцените статью:

OpenedFilesView — бесплатный инструмент для просмотра открытых в Windows файлов и управления ими

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

Будучи запущенной, утилита сканирует систему на предмет открытых в данный момент файлов, в том числе временных, и выводит их список. Помимо имени и полного пути к файлу, OpenedFilesView показывает его дескриптор, права на чтение/запись, дату и время создания и модификации, размер, атрибуты, родительский процесс, расширение и некоторые другие более специфические сведения.

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

Остальные опции служат либо для настройки внешнего вида и поведения самой утилиты, либо для настройки отображения файлов в Проводнике, кстати, утилита может быть интегрирована в последний для более удобной работы с файлами. Среди второстепенных функций доступны показ и скрытие системных объектов, файлов, открытых системным процессом Svchost , выбор кодировки, экспорт списка файлов в HTML -отчет.

Скачать этот полезный инструмент администрирования можно с официального сайта:

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

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

Если вы администрируете общие сетевые папки 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

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

Openfiles /Query /s mskfs01 /fo csv

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

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

Читайте также:  Linux show bound ports

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”.

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

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

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

Openfiles /Disconnect /s mskfs01 /ID 67109098


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

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

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

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

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

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

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

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

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

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

Get-SMBOpenFile –ClientComputerName 192.168.12.170| select ClientUserName,Path

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

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

Чтобы закрыть файл используется командлет Close-SmbOpenFile . Закрыть файл можно по ID:

Close-SmbOpenFile -FileId 4123426323239

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

Get-SmbOpenFile | where <$_.Path –like "*prog.xlsx">| Close-SmbOpenFile -Force

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

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID| Out-GridView -PassThru –title “Select Open Files”|Close-SmbOpenFile -Confirm:$false -Verbose

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

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

$sessn = New-CIMSession –Computername mskfs01

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

Get-SMBOpenFile -CIMSession $sessn | where <$_.Path –like "*pubs.docx">| Close-SMBOpenFile -CIMSession $sessn

Подтвердите закрытие файла, нажав Y . В результате вы разблокировали открытый файл. Теперь его могут открыть другие пользователи.

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

Get-SMBOpenFile -CIMSession $sessn | where <$_.ClientUserName –like "*ipivanov*">|Close-SMBOpenFile -CIMSession $sessn

После того как через конвейер передали файлы на Close-SmbOpenFile необязательно снова указывать параметр -CimSession. Это лишнее. И в самой последней команде у вас два конвейера. Такая команда вообще не отработает.

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

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

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

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

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

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

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

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

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

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

Документ ms word

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

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

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

Читайте также:  Recover windows update service

Почему в списке файлов, путь на один и тот же файл, пишется в разном регистре ?
Например у одного пользователя на один и тот же файл путь указан в верхнем регистре у другого в том регистре в котором создано все на самом деле.

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

Как сделать так, чтобы этими командлетами (get-smbopenfile в частности) могли пользоваться пользователи определенной группы безопасности ?

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

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

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

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

Здравствуйте, подскажите пожалуйста. Файловые сервер Windows Serve 2012r2
в расшаренном каталоге лежат папки с приложениями .exe ; .dll.
Пользователь удаленно запускает .exe на своем компьютере (открыв его по сети с сервера).
Задача — закрыть все сессии к файлам чтобы обновить приложение. Локально на сервере через gui это работает, но через консоль (powerShell) Get-SMBOpenFile | where <$_.Path –like «d:\apps\newApp»>| Close-SMBOpenFile -Force выполняется, но сессия сохраняется, хотя повторно get-smbOpenFile возвращает — пустоту.
Вообщем удается сбросить только через gui на сервере. Это какая-то особенность? есть ли варианты? Спасибо

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

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

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

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

Возможно ли применить данную команду к определённой шаре сервера. Допустим есть Шары D:\Share1 d:\share2. так вот вывести список открытых только по одной, определённой ?

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

Выручайте знатоки, целый день бьюсь))), можно ли закрыть все фалы и папки находящиеся в глубь директории?
Например есть «K:\Корневая» , все что в глубь, папки и фалы в них, нужно закрыть , например
Закрыть сессию для K:\Корневая\Лист Microsoft Excel.xlsx
Закрыть сессию для K:\Корневая\тест1\Лист Microsoft Excel.xlsx
Закрыть сессию для K:\Корневая\тест2\Лист Microsoft Excel.xlsx
Закрыть сессию для K:\Корневая\тест2\Вася\Вася Excel.xlsx
Закрыть сессию для K:\Корневая\тест2\Люда\Люда Excel.xlsx

Get-SmbOpenFile | Where-Object <$_.Path -Like «K:\Корневая\*»>| Close-SmbOpenFile -Force
не работает,ошибок нет при исполнении команды, но и результата тоже нет.

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

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

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

Оцените статью