Windows server посмотреть пользователей

Обновлено: 04.07.2024

С чего начинается администрирование пользователей на сервере терминалов?

Конечно с просмотра «Активных» или «Отключенных» сессий пользователей.

Без этой картины администрирование сервера терминалов невозможно.

Помимо статьи, записал также, и подробное видео, о том как администрировать пользователей на сервере терминалов (Новичкам смотреть обязательно!)

Конечно, данная тема также подымается и на курсе: Администратор 1С!

И так, конечно мы должны во всех подробностях видеть, что у нас происходит на сервере терминалов!

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

На разных версиях Windows server администраторы по-разному решают этот вопрос.

Кто-то смотрит пользователей используя простой «Диспетчер задач» на Windows server 2012 – 2016. Некоторые используют различные команды в CMD, ну а кое-кто использует PowerShell .

Но все администраторы хотят одного:

1. Чтоб быстро посмотреть всех пользователей кто работает на сервере.

2. Чтоб это было как можно информативней.

3. Чтоб бесплатно.

Поэтому поводу решил собрать все лучшие, простые и быстрые способы которые (на мое мнение) стоит использовать.

Уверен, что многим начинающим администраторам эти способы помогут в администрировании сервера терминалов.

И так способ первый и самый простой (На Windows server 2012 R2)

1. Диспетчер задач.

Dispetcher_Zadach_Windows_server_2012_r2

Правый клик мышкой на панели «Пользователь» и в появившимся контекстном меню

ставим птичку напротив «Сеанс» а также стоит поставить и напротив «Имя клиента».

Dispetcher_Zadach_Windows_server_2012_r222

Так мы будем знать, что этот пользователь работает у нас на сервере через RDP.

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

2. quser

Следующий метод это использование команды quser в CMD или PowerShell.

Quser – это аналог QUERY USER (Такое сокращение позволяет выполнять команду быстрее)

Здесь все просто запускаем CMD или PowerShell и пишем команду quser

PowerShell_quser

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

Метод очень простой быстрый и достаточно информативный.

Если мы хотим посмотреть только какого-то конкретного пользователя, тогда можно написать например так:

Term01 – это логин пользователя.

PowerShell_quser2

Большинство системных администраторов отдают предпочтение именно этому способу.

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

И для этого достаточно ввести команду с параметром SERVER

Вместо IP можно указать (хост) имя сервера терминалов.

PowerShell_quser3

Формат командной строки:

QUSER [; пользователь ; | ; имя сеанса ; | ; ID сеанса ;] [/SERVER:; сервер ;]

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С

Как найти залогиненых пользователей и активные сессии с Powershell

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

Навигация по посту

Получение имени залогиненного пользователя

Я не могу вспомнить готовую команду Powershell, которая бы вернула логин пользователя, но такая возможность есть через WMI:

Есть еще вариант использовать CIM, который может работать немного быстрее:

Залогиненные пользователи с Win32_ComputerSystem и Win32_ComputerSystem

Обе команды могут работать удаленно если добавить атрибут ComputerName:

Получение активных сеансов в Powershell удаленно

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

Получить только имя пользователя можно так:

Получение имени залогиненного пользователя в Powershell удаленно

Как вы знаете в Winodws есть так же параллельные сеансы сервисов. Если вам нужно вернуть имена этих аккаунтов нужно использовать класс "win32_LoggedOnUser":

Получение всех активных сеансов пользователей в Powershell

Получение списка компьютеров

Если у вас нет списка компьютеров к которым вы планируете подключиться и узнать активного пользователя - это можно сделать через AD. На примере ниже будут возвращены все компьютеры:

Получение списка компьютеров в Powershell

Операция по получению списка компьютеров может быть очень долгой, если у вас большой парк ПК в AD. Вы можете вернуть только компьютеры, которые не отключены в AD (Disable) следующим способом:

Получение включенных компьютеров AD в Powershell

Можно использовать и фильтрацию. Так я верну компьютеры имена которые начинаются на "CL":

Фильтрация списка компьютеров в Powershell

