Как в windows server посмотреть активных пользователей

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

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

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

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

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

Конечно, данная тема также подымается и на курсе: Администратор 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

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

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

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

Dispetcher_Zadach_Windows_server_2012_r222

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

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

2.     quser

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

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

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

PowerShell_quser

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

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

Он покажет Вам — Пользователя, Сеанс, его ID, Статус , Бездействие сеанса, и время входа.

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

Пример: 

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

PowerShell_quser2

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

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

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

Пример: 

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

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

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

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

Get-WmiObject -Class Win32_ComputerSystem | Select-Object UserName

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

Get-CimInstance -ClassName Win32_ComputerSystem | Select-Object UserName

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

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

Get-WmiObject -ComputerName 'localhost' -Class Win32_ComputerSystem | Select-Object UserName

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

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

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

$userinfo = Get-WmiObject -ComputerName 'localhost' -Class Win32_ComputerSystem
$user = $userinfo.UserName -split '\'
$user[1]

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

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

Get-CimInstance -ComputerName 'localhost' -Class win32_LoggedOnUser | ft

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

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

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

Get-ADComputer -Filter *

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

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

Get-ADComputer -Filter * | where Enabled -eq $True

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

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

Get-ADComputer -Filter {Name -like 'CL*'} | where Enabled -eq $True

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

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

$pc = Get-ADComputer -Filter {Name -like 'CL*'} | where Enabled -eq $True
$pc.Name

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

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

# Текст с именами компьютеров
$pc = 'Computer1,Computer2,Computer3'
# Преобразование в массив
$pc_array = $pc -split ','
$pc_array

Split в Powershell 

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

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

# Текст с именами компьютеров
$computers = (Get-AdComputer -Filter *).Name
# Удаленное получение пользователей
foreach ($computer in $computers){
    Get-CimInstance -ComputerName $computer -ClassName Win32_ComputerSystem | Select-Object UserName
}

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

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

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

# Текст с именами компьютеров
$computers = (Get-AdComputer -Filter *).Name
# Удаленное получение имен учетных записей
foreach ($computer in $computers){
    $result = Get-CimInstance -ComputerName $computer -ClassName Win32_ComputerSystem -ErrorAction SilentlyContinue
    $computer_login = $result.UserName -split '\'
    if ($computer_login){
        Write-Host 'ComputerName: ' $computer_login[0]
        Write-Host 'UserName: ' $computer_login[1]
       }
}

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

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

