Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как узнать кем открыт файл по сети


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

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

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

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

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

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

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

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

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

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

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

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

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

Openfiles /Query /s FileServer

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

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

openfiles /query /s FileServer /u domain\admin /p p@ssw1234

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

Openfiles /Query /s FileServer /fo csv 

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

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

Openfiles /Query /s FileServer /v

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

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

Openfiles /Query /s FileServer | find /i "anyfile.xlsx"

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

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

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

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

openfiles /disconnect /id 26843578

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

openfiles /disconnect /a BadUser

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

openfiles /disconnect /o read/write

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

openfiles /disconnect /a * /op "c:\myshare\"

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

openfiles /disconnect /s FileServer /u domain\baduser /id *

Управление открытыми файлами на файловом сервере 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

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

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

Openfiles /Query /s mskfs01 /fo csv

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

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

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

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, но это менее удобно (в консоли нет возможности поиска).

Как принудительно закрыть открытый файл в 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 *

Обратите внимание, что принудительное закрытие файла, открытого клиентом на SMB сервере, вызывает потерю несохраненных данных. Поэтому команду openfiles /disconnect и командлет Close-SMBOpenFile (рассматривается ниже) нужно использовать с осторожностью.

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

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

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

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

Get-SMBOpenFile

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

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

Get-SmbOpenFile|select ClientUserName,ClientComputerName,Path,SessionID

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

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

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

Get-SMBOpenFile –ClientComputerName 192.168.12.170| select ClientUserName,Path

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

Get-SmbOpenFile | Where-Object {$_.Path -Like "*.exe*"}

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

Get-SmbOpenFile | Where-Object {$_.Path -Like "*защита*"}

Чтобы закрыть файл используется командлет 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

Также вы можете подключаться к удаленному серверам для запуска команд через командлеты PSRemoting: Enter-PSSession или Invoke-Command .

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

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

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

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

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

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

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

Итак, у Вас есть файловый сервер (или просто расшаренные папки, даже на десктопной версии Windows). И Вам нужно посмотреть - кто в данный момент подключен к какой папке или какой файл каким пользователем открыт.

Просмотр

Для просмотра:

Пуск -> Администрирование -> Управление компьютером

Для пользователей Windows Server 2008 - не путайте с "Управление сервером", которое открывается, если нажать правой кнопкой на "Компьютер" и выбрать "Управление" - это разные оснастки!

В открывшемся окне - раскрываем "Общие папки". Внутри у этого раздела 3 подпаки:

  • Общие ресурсы : Список текущих расшаренных папок на данном сервере
  • Сеансы : Список сеансов, под которыми работают пользователи. Под одним сеансом пользователь может открыть несколько файлов за раз.
  • Открытые файлы : Здесь список открытых файлов или папок. Папка считается открытой, если ее содержимое в данный момент отображается в проводнике (или другой программе, работающей с этой шарой).

Выбирайте необходимый пункт и смотрите. Например, чтобы посмостреть текущие подключения - кто какие файлы открыл - выбираем "Открытые файлы".

Снять подключение

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

Открываем папку "Открытые файлы", кликаем правой кнопкой мыши на открытом файле и выбираем "Закрыть открытый файл".

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

  • Не будет извещен о том, что его сессию "сняли"
  • При попытке сохранения файла получит облом

Ну вот как-то так.

P.S. Пользователям Windows Server 2008 - если ранее, на более ранних системах Вы тыкали в "Пуск -> Компьютер" правой кнопкой мыши и выбирали "Управление", то теперь вместо "Управление компьютером" по такому тыку у Вас будет открываться уже "Управление сервером" - совсем другая оснастка, потому Вам придется топать через "Пуск -> Администрирование -> Управление компьютером"! Люди путаются и ищут знакомую остастку в знакомом месте и не могут понять - куда делось управление общими ресурсами. Вот Вам подсказка.

Как узнать, какие папки доступны по сети (расшарены) в Windows

Приветствую!

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

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