Получить список имен мы можем так:

Фильтрация списка компьютеров в Powershell

Если у вас список компьютеров не относится к AD или имеет другой формат - то просто преобразуйте его в массив:

Split в Powershell

Удаленное получение залогиненных пользователей

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

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

Обход ошибок в Powershell

Мы можем просто не выводить ошибки с помощью "-ErrorAction SilentlyContinue" или заранее пинговать (что было бы правильнее с точки зрения времени выполнения). В примере ниже я так же разбиваю имя компьютера и логин в более удобный формат:

Обход ошибок в Powershell с ErrorAction

Если вы не хотите выполнять команды удаленно через WMI, то вы можете использовать PSRemoting. От так же требует предварительных настроек, которые описаны в статье "Удаленное управление через Powershell". Команда, которая использует PSRemoting, будет выглядеть примерно так же:

Получение списка активных сеансов пользователей в Powershell

Получение включенных пользователей AD

Если вам нужно вернуть учетные записи, которые включены в AD выполните следующую команду:

Фильтрация включенных пользователей в AD с Powershell

Для возврата только отключенных учетных записей используйте $False.

Такой подход работает и с объектами компьютеров в AD:

Whoami или WMI

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

whoami в Powershell

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

Разница WMI и whoami в Powershell

Как видно, в случае с whoami у нас вернулось имя учетной записи выполнившей команду Powershell, а с WMI пользователь Windows.

Основные команды Windows Server

Практически во всех операционных системах множество функций можно запустить не только «кликом», но и с помощью определенной команды. Это касается и версии Windows для серверов. Большинство из тех команд, что используются для управления сервером, схожи с теми, что предназначены для обычной Windows. Я перечислю основные команды, которые в той или иной степени будут полезны при управлении ОС Windows Server.

Как запустить команды в терминале Windows Server

Как и в десктопной версии, все указанные команды можно запустить с помощью командной строки.

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

  1. Открыть строку поиска в панели «Пуск».
  2. Ввести в поле запрос «командная строка», можно и cmd.
  3. Когда соответствующее приложение выйдет, нажать на пункт «Запуск от имени администратора».

Команды можно запускать с помощью утилиты Windows PowerShell, которую также можно найти среди предустановленных программ.

Команды для Windows Server

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

Настройка подключений

arp – данная команда предназначена для просмотра и изменения записей в кэше ARP. Это протокол, представляющий собой таблицу соответствия IP-адресов с MAC-адресами сетевых устройств.

dnscmd – диагностирует, исправляет ошибки в конфигурациях и еще выполняет множество других действий при администрировании сервера DNS.

ftp – передает туда и обратно файлы на компьютер, в котором запущена служба протокола FTP. У команды есть несколько параметров. Вот некоторые из них, которые будут наиболее полезны:

bye

Завершает сеанс FTP на удаленном компьютере; есть аналогичная этой команда – FTP Quit

delete

Стирает указанные файлы на удаленном компьютере

mget

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

mkdir

Создает новую папку на удаленном компьютере

open

Подключается к указанному FTP-серверу

rmdir

Стирает выбранный каталог на удаленном ПК

status

Показывает текущее состояние FTP-подключений

ftp trace

Переключает трассировку пакетов, отображает внутренние вызовы функций FTP при запуске команды

type

Задает или отображает тип перемещения файла

user

Указывает пользователя для удаленного компьютера

mdelete

Стирает файлы на удаленном компьютере

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

hostname – показывает наименование узла в полном имени компьютера.

ipconfig – этот параметр отображает актуальные на момент проверки параметры протокола TCP/IP. Он также применяется для обновления некоторых характеристик, задаваемых при автоматической конфигурации сетевых интерфейсов, задействующих протокол DHCP. К данной команде можно добавлять следующие атрибуты:

/all

Выдает все доступные конфигурации IP

/displaydns

Отображает кэш DNS

/flushdns

Сбрасывает кэш DNS

/registerdns

Обновляет и повторно регистрирует параметры DNS

/release

/renew

Обновляет сведения для сетевых адаптеров