# Текст с именами компьютеров
$computers = (Get-AdComputer -Filter *).Name
# Удаленное получение имен учетных записей
foreach ($computer in $computers){
    $result = Invoke-Command -ComputerName $computer `
          -ScriptBlock {
              Get-WMIObject -ClassName Win32_ComputerSystem `
                            -ErrorAction SilentlyContinue
                       } `
          -ErrorAction SilentlyContinue
    $computer_login = $result.UserName -split '\'
    if ($computer_login){
        Write-Host 'ComputerName: ' $computer_login[0]
        Write-Host 'UserName: ' $computer_login[1]
       }
}

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

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

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

Get-AdUser -Filter * | where 'Enabled' -eq $True

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

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

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

Get-AdComputer -Filter * | where 'Enabled' -eq $False

Для последующей выгрузки данных в Excel почитайте статью «Как в Powershell выгрузить из AD пользователей и группы CSV».

Whoami или WMI

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

whoami

whoami в Powershell

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

# Пользователь вошедший в Windows и открывший Powershell
whoami
# Пользователь, который будет удаленно подключатся через Powershell
$new_psuser = Get-Credential 'admin'
# Способ с whoami
Invoke-Command -ComputerName 'localhost' `
               -Credential $new_psuser `
               -ScriptBlock {whoami}
# Способ с WMI
Invoke-Command -ComputerName 'localhost' `
               -Credential $new_psuser `
               -ScriptBlock {(Get-WmiObject -Class Win32_ComputerSystem).UserName}

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

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

Теги:

#powershell

#wmi

#ad

тогда такой вариант (powershell):

$owners = @{}
get-process -ComputerName ИМЯ.КОМПЬЮТЕРА | select processname,Id,@{l="Owner";e={$owners[$_.id.tostring()]}} | sort "owner"

это выведет все процессы на удалённом компьютере. Если пользователь будет залогинен — он будет в списке. Пример:

ProcessName              Id Owner
-----------              -- -----
System                    4
Idle                      0
ipoint                 3556 Admin
igfxEM                 4620 Admin
itype                  3548 Admin
jucheck                3628 Admin
jusched                6660 Admin
SystemSettings         9204 Admin
svchost                3420 Admin
chrome                 4452 Admin
chrome                 2968 Admin
chrome                11996 Admin
dllhost               11008 Admin
firefox                6752 Admin
firefox                5124 Admin
explorer               4056 Admin
firefox                 268 Admin
conhost               11296 Admin
AnVir                 11196 Admin
ctfmon                 4168 Admin
RuntimeBroker          7408 Admin
svchost                3784 LOCAL SERVICE
svchost                4988 LOCAL SERVICE
svchost                6980 LOCAL SERVICE
svchost               11020 LOCAL SERVICE
svchost               10680 LOCAL SERVICE
dasHost                5508 LOCAL SERVICE
svchost               10720 LOCAL SERVICE
svchost                2120 NETWORK SERVICE
svchost                4388 NETWORK SERVICE
svchost                3792 NETWORK SERVICE

или ещё проще cmd:

query user /server:ИМЯ.КОМПЬЮТЕР

и вывод:

 USERNAME              SESSIONNAME        ID  STATE   IDLE TIME  LOGON TIME
 admin                 console             1  Active      none   28.04.2018 09:49

вообщем, в гугле полно примеров ;)

Допустим, вы администрируете сервер терминалов. (Кстати, согласно новой терминологии Майкрософт, сервер терминалов теперь называется сервером удалённых рабочих столов). Во время обслуживания сервера RDP администратору приходится его перезагружать. Но как узнать, кто из подключённых пользователей работает, а чей сеанс простаивает?

Для просмотра информации о сеансах и, в частности, о времени простоя терминальной сессии пользователя мы воспользуемся оснасткой tsadmin.msc

Нажимаем WIN+R для запуска окна Выполнить и вводим в поле tsadmin.msc :

tsadmin-001

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

В окне мы видим список сеансов удалённого рабочего стола. Поле Состояние показывает, чей сеанс активен, а чей отключён :

tsadmin-002

Поле LogOnTime показывает время, когда соответствующий пользователь подключился к серверу:

tsadmin-002-2

Время простоя

По информации из поля Idle Time вы можете узнать, кто работает, а чей сеанс бездействует. Так, значение 18 напротив пользователя User1 означает, что сеанс пользователя простаивает в течение 18 минут :

tsadmin-002-1

Также, можно просмотреть процессы пользователей удалённого рабочего стола:

tsadmin-003

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

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

query

query — Отображение информации о процессах; сеансах; пользователя, вошедших на сервер; и серверах, обслуживающих подключение к удаленному рабочему столу

process | session | termserver | user

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

query session
query user

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


qwinsta

qwinsta (эквивалент query session) — Отображение информации о сеансах служб удаленных рабочих столов.

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

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

qwinsta

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

qwinsta /server:servername

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

qwinsta username

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

qwinsta username /server:servername

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

qwinsta /?

quser

quser (эквивалент query user) — Отображение информации о пользователях, вошедших в систему

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

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

quser 

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

 quser /server:servername

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

quser username 

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

quser username /server:servername

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

quser /?

RDS shadow (mstsc)

RDS Shadow — теневое подключение к сеансу пользователя

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

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

 mstsc /shadow:ID 

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

mstsc /shadow:ID /control

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

 mstsc /v:servername /shadow:ID /control 

msg

msg — отправить сообщение пользователю

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

msg * your message here

Можно отправить сообщение конкретному пользователю — по его логину, имени сеанса или ID сеанса. Например, так мы скажем пользователю с ID сеанса 12, что ему необходимо выйти из системы:

 msg 12 Срочно завершите сеанс!

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


change logon

change logon — включение / отключение входа на терминальный сервер

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

change logon /disable

Включение входа:

change logon /enable

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

change logon /?

shutdown

shutdown — перезагрузка или выключение компьютера. С необходимыми параметрами команда может быть использована для перезагрузки текущего компьютера/сервера, отложенной перезагрузки, удаленной перезагрузки другого компьютера, группы компьютеров, серверов и т.п. Команда имеет множество опций.

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

shutdown /r /f /t 180 /c "комментарий для перезагрузки"

перезагрузит ваш сервер (/r) спустя 180 секунд (/t 180), принудительно закроет все приложения (/f, используется при указании /t) и укажет причину перезагрузки или комментарий для пользователей (/c «комментарий для перезагрузки»).

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

shutdown /i

Содержание

  1. Мониторинг активности и статуса подключенных удаленных клиентов.
  2. Мониторинг активности и состояния удаленных клиентов
  3. Windows: узнаём, кто где залогинен
  4. Получаем в Powershell активных сессий пользователей AD и их компьютеров
  5. Как получить список залогиненных пользователей
  6. Локально при входе пользователя
  7. Системная утилита quser.exe
  8. Через файл ntuser.dat
  9. Через WMI
  10. Table of Contents:
  11. См. Список всех учетных записей пользователей с помощью команды Net User в Powershell или CMD.
  12. Посмотреть список всех учетных записей пользователей, используя инструмент управления компьютером
  13. Посмотреть список активных учетных записей пользователей, используя панель управления
  14. См. Список активных учетных записей пользователей на экране входа
  15. Нашли ли вы много скрытых учетных записей на ПК с Windows?
  16. Как создать или удалить учетные записи пользователей в Windows 7
  17. Как редактировать учетные записи пользователей (изменять или удалять пароли) в Windows 7
  18. Удалить или изменить учетные записи Google на устройстве Android
  19. Создать учетную запись Майкрософт и войти в Windows 10 для начинающих (Октябрь 2022).
  20. Поиск активных сессий и залогиненных пользователей с Powershell
  21. Получение имени залогиненного пользователя
  22. Получение списка компьютеров
  23. Удаленное получение залогиненных пользователей
  24. Получение включенных пользователей AD
  25. Whoami или WMI

Мониторинг активности и статуса подключенных удаленных клиентов.

Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016

примечание. Windows Server 2012 объединяет службу directaccess и службы удаленного доступа (RAS) в одну роль удаленного доступа.

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

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

Мониторинг активности и состояния удаленных клиентов

В диспетчере серверов щелкните Средства и выберите пункт Управление удаленным доступом.

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

Windows PowerShell эквивалентные команды

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

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

Источник

Windows: узнаём, кто где залогинен

— Ой, у меня ничего не работает, помогите!
— Не переживайте, сейчас всё исправим. Назовите имя компьютера…
(классика жанра из звонков в техподдержку)

Хорошо, если у вас есть инструмент а-ля BgInfo или ваши пользователи знают про шорткат Windows+Pause/Break и умеют его нажимать. Встречаются даже редкие экземпляры, которые успели выучить имя своей машины. Но часто у звонящего вдобавок к его основной проблеме появляется вторая: узнать имя/IP-адрес компьютера. И нередко на решение этой второй проблемы уходит куда больше времени, чем первой (а надо было всего лишь обои поменять или вернуть пропавший ярлык :).
А ведь намного приятнее услышать что-то вроде:
— Татьяна Сергеевна, не беспокойтесь, уже подключаюсь…

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

Душу излил, а теперь к делу.
За основу была взята идея хабровчанина mittel из этой статьи.
Суть задумки в том, что при входе пользователя в Windows логон-скрипт заносит нужную информацию (время и имя машины) в определенный атрибут учётной записи пользователя. А при выходе из системы отрабатывает аналогичный логофф-скрипт.

Теперь скрипты выглядят так:

Кто первым найдет все отличия между логон- и логофф-скриптом, тому плюс в карму. 🙂
Также для получения наглядной информации создан такой небольшой PS-скрипт:

Буду признателен, если вы пройдете короткий опрос ниже.

Источник

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

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

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

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

В Powershell есть несколько методов возврата списка активных пользователей. Каждый из способов имеет свои минусы и поэтому, в зависимости от цели, какой-то способ будет удобнее использовать локально (при входе пользователя), а какой-то удаленно. В случае с WMI это так и не получилось сделать, так нет класса, который бы хранил все нужные значение и работал бы везде.

Локально при входе пользователя

31

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

Получится примерно следующий вид файла:

32

Как создавать команды и функции в Powershell вызывать их и передавать параметры

Системная утилита quser.exe

Мы можем использовать системную программу quser, которая возвращает имя текущего пользователя и время его входа. Выглядит это так:

1

Quser так же может работать удаленно используя следующий синтаксис:

2

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

4

6

7

Метод substring убирает первый символ, так как программа возвращает имя пользователя либо с пробелом начали или символом «>».

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

В функцию добавлено несколько деталей:

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

9

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

Сам файл будет выглядеть так:

10

Отмечу следующие моменты:

Через файл ntuser.dat

Каждый раз, как пользователь входит в систему все его настройки загружаются из файла ntuser.dat, который находится в домашнем каталоге ‘C:UsersUserName’. При выходе из системы все настройки записываются в этот же файл. То есть мы можем получить имя пользователя по дате изменения этого файла.

В этом примере вернутся все каталоги пользователей:

20

Получим даты изменения файлов ‘ntuser.dat’:

21

Извлечем из пути имя пользователя и уберем лишние колонки:

23

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

Это же мы можем использовать с командой Get-ChildItem. Соединим все это в функцию:

Далее мы можем использовать команду в таких вариациях:

25

Ключ ‘-ErrorAction SilentlyContinue’ нужен для игнорирования ошибок связанных с выключенными компьютерами. Если его не написать вы получите ошибки формата:

Отмечу несколько моментов:

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

26

Исключить пользователей мы можем так же:

27

Экспорт для Excel аналогичен предыдущему примеру:

28

Через WMI

Я пробовал и другие классы, но каждый со своими проблемами. Решения так и не нашел.

Источник

Table of Contents:

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

ПРИМЕЧАНИЕ. Данное руководство охватывает Windows 10, Windows 7 и Windows 8.1. Если вы не знаете версию Windows, которая у вас есть, прочитайте это руководство: Какую версию Windows я установил?

См. Список всех учетных записей пользователей с помощью команды Net User в Powershell или CMD.

how to see all the user accounts that exist on your windows pc or device

Вы можете сохранить этот список в текстовом файле, который можно открыть с помощью Блокнота. Введите net user> filename.txt, и файл с указанным вами именем будет создан в «C: Users Your User Name».

how to see all the user accounts that exist on your windows pc or device 1

how to see all the user accounts that exist on your windows pc or device 2

how to see all the user accounts that exist on your windows pc or device 3

Если вы хотите узнать больше об этой команде и всех ее параметрах, перейдите на эту страницу документации: Net user.

Посмотреть список всех учетных записей пользователей, используя инструмент управления компьютером

how to see all the user accounts that exist on your windows pc or device 4

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

Посмотреть список активных учетных записей пользователей, используя панель управления

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

how to see all the user accounts that exist on your windows pc or device 5

how to see all the user accounts that exist on your windows pc or device 6

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

how to see all the user accounts that exist on your windows pc or device 7

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

how to see all the user accounts that exist on your windows pc or device 8

С помощью этого метода вы не можете видеть скрытые или отключенные учетные записи пользователей.

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

how to see all the user accounts that exist on your windows pc or device 9

Если вы используете Windows 7, все активные учетные записи пользователей должны отображаться спереди и по центру.

how to see all the user accounts that exist on your windows pc or device 10

То же самое верно при использовании экрана входа в Windows 8.1.

how to see all the user accounts that exist on your windows pc or device 11

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

Нашли ли вы много скрытых учетных записей на ПК с Windows?

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

Как создать или удалить учетные записи пользователей в Windows 7

how create delete user accounts windows 7

Создание и удаление учетных записей пользователей в Windows 7, как включить или отключить учетную запись «Гость», разница между типами учетных записей и т. Д.

Как редактировать учетные записи пользователей (изменять или удалять пароли) в Windows 7

how edit user accounts change

В этом руководстве я покажу вам, как изменить имя учетной записи, пароль, изображение и тип учетной записи.

Удалить или изменить учетные записи Google на устройстве Android

remove change google accounts an android device

Нужно удалить учетную запись Google Gmail с устройства Android? В этой статье показано, как это сделать.

Создать учетную запись Майкрософт и войти в Windows 10 для начинающих (Октябрь 2022).

Источник

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

PowerShell2 3sMsdQU

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

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

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

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

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

1

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

2

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

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

10

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

11

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

3

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

4

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

5

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

7

6

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

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

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

8

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

9

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

12

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

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

13

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

Для последующей выгрузки данных в Excel почитайте статью «Как в Powershell выгрузить из AD пользователей и группы CSV».

Whoami или WMI

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

c8365cb6e5

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

1

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

Источник

Понравилась статья? Поделить с друзьями:
  • Как в windows phone удалить временные файлы в windows
  • Как в командной строке перейти в папку windows system32
  • Как в windows media переключать аудио дорожки
  • Как в киностудии windows live вставить видео в видео
  • Как в windows media player обрезать аудио