И такая возможность существует в Windows, приём независимо от того, какая версия используется. Одинаково быстро можно посмотреть данную информацию как в по сей день популярной ОС Windows 7, так и в 10 версии, что является последней и наиболее актуальной версией.

И далее мы детально рассмотрим, как осуществить просмотр папок и файлов, к которым предоставлен доступ по локальной сети.

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

Для получения данной информации в наглядном виде, мы откроем соответствующее системное окно, именуемое «Управление компьютером», в котором также имеется возможность быстро отменить доступ к той или иной папке\файлу по сети.

  1. Чтобы вызвать данное окно, необходимо в первую очередь нажать комбинацию клавиш Win + R на клавиатуре. Будет открыто миниатюрное окно, в котором присутствует строка для ввода команд. В неё необходимо ввести команду «compmgmt.msc» (без кавычек) и нажать по кнопке OK, что расположена там же чуть ниже.

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

  3. В правой части окна вы увидите список из открытых для доступа по сети файлов и папок.

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

    Обратите внимание, что в списке отображены корневые и системные директории – эти предопределённые разрешения, которые используются самой системой, для административных целей, они не доступны по сети. Если щёлкнуть двойным щелчком мыши по предопределённому разрешённому по сети ресурсу, то высветится соответствующее уведомление.

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

4 способа узнать, пользовался ли кто-то компьютером в ваше отсутствие

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

Фото: Depositphotos

Как узнать, когда включали и выключали компьютер

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

Ищите папку «Журналы Windows» на левой панели. Затем выберите пункт «Система».

Теперь нужно оставить только те события, которые нас интересуют. Для этого кликните правой кнопкой мыши на пункте «Система» и выберите «Фильтр текущего журнала» или же найдите фильтр на панели в правой части окна программы.

В окне фильтра нужно совершить всего одно действие. В поле «Источники событий» найдите пункт Winlogon. Поставьте галочку и подтвердите свой выбор.

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

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

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

Первая колонка показывает время включения, вторая — выключения.

Как узнать, какие программы и файлы открывались

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

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

Будем использовать программы LastActivityView и ExecutedProgramsList. Они берут данные из уже упомянутого реестра и журнала Windows, поэтому сразу покажут всю картину. А не только то, что было сделано после установки.

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

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

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

Проверить историю браузера

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

Еще как вариант можно проверить поисковые запросы, которые хранятся в аккаунте Google. Как это сделать, мы подробно рассказали в материале «Как удалить историю поисковых запросов в Google».

Кроме того, даже если кто-то и почистил историю, он вполне мог стереть заодно и ваши запросы. Обращайте на это внимание.

Удаленные файлы и корзина

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

Это тоже интересно:

Как удалить историю поисковых запросов в Google

Как восстановить фотографии на Android

Во время загрузки произошла ошибка.

Хотите получать новости по теме?

Как узнать, какие документы или папки открывались на компьютере?

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

Способ касается современных операционных систем (старше Windows 7).

На самом деле много где остаётся информация об открытых файлах, документах и посещений каталогов. Система на удивление любит “натоптать”. Итак, приступим.

Как-то на глаза мне попались какие-то файлы с расширением “.automaticDestinations-ms”, о таких я раньше не слышал. Находятся они в каталоге:

C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\

Файл представляет собой что-то вроде базы данных наиболее часто используемых файлов. Несмотря на плохо читаемые имена файлов (16 hex-цифр, напоминает буквенно-цифровой хеш), это конкретные константы, в частности файл “a7bd71699cd38d1c” всегда отвечает за Word 2010 (32-bit), а “adecfb853d77462a” – за Word 2007 и т.д. (Где взять расширенный список я подскажу ниже).

При клике правой кнопкой мыши на панели задач конкретного приложения мы увидим нечто подобное:

Так каждая программа пишет в свой конкретный файл.

Итак, открываются эти файлы прекрасно различными специализированными программами, я пользуюсь JumpLister.

