Я использую rssh с этой целью.
Вы, тут же новый способ сделать это, и это - встроенная функция недавних ssh версий.
Вот статья о Несмертельно.
Существует два способа пойти об этом, что я знаю если. Каждый ненадежен, но вероятно достаточно хорош для большинства сценариев. Каждый обширен, но трудно реализовать в любом масштабе, который превышает горстку пользовательских соединений.
Своего-рода-Sorta Путь: Выберите Системные Инструменты>>, Совместно используемые папки>> Открывают Files для наблюдения, какие файлы открыты на файловом сервере. Оттуда можно коррелировать учетные записи пользователей, которые имеют открытые файлы к долям, с которыми они подключены.
Однако это может быть недостаточно. Не верьте мне? Войдите в Управление компьютером и выберите Системные Инструменты>> Совместно используемые папки>> Сессии для наблюдения, кто соединен. Затем посмотрите на # open files
столбец. Некоторые сессии должны иметь 0 открытых файлов. Как Вы знаете то, что совместно использует, они технически подключены с? Я рад, что Вы спросили...
Обширное, но твердое для масштабирования пути: выполнить net share [sharename]
на каждой рассматриваемой доле для получения списка пользователей, которые подключены к нему. В моем тестировании даже перечислены пользователи, которые не имеют никакого открытого файла.
Можно также использовать средство администрирования Доли и Менеджера хранилища в Server 2008 и вне вместо Управления компьютером. Найдите долю в списке долей, и затем в области действия к щелчку правой кнопкой "Manage Sessions". Вы будете видеть список сессий включая тех, которые имеют нулевые открытые файлы.
Но... но... Я хочу найти определенного пользователя, не запрашивая каждую долю! Если у Вас есть определенный пользователь, которого Вы хотите разыскать, кажется, что Ваши единственные средства нахождения, что информация состоит в том, чтобы запросить каждую долю и глазное яблоко это для нахождения пользователя, которого Вы хотите. И глазным яблоком я означаю передавать вывод по каналу к findstr
или select-string
. Можно было экстраполировать рабочий процесс к сценарию, который перечисляет все доступные доли, запросы для подключенных пользователей, и ищет вывод рассматриваемого пользователя, но это, кажется, осуществление для читателя и не чего-то, что Microsoft включала как собственную функцию.
Я не думаю, что предоставленные ответы действительно отвечают на вопрос. Если вы используете Windows Server 2008 (НЕ R2) и щелкните правой кнопкой мыши «Компьютер» и выберите «Управление», а затем подтвердите сообщение UAC, запустится MMC диспетчера сервера. В диспетчере сервера находятся следующие элементы: роли, функции, диагностика, конфигурация и хранилище. Ни один из этих пяти элементов, похоже, не имеет доступных в качестве опции подключений общих имен, что и задавалось в исходном вопросе. Дополнение EDIT к ответу было более полезным, в нем упоминается диспетчер общего доступа и хранения, но оно все еще не дает ответа. Он предоставляет исчерпывающий список имен и свойств общих ресурсов, но активные соединения здесь также не отображаются. В Windows Server 2003 раньше была утилита ОС, которая отображала серверы, общие ресурсы и подключения, но на WS2008 пока не нашел. Я использовал стороннюю утилиту под названием Hyena от Adkins Resource, которая, как мне кажется, все еще продается, и которая отлично справлялась с отображением всевозможной информации практически обо всех аспектах состояния сервера.
Диспетчер компьютера не доступен так же, как в предыдущих версиях. Вы действительно получаете «Диспетчер серверов», когда щелкаете правой кнопкой мыши «Компьютер» и выбираете «управлять». Поэтому вместо этого просто введите compmgmt.msc в поле «Поиск программ и файлов» под заголовком.
Это очень старый вопрос, но в принятом ответе пропущен один из лучших способов найти информацию.Графический интерфейс может отображать наличие «подключенных клиентов», но не отображать эти подключения в «открытых файлах». В этом случае требуется использование 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