На моем сервере Windows 2008 у меня есть сетевой ресурс. Я вошел на сервер с полными правами администратора. Я хотел бы знать, какие пользователи имеют активные подключения к этой папке.
Как мне найти эту информацию?
На моем сервере Windows 2008 у меня есть сетевой ресурс. Я вошел на сервер с полными правами администратора. Я хотел бы знать, какие пользователи имеют активные подключения к этой папке.
Как мне найти эту информацию?
Ответы:
Есть два способа сделать это, если я знаю. Один ненадежен, но, вероятно, достаточно хорош для большинства сценариев. Один из них обширный, но его трудно реализовать в любом масштабе, который превышает несколько пользовательских подключений.
Путь Kinda-Sorta: Выберите Системные инструменты >> Общие папки >> Открыть файлы, чтобы увидеть, какие файлы открыты на файловом сервере. Оттуда вы можете соотнести учетные записи пользователей с открытыми файлами с общими папками, к которым они подключены.
Однако этого может быть недостаточно. Не веришь мне? Зайдите в «Управление компьютером» и выберите «Системные инструменты»> «Общие папки» >> «Сессии», чтобы узнать, кто подключен. Тогда посмотрите на # open files
колонку. У некоторых сессий должно быть 0 открытых файлов. Откуда вы знаете, с какой долей они технически связаны? Я рад, что ты спросил ...
Обширный, но сложный для масштабирования способ. Выполните действия net share [sharename]
для каждой рассматриваемой общей папки, чтобы получить список пользователей, которые к ней подключены. В моем тестировании даже пользователи, у которых нет открытого файла, перечислены.
Вы также можете использовать административный инструмент Share and Storage Manager в Server 2008 и более поздних версиях вместо управления компьютером. Найдите общий ресурс в списке общих ресурсов, а затем в области действий щелкните правой кнопкой мыши «Управление сеансами». Вы увидите список сессий, включая те, которые имеют ноль открытых файлов.
Но ... но ... Я хочу найти конкретного пользователя, не запрашивая каждую акцию! Если у вас есть конкретный пользователь, которого вы хотите отследить, похоже, что единственным способом найти эту информацию является запрос каждого ресурса и просмотр его, чтобы найти нужного пользователя. И глазного яблока я имею в виду выход трубы на findstr
или select-string
. Можно экстраполировать рабочий процесс на сценарий, который перечисляет все доступные общие ресурсы, запрашивает подключенных пользователей и ищет выходные данные для рассматриваемого пользователя, но это, по-видимому, упражнение для читателя, а не то, что Microsoft включила в качестве нативной функции. ,
net share sharename
общих ресурсов на сервере, но в итоге я нашел общий ресурс, к которому был подключен сеанс. Я не знаю, можно ли отменить запрос и начать с интересующего вас пользователя, а затем отследить его до общего ресурса, к которому он подключен. Может потребоваться какой-нибудь пользовательский PowerShelling.
Это очень старый вопрос, но принятый ответ пропустил один из лучших способов найти информацию. Графический интерфейс может показать, что есть «подключенные клиенты», но не отображать эти подключения в «открытых файлах». В этом случае требуется использовать WMI, чтобы найти, кто подключен к общему ресурсу.
Вот команда powershell, чтобы увидеть, кто подключен к определенному общему ресурсу, и пример выходных данных:
Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}
Пример вывода:
ShareName UserName ComputerName
--------- -------- ------------
SHARENAME user1 10.0.0.20
SHARENAME user2 10.0.0.30
SHARENAME user3 10.0.0.40
Я не думаю, что ответ (ы) на самом деле отвечает на вопрос. Если вы используете Windows Server 2008 (НЕ R2) и щелкаете правой кнопкой мыши Компьютер и выбираете «Управление», а затем подтверждаете сообщение UAC, запускается MMC «Диспетчер сервера». Под Диспетчером серверов находятся следующие элементы: Роли, Функции, Диагностика, Конфигурация и Хранение. Похоже, что ни у одного из этих пяти элементов не было соединений с общими именами, доступных в качестве опции, как это было в первоначальном вопросе. Добавление EDIT к ответу было более полезным, с упоминанием диспетчера общих ресурсов и хранилища, но, похоже, не дает ответа. Он предоставляет полный список имен и свойств общих ресурсов, но активные соединения здесь также не отображаются. В Windows Server 2003 раньше была утилита ОС, которая отображала серверы, общие ресурсы и соединения, но я еще не нашел его на WS2008. Была одна сторонняя утилита, которую я использовал по имени Hyena из Adkins Resource, которая, я считаю, все еще продается, которая отлично показала всю информацию практически по всем аспектам состояния сервера.
(compmgmt.msc)
и все, что описывает Уэсли, прямо здесь, точно так же, как в 2003 году, включая открытые файлы и активные сеансы. Смотрите этот скриншот, если вы мне не верите.