Windows консоль узнать пользователя

Команда WHOAMI – получение информации о текущем пользователе Windows

&nbsp &nbsp Команда WHOAMI используется для получения сведений об имени пользователя и группе, а также о соответствующих идентификаторах безопасности (SID), привилегиях, идентификаторах входа (ID) текущего пользователя (токене доступа) на локальном компьютере. При запуске whoami.exe без параметров, отображается имя пользователя в формате NTLM (домен\пользователь).

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

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

Примеры использования WHOAMI :

WHOAMI — отобразить имя текущего пользователя в формате «домен\имя»

WHOAM /UPN — отобразить имя текущего пользователя в формате «имя@домен»

WHOAM /FQDN — отобразить имя текущего пользователя в формате полного доменного имени (FQDN).

WHOAMI /LOGONID — отобразить идентификатор текущего пользователя.

WHOAMI /USER — отобразить имя и SID текущего пользователя.

WHOAMI /USER /FO LIST — то же, что и в предыдущем случае, но с выводом данных в виде списка.

WHOAMI /GROUPS — отобразить список групп, членом которых является текущий пользователь.

WHOAMI /GROUPS /FO CSV — то же, что и в предыдущем случае, но с выводом результатов в виде полей, разделяемых запятой.

WHOAMI /GROUPS /FO CSV > C:\MyGroups.csv — то же, что и в предыдущем примере, но с выводом результатов в файл C:\MyGroups.csv.

WHOAMI /PRIV — отобразить список привилегий текущего пользователя.

WHOAMI /PRIV /FO TABLE — то же, что и в предыдущем примере, но с отображением результатов в виде таблицы.

WHOAMI /ALL — отобразить информацию о SID текущего пользователя, принадлежности к группам и перечень привилегий.

Формат отображаемой информации:

Команду Whoami можно использовать в командных файлах в качестве средства проверки того факта, что командный файл был запущен от имени администратора в среде Windows 7/8. Для этого достаточно сравнить набор привилегий при выполнении команды в обычном режиме и при выполнении в режиме запуска от имени администратора. Например, если удаленное выключение компьютера доступно только с правами администратора системы, можно, используя команду поиска FIND , определить наличие строки «SeRemoteShutdownPrivilege» в результатах выполнения команды whoami /priv для текущего пользователя. Например, так:

@echo OFF
WHOAMI /PRIV | find /i «SeRemoteShutdownPrivilege»
if %ERRORLEVEL% == 0 goto admin
echo Пользователь не имеет прав администратора.
REM часть кода, исполняемого при отсутствии прав администратора
pause
exit
:admin
REM часть кода, исполняемого при наличии прав администратора
ECHO . Командный файл запущен от имени администратора.
pause
exit

Читайте также:  Криптопро отключить телеметрию windows

REM Этот командный файл должен выполняться от имени Администратора
@echo OFF
WHOAMI /PRIV | find /i «SeRemoteShutdownPrivilege»
if %ERRORLEVEL% == 0 goto admin
color CF
msg console Этот командный файл должен выполняться от имени администратора.
pause
exit
:admin
color f0
Rem Удалить все теневые копии
vssadmin delete shadows /all

Если данный командный файл будет запущен от имени пользователя, то фон консоли станет красным и пользователю будет выдано сообщение ”Этот командный файл должен выполняться от имени администратора”. Если от имени Администратора – фон консоли станет белым и выполнится команда удаления всех теневых копий (максимально освободить дисковое пространство)

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

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

Утилиты PSLoggedOn и Qwinsta

В комплекте утилит SysInternals PSTools от Microsoft есть консольная утилита PSLoggedOn.exe, которую можно использовать для получения имени пользователя, который вошел на удаленный компьютер, а также список подключенных к нему SMB сеансов.

Скачайте утилиту и запустите ее в формате:

Как вы видите, утилита вернула имя залогиненного пользователя (Users logged on locally), а также список пользователей, которые по сети используют ресурсы с этого компьютера (Users logged on via resource shares).