/setclassid

Меняет DHCP Class ID

/showclassid

Отображает DHCP Class ID

mstsc – запускает подключение к удаленному рабочему столу.

net view – показывает имя компьютера в текущем домене.

netsh – сетевое служебное приложение, позволяет локально или удаленно отображать или изменять конфигурацию сети компьютера. Программу можно запустить как в командной строке, так и в Windows PowerShell.

shadow – удаленное управление активным сеансом другого пользователя.

netstat – показывает состояние TCP-подключений и портов, на которых компьютер прослушивается, статистику Ethernet, таблицу маршрутизации IP-адресов, а без использования параметров команда отображает лишь активные TCP-подключения.

nbtstat – отображает статистику протокола и активных подключений TCP/IP посредством NetBT, причем как для локального, так и для удаленных компьютеров. При использовании без параметров эта команда выдает только справочные данные.

nslookup – выдает сведения, используемые для диагностики DNS. Чаще всего используется для определения IP-адреса по доменному имени.

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

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

qappsrv – показывает полный список доступных удаленных рабочих столов в текущем сеансе.

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

  • имя пользователя;
  • наименование сеанса на узле;
  • идентификатор сеанса;
  • состояние – активно или отключено;
  • время простоя – означает промежуток времени с момента последнего нажатия клавиши или перемещения мыши в сеансе;
  • дата и время входа пользователя.

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

rasphone – инструмент для управления сетевыми подключениями, в основном используется на модемных линиях или в PPPOE, PPPTP.

route – можно просмотреть и изменить записи в локальной таблице маршрутизации IP. Если использовать без параметров, команда даст справку.

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

Работа в системе

at – запрос отвечает за планирование выполнения команд или запуска приложений в заданное время. Используется только совместно со службой расписания и с правами администратора.

compmgmt.msc – эта команда откроет инструмент «Управление компьютером», в котором можно просмотреть запланированные задачи, события, общие папки и пользователей. Также там есть инструмент для управления дисками, еще отображается раздел со списком служб и приложений.

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

  • control admintools – переход в раздел «Администрирование» в панели управления.
  • control color – открытие раздела Персонализация» из параметров системы, где можно настроить экран, темы, цвета и так далее.
  • control folders – параметры «Проводника».
  • control Userpasswords – свойства локальной учетной записи.

devmgmt.msc – команда запускает «Диспетчер устройств», утилиту для управления основными аппаратными и программными компонентами.

explorer – позволяет открыть «Проводник Windows».

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

mmc – открывает определенную консоль MMC, можно в режиме автора и с указанием версии – 32 или 64-разрядной.

mode – показывает состояние системы, изменяет параметры, перестраивает порты или устройства. При задаче команды без параметров отображаются все управляемые атрибуты консоли и доступные устройства com.

msconfig – открывает инструмент для тонкой настройки системы, управления загрузкой и автозагрузкой, а также активными службами и сервисами.

msinfo32 – запускает утилиту «Сведения о системе», где отображен полный список установленного оборудования, а также системных и программных компонентов на локальном компьютере.

PowerShell – запуск нового сеанса для утилиты Windows PowerShell через окно командной строки.

PowerShell_ise – запускает сеанс в интегрированной среде сценариев Windows PowerShell (ISE). В таком режиме можно применять необязательные настройки для открытия некоторых файлов, проводить запуск без определенного профиля и так далее.

regedit – открывается редактора реестра.

secedit – анализируется и настраивается безопасность системы, текущая конфигурация сравнивается с актуальными шаблонами безопасности.

services.msc – открывается консоль для работы со службами и сервисами.

shutdown – выключение/перезагрузка локальных или удаленных компьютеров. Для той или иной процедуры стоит использовать соответствующий параметр.

  • shutdown /r – перезагрузка компьютера после завершения работы.
  • shutdown /s – полное завершение работы компьютера.

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

wuauclt – открывает раздел параметров «Обновления Windows».

Работа с локальными и виртуальными жесткими дисками