Открываем файл в программе и видим следующее. Цифрой 1 я пометил общий список файлов, который открывался. Что характерно здесь – есть путь к файлу (справа), а так же неплохое поле – MAC-адрес хоста, создавшего документ. В частности здесь видно, что первый файл создан на одном компьютере, второй и третий – на другом. Если выбрать конкретную запись, то увидим детали этого файла.

Кстати, файл AppIds.txt в каталоге с программой – и есть список имён файлов и приложений.

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

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

Или в реестре:

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_JumpListItems.

Друзья! Вступайте в нашу группу Вконтакте, чтобы не пропустить новые статьи! Также, подписывайтесь на наш канал в YouTube

Как просматривать и закрывать открытые файлы в Windows Server SMB Share?

Администраторам файлового сервера

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

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

Просмотр открытых файлов в общей сетевой папке на Windows Server

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

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

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

openfiles / Query / fo csv | подробнее

Когда пользователь удаленно обращается к папке или файлу в общей сетевой папке на сервере, создается новый сеанс SMB. Вы можете управлять открытыми файлами, используя эти идентификаторы сеанса.

Вы можете отобразить список открытых файлов на удаленном сервере. Например, вам нужно вывести список всех открытых файлов в общих папках на хосте lon-fs01 :

открытых файлов / запросов / s lon-fs01 / fo csv

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

Как узнать, кто блокирует файл в общей папке?

Чтобы идентифицировать пользователя, который открыл (заблокировал) файл filename.docx в общей сетевой папке на удаленном сервере lon-fs01, выполните следующую команду:

openfiles / Query / s lon-fs01 / fo csv | find / i "filename.docx"

Клавиша / i используется для поиска файлов без учета регистра.

Вы можете указать только часть имени файла. Например, вам нужно узнать, кто открыл файл XLSX, в названии которого содержится «sale_report».Используйте следующую трубу:

openfiles / Query / s lon-fs01 / fo csv | find / i "sale_report" | find / i "xlsx"

Конечно, вы можете найти этот файл в графическом интерфейсе управления компьютером, но он менее удобен (в этой консоли нет функции поиска).

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

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

Если на вашем файловом сервере есть сотни открытых файлов, найти нужный файл в консоли будет непросто. Более удобно использовать инструмент командной строки Openfiles . Как мы уже говорили, он возвращает идентификатор сеанса открытого файла. Используя этот идентификатор сеанса, вы можете принудительно закрыть файл, сбросив соединение SMB.

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

openfiles / Query / s lon-fs01 / fo csv | найти / я "ферма" | найти / я ".xlsx "

Отключить пользователя от файла, используя полученный идентификатор сеанса SMB:

openfiles / Disconnect / s lon-fs01 / ID 617909089

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

openfiles / disconnect / s lon-fs01 / u corp \ mjenny / id *

Примечание . Принудительное закрытие файла, открытого клиентом на сервере SMB, может привести к потере несохраненных данных. Поэтому очень осторожно используйте команду openfiles / disconnect или Close-SMBOpenFile (обсуждается ниже).

Get-SMBOpenFile: поиск и закрытие обработчиков открытых файлов с помощью PowerShell

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

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

Чтобы отобразить список открытых файлов на SMB-сервере Windows, выполните команду:

Get-SMBOpenFile

Команда возвращает идентификатор файла, идентификатор сеанса и полное имя файла (путь).
Вы можете отобразить список открытых файлов с именами пользователей и компьютеров (IP-адресами):

Get-SmbOpenFile | выберите ClientUserName, ClientComputerName, Path, SessionID

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

Get-SMBOpenFile –ClientUserName "corp \ mjenny" | выберите ClientComputerName, путь

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

Get-SMBOpenFile –ClientComputerName 192.168.1.190 | выберите ClientUserName, путь

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

Get-SmbOpenFile | Where-Object {$ _. Path -Like "* .exe *"}

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

Get-SmbOpenFile | Where-Object {$ _. Path -Like "* reports *"}

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

Close-SmbOpenFile -FileId 4123426323239

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