Если нужно получить только имя пользователя, вошедшего локально, используйте опцию –l:

Psloggedon.exe \\wks215s1 –l

Утилита Psloggedon подключается к реестру и проверяет в нем имя пользователя, вошедшего локально. Для этого должна быть включена служба RemoteRegistry. Вы можете запустить ее и настроить автозапуск службы с помощью PowerShell:

Set-Service RemoteRegistry –startuptype automatic –passthru
Start-Service RemoteRegistry

Также можно получить список сессий на удаленном компьютере с помощью встроенной утилиты qwinsta . Эта утилита должна быть знакома любому администратору, управляющему терминальными серверами с Remote Desktop Services. Чтобы получить список сессий с удаленного компьютера, выполнит команду:

Утилита возвращает список всех сессий (активных и отключенных по таймауту) на RDS сервере или десктопной редакции Windows 10 (даже если вы разрешили к ней множественные RDP подключения).

reg add «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server» /v «AllowRemoteRPC» /t «REG_DWORD» /d «1» /f

Получаем имя пользователя на удаленном компьютере через PowerShell

Вы можете получить имя пользователя, который залогинен на компьютере через WMI класс Win32_ComputerSystem. Откройте консоль PowerShell и выполните команду:

Get-WmiObject -class Win32_ComputerSystem | Format-List Username

Команда вернула имя пользователя, который выполнил вход на компьютер.

У командлета Get-WmiObject есть параметр –ComputerName, который можно использовать для получения доступа к WMI объектам на удаленном компьютере. Следующая команда вернет имя пользователя с удаленного компьютера:

Читайте также:  Windows работа с обновлениями не выключайте компьютер что если выключить

(Get-WmiObject -class Win32_ComputerSystem –ComputerName wks215s1).Username

Данная команда показывает только пользователя, вошедшего на консоль (не через RDP).

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

$userinfo = Get-WmiObject -ComputerName ‘wks215s1’ -Class Win32_ComputerSystem
$user = $userinfo.UserName -split ‘\\’
$user[1]

Get-CimInstance –ComputerName wks215s1 –ClassName Win32_ComputerSystem | Select-Object UserName

(Get-CimInstance -ComputerName wks215s1 -ClassName Win32_ComputerSystem).CimInstanceProperties | where<$_.Name -like "UserName">| select value

GetCiminstance использует WinRM для подключения к удаленным компьютерам, поэтому на них нужно включить и настроить WinRM через GPO или командой:

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

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

На вход функции Get-LoggedUser нужно передать имена компьютеров, на которых нужно проверить имена пользователей:

Если для какого-то компьютера функция вернула пустое имя пользователя, значит на компьютер никто не залогинен.

Можно получить имена пользователей, которые работают на компьютерах в домене Active Directory. Для получения списка компьютеров нужно использовать командлет Get-ADComputer. В следующем примере мы получим имена пользователей, которые работают за активными компьютерами в определенном OU домена. Чтобы скрипт работал быстрее перед тем, как обратится к обратится к удаленному компьютеру, я добавил проверку его доступности по сети через ICMP пинг с помощью командлета Test-NetConnection:

Также обратите внимание, что вы можете хранить в свойствах компьютеров в AD имя пользователя, который выполнил вход. Для этого можно использовать логон скрипт, описанный в статье “Set-ADComputer: добавляем информацию о пользователе в свойства компьютеров AD”

После этого вам не нужно сканировать все компьютеры, чтобы найти где залогинен определенный пользователь. Можно найти компьютер пользователя простым запросом к Active Directory:

$user=’dvpetrov’
$user_cn=(get-aduser $user -properties *).DistinguishedName
Get-ADComputer -Filter «ManagedBy -eq ‘$user_cn'» -properties *|select name,description,managedBy|ft

LiveInternetLiveInternet

Метки