attach vdisk – подключает виртуальный жесткий диск с дальнейшим его отображением в меню главного компьютера в качестве локального. Для отключения его отображения должна быть использована команда detach vdisk.

chkdsk – этот запрос запускает утилиту для проверки дисков и метаданных на наличие логических и физических ошибок. При использовании без параметров лишь отображает состояние и не исправляет ошибки. Для устранения ошибок следует дополнительно вводить параметр /f. Параметр /r запустит поиск поврежденных секторов.

cleanmgr – запускает инструмент «Очистка диска», отвечающий за удаление ненужных файлов с жесткого диска компьютера. Введя отдельные параметры, можно настроить утилиту на стирание временных файлов, кэша интернета, а также провести перезапуск файлов bin.

convert – преобразует диск из одного формата в другой.

defrag – выполняет дефрагментацию файловой системы. Определяет также степень фрагментации диска, объединяет файлы для повышения производительности ОС.

dfrg.msc – с помощью этого запроса включается дефрагментатор дисков.

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

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

ntbackup – запускает из командной строки резервное копирование и восстановление компьютера и файлов.

recover – проводится восстановление данных, доступных для чтения, с поврежденного или дефектного диска. Эта команда считывает файл и сектор, а затем восстанавливает данные.

sfc /scannow – выполняется проверка целостности всех защищенных системных файлов и по возможности восстановление файлов с проблемами.

Работа с файлами и папками

copy – копирует нужный файл из исходного расположение в другое.

del – удаляет один или несколько файлов. Есть аналогичная – erase. Используя определенные параметры, можно активировать запрос для подтверждения удаления, также запустить принудительное стирание файлов, доступных только для чтения.

expand – разархивирует один или несколько сжатых файлов.

fsmgmt.msc – включается консоль с общими папками в системе.

manage-bde – активирует и дезактивирует BitLocker, задает способы разблокировки, обновляет методы восстановления и разблокирует защищенные диски.

md – создает новый каталог или подкаталог. Похожая команда – это mkdir.

Интерфейс командной строки

cls – проводит очистку командной строки.

color – меняет цвет и фон утилиты.

exit – закрывает командную строку.

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

Заключение

Как видно, команды для Windows Server практически ничем не отличаются от тех, что используются в обычной версии системы. Разница состоит лишь в задачах – для серверной версии в ход обычно идут несколько иные запросы – команды для командной строки в Windows Server больше акцентированы на работу с подключениями и дисками.

Полезные команды cmd, powershell, администрирование, фичи и решения проблем на win/winserver

Рассмотрим такие команды как:

  • query
  • qwinsta (query session)
  • quser (query user)
  • mstsc (RDS shadow)
  • msg
  • change logon
  • shutdown

query

process | session | termserver | user

Более подробно здесь рассмотрятся команды:

а точнее их более короткие аналоги: qwinsta и quser

qwinsta

С помощью этой команды можно узнать, активен ли сеанс пользователя и ID сеанса


Просто команда без каких либо ключей и параметров выводит список сеансов на текущем сервере:

Ключ /server позволит указать другой сервер:

Показать информацию о сеансе конкретного пользователя:

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

Остальные параметры и подробная справка по команде:

quser


В остальном, все ключи у возможности, такие же как и у команды qwinsta:

Ключ /server позволит указать другой сервер:

Показать информацию о конкретном пользователе:

Показать информацию о конкретном пользователе на другом сервере:

Справка и все функции:

RDS shadow (mstsc)

Для того, чтобы узнать ID сеанса, нужно воспользоваться одной из вышеупомянутых команд: qwinsta или quser

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

Теневое подключение для управления другим сеансом:

ключ /v:servername позволит подключиться к сеансам другого сервера:

ID сеанса можно узнать с помощью уже рассмотренных команд qwinsta или quser


change logon

Полностью отключить вход в терминальные сессии можно командой:

Все возможные ключи смотрим в справке:

shutdown


Так, например, команда shutdown со следующими параметрами:


Удаленно перезагрузить или выключить компьютер или группу компьютеров через GUI можно командой

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