Get-SmbOpenFile | где {$ _.Путь - как "* Annual2020.xlsx"} | Закрыть-SmbOpenFile -Force

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

Get-SmbOpenFile | выберите ClientUserName, ClientComputerName, Path, SessionID | Out-GridView -PassThru –title «Выбрать открытые файлы» | Close-SmbOpenFile -Confirm: $ false -Verbose

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

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

$ sessn = New-CIMSession –Computername lon-fs01

Вы также можете подключиться к удаленному серверу для выполнения команд PorwerShell с помощью командлетов PSRemoting: Enter-PSSession или Invoke-Command .

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

Get-SMBOpenFile -CIMSession $ sessionsn | где {$ _.Путь – like "* pubs.docx"} | Закрыть-SMBOpenFile -CIMSession $ sessionsn

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

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

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

Get-SMBOpenFile -CIMSession $ sessionsn | где {$ _. ClientUserName –like "* mjenny *"} | Close-SMBOpenFile -CIMSession $ sessionsn

.

Как просмотреть открытые файлы в Windows Server (2008, 2012 и 2016)

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

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

Оба метода используют встроенные инструменты Windows и работают в большинстве версий Windows (я тестировал это на Server 2008, 2012, 2016 и Windows 10).

Видеоурок

Если вам не нравятся видео или вам нужна дополнительная информация, продолжайте читать.

Рекомендуемый инструмент: Анализатор разрешений SolarWinds

Теперь вы можете быстро увидеть, КТО имеет разрешение на ЧТО, и ответить на вопросы, которые отнимают ваше время и терпение.

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

Загрузите БЕСПЛАТНУЮ копию анализатора разрешений

Метод 1. Использование управления компьютером для просмотра общих файлов / папок

Этот первый метод используется для просмотра открытых файлов в общей папке. Это лучший способ устранения проблем с заблокированными файлами, которые пользователи оставили открытыми. Если вам нужно узнать, в каком процессе открыт файл, воспользуйтесь методом 2.

Шаг 1: Щелкните правой кнопкой мыши меню «Пуск» и выберите «Управление компьютером»

.

Другой способ получить доступ к управлению компьютером - ввести compmgmt.msc в поле поиска меню «Пуск».

Вам нужно будет открыть эту консоль на компьютере или сервере, на котором есть общая папка. Например, у меня есть сервер с именем file1 с общей папкой HR. Чтобы увидеть открытые файлы на этом общем ресурсе, мне нужно будет открыть консоль управления компьютером с сервера file1.

Шаг 2: Щелкните Общие папки, затем щелкните открытые файлы

Теперь я вижу, что у пользователя rallen есть папка HR и файл adpro.txt открытый.

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

Это все для метода 1.

Если вам нужно проверить, у кого есть права доступа к файлу или папке, ознакомьтесь с моим руководством Как просмотреть действующие разрешения NTFS.

Методы 2: просмотр сведений о процессе и файле с помощью монитора ресурсов

Шаг 1: Введите монитор ресурсов в поле поиска меню «Пуск»

Это самый быстрый способ доступа к монитору ресурсов.

Другой вариант - открыть диспетчер задач, щелкнуть вкладку производительности и затем щелкнуть «Открыть монитор ресурсов».

Шаг 2: Щелкните вкладку диска в мониторе ресурсов

Теперь, когда у меня открыт монитор ресурсов, мне просто нужно щелкнуть вкладку диска.

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

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

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

Чтобы остановить мониторинг в реальном времени, перейдите в режим мониторинга, затем выберите «Остановить мониторинг».

Если вам понравилась эта статья, то, пожалуйста, подпишитесь на наш канал YouTube для получения дополнительных руководств по Active Directory.

Рекомендуемый инструмент: SolarWinds Server & Application Monitor

Эта утилита была разработана для мониторинга Active Directory и других важных служб, таких как DNS и DHCP.Он быстро обнаруживает проблемы с контроллером домена, предотвращает сбои репликации, отслеживает неудачные попытки входа в систему и многое другое.