Рубрики

  • Программное обеспечение (85)
  • Познание (83)
  • События и факты (57)
  • Впечатления (52)
  • Наблюдения (45)
  • Государство для государства (36)
  • На листочках (31)
  • Пьеса (22)
  • Практические рекомендации (21)
  • Чистка энергетических каналов (2)
  • 1С:Предприятие (18)
  • КИНО (17)
  • Знай законы (16)
  • Глупость (15)
  • Расширяя кругозор (14)
  • мой Смоленск (14)
  • Чехия (13)
  • Полезные и интересные книжки (11)
  • Информационная безопасность (10)
  • Музыка (10)
  • Путешествие (9)
  • Юмор (8)
  • Польский язык (8)
  • Автомобиль (7)
  • Досуг (5)
  • Око возрождения (5)
  • Деткам (4)
  • настоящее для будущего (4)
  • культура и традиции мира (2)
  • география и маршруты (2)
  • Славянская духовная культура (3)
  • Притчи (3)
  • python (2)
  • Изобразительное искуство (2)
  • Слежение, прослушка, мониторинг (1)

Я — фотограф

Поиск по дневнику

Подписка по e-mail

Статистика

Управление пользователями в Windows из командной строки.

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

Читайте также:  Обновление компьютеров с сервера windows

Для управления пользователями используется консольная команда Net User. Посмотрим список пользователей компьютера:

Учетные записи пользователей для \\COMP

————————————————————
HelpAssistant SUPPORT_38.. Администратор
Властелин Гость
Команда выполнена успешно.

Для просмотра списка групп, добавлние/удаления групп используется команда Net Localgroup:

Псевдонимы для \\COMP

——————————————————————————-
*HelpServicesGroup
*Администраторы
*Гости
*Операторы архива
*Операторы настройки сети
*Опытные пользователи
*Пользователи
*Пользователи удаленного рабочего стола
*Репликатор
Команда выполнена успешно.

Теперь мы знаем как посмотреть список пользователей и группы.
Рассмотрим на примерах как добавить/удалить пользователей.

Добавим пользователя Супер юзер с паролем secret:

C:\>net user «Супер юзер» secret /add
Команда выполнена успешно.

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

C:\>net user «Супер юзер» secret
Команда выполнена успешно.

Теперь добавим его в группу Администраторы

Проверим в какой он группе сейчас:

Добавим пользователя Супер юзер в группу Администраторы:

C:\>net localgroup Администраторы «Супер юзер» /add
Команда выполнена успешно.

Удалим его из группы пользователей:

C:\>net localgroup Пользователи «Супер юзер» /delete
Команда выполнена успешно.

Так же нужно отключить 14 дневный срок действия пароля:

C:\>net accounts /maxpwage:unlimited
Команда выполнена успешно.

Теперь удалим пользователя Супер юзер:

C:\>net user «Супер юзер» /delete
Команда выполнена успешно.

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

CMD. Управление пользователями в Windows.

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

Команда NET USER

Команда NET USER предназначена для просмотра, добавления или редактирования учетных записей пользователей на компьютерах. При выполнении команды в командной строке без параметров отображается список учетных записей пользователей Windows, присутствующих на компьютере(локальные УЗ). Информация об учетных записях пользователей хранится в базе данных Windows.

Синтаксис команды NET USER

net user [имя_пользователя [пароль | *] [параметры]] [/domain]

net user имя_пользователя <пароль | *>/add [параметры] [/domain]

net user имя_пользователя [/delete] [/domain], где

  • имя_пользователя — Указывает имя учётной записи пользователя, которую можно добавить, удалить, отредактировать или просмотреть. Имя может иметь длину до 20 символов.
  • пароль — Присваивает или изменяет пароль пользователя. Введите звездочку (*) для вывода приглашения на ввод пароля. При вводе с клавиатуры символы пароля не выводятся на экран.
  • /domain — Выполняет операцию на контроллере основного для данного компьютера домена.
  • параметры — Задает параметр командной строки для команды.
  • net help команда — Отображение справки для указанной команды net.
  • /delete — Удаление учетной записи пользователя.
Оцените статью