Что мне больше всего нравится в SAM, так это простая в использовании панель управления и функции оповещения. Он также имеет возможность контролировать виртуальные машины и хранилище.

Загрузите бесплатную пробную версию здесь

.

Как узнать, какой процесс Windows использует файл

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

  • «Невозможно удалить файл: доступ запрещен»
  • «Произошло нарушение совместного использования»
  • «Исходный или целевой файл может использоваться»
  • «Файл используется другой программой или пользователем».
  • «Убедитесь, что диск не заполнен, не защищен от записи и что файл в настоящее время не используется»

Один из лучших способов обработки заблокированных файлов или папок - использовать бесплатную программу Microsoft Process Explorer .Программа была описана в другой статье, и вот как с ее помощью узнать, какая программа, DLL или дескриптор использует файл или папку. Вам нужно будет запустить его от имени администратора.

Как узнать какая программа использует файл

В Windows 7 или 8 системное сообщение может сообщить, какая программа использует файл. Если это не так или если вы используете Windows XP, есть простой способ найти программу:

  1. Откройте Process Explorer от имени администратора.
  2. На панели инструментов найдите значок прицела справа (выделен на рисунке ниже).
  3. Перетащите значок на открытый файл или заблокированную папку.
  4. Исполняемый файл, который использует файл, будет выделен в основном списке отображения Process Explorer.

Как узнать, какой дескриптор или DLL использует файл

  1. Откройте Process Explorer от имени администратора.
  2. Введите сочетание клавиш Ctrl + F .Или щелкните меню «Найти» и выберите «Найти дескриптор или DLL».
  3. Откроется диалоговое окно поиска.
  4. Введите имя заблокированного файла или другого интересующего файла. Обычно достаточно частичных имен.
  5. Нажмите кнопку «Искать»,
  6. Список будет создан. Может быть несколько записей.
  7. Отдельный дескриптор в списке можно убить, выбрав его и нажав клавишу удаления. Однако при удалении дескрипторов необходимо соблюдать осторожность, поскольку могут возникнуть нестабильности.Часто просто перезагрузка освобождает заблокированный файл.

Process Explorer можно скачать здесь.

Связанная статья: Лучшее бесплатное средство для удаления файлов из удаленных файлов

Опубликуйте свой любимый совет! Знаете полезный технический совет или уловку? Тогда почему бы не опубликовать его здесь и не получить полную оценку? Щелкните здесь, чтобы сообщить нам свой совет.


Этот раздел советов поддерживает Вик Лори. У Вик есть несколько веб-сайтов с практическими рекомендациями, руководствами и учебными пособиями по Windows, в том числе сайт для изучения Windows и Интернета, а также сайт с советами по Windows 7.

Щелкните здесь, чтобы увидеть больше подобных вещей. Еще лучше получить технические советы, доставленные через ваш RSS-канал, или, как вариант, отправить RSS-канал по электронной почте прямо на ваш почтовый ящик.

.

Решено: Не удается открыть файлы на сетевом сервере. - Сообщество поддержки Adobe

У меня точно такая же проблема.

Я использую Adobe Acrobat XI Standard в Windows 8 Professional. Все обновления были применены к обоим.

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

На проблемной машине (и на втором компьютере с такой же проблемой) я могу легко открыть файл, используя путь UNC, т.е.грамм. \\ server \ h \ filename.pdf в Adobe Acrobat.

При использовании сопоставления дисков net use h: \\ server \ h я не могу получить доступ к файлу H: \ filename.pdf.

Я также не могу открыть H: из Adobe Acrobat, а не только PDF.

Я могу открыть любой другой файл на этом диске с помощью любой другой программы.

Я могу открыть \\ server \ h \ filename.pdf и диск H: из Foxit Reader, установленного на одном компьютере.

Конкретная проблема заключается в том, что Adobe Acrobat XI не может открыть или увидеть подключенный диск по букве диска.

Есть идеи?

.

Смотрите также