Как посмотреть домен учетной записи виндовс

Обновлено: 06.07.2024

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

Дополнительные сведения

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

Учетные записи обычных пользователей предназначены для повседневной работы.

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

Учетные записи гостя предназначены главным образом для лиц, которые должны временного использования компьютера.

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

Для Windows 7

Чтобы определить тип учетной записи пользователя в Windows 7, выполните следующие действия.

Щелкните Учетные записи пользователей из списка результатов (откроется окно учетных записей пользователей)

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

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

Примечание: Если вы требуется управление учетными записями пользователей в появившемся окне нажмите кнопку Учетная запись домена. Тип учетной записи пользователя будут перечислены в столбце группа.

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

Для Windows Vista

Чтобы определить тип учетной записи пользователя в Windows Vista, выполните следующие действия.

Щелкните Учетные записи пользователей из списка результатов (откроется окно учетных записей пользователей)

Примечание: Если вы требуется управление учетными записями пользователей в появившемся окне нажмите кнопку Учетная запись домена. Тип учетной записи пользователя будут перечислены в столбце группа.

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

Для Windows XP

Чтобы определить тип учетной записи пользователя в Windows XP, выполните следующие действия.

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

как узнать sid пользователя windows

Что такое Sid windows

Давайте для начала с вами выясним определение SID или Security Identifier > это идентификатор безопасности, который используется в семействе операционных систем Windows для идентификации объекта:

  • Группа безопасности
  • Пользователь
  • Компьютер
  • Организационная единица
  • Принтер

SID во время создания объекта, присваивается ему , в домене Active Directory за это отвечает мастер роль RID. В рамках домена, каждый SID должен быть уникален, в отличии от имени, так как Ивановых Иванов Ивановичей, может быть много, а вот отличаться они будут логином и SID. Для операционной системы Windows, важнее сиды объектов, она же их использует и для контроля прав доступа на различные корпоративные ресурсы:

  • Папки и файлы
  • Принтеры
  • Доступ к внешним ресурсам

Структура SID

Давайте разбираться из каких частей состоит Security IDentifier.

Структура SID

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

Как узнать sid пользователя windows в домене-2

Сделаны они для того, что если у вас нет Active Directory, то вы могли бы администрировать данные системы с помощью них. Все SID для данных учетных записей находятся в локальной базе данных Windows, под названием Security Account Manager или SAM. Все сиды пользователей домена лежат в базе Active Directory в файле NTDS.dit.

База Security Account Manager

Давайте посмотрим за, что отвечает Security Account Manager:

  • Сопоставление имен с SID и обратно, некий такой DNS для учетных записей
  • Проверяет пароли, авторизовывает (принимает участие в процессе входа пользователей в ОС)
  • Ведет статистику, кто последний входил, количество входов, кто сколько раз ввел не тот пароль, короче аудит
  • Контролирует политика паролей учетных записей, в случае чего может блокировать учетные записи.
  • Ведет учет, кто в какие группы входит
  • Производит защиты самого себя
  • Дает программный интерфейс для управления базой учетных записей

Хранится SAM (Security Account Manager) в реестре Windows. Как открыть реестр windows, я уже описывал не однократно, переходим в ветку.

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

Как узнать sid пользователя windows в домене-3

SAM это библиотека samsrv.dll, которая работает в Windows в виде процесса lsass.exe, увидеть это можно в диспетчере задач.

Security Account Manager

1 способ узнать sid пользователя, команда WMIC

Для примера я все буду показывать на своей рабочей станции с установленной в ней Windows Server 2012 R2, станция принадлежит домену Active Directory. Первый метод, это использование старого, доброго WMIC инструментария (Windows Management Instrumentation). Все, что вам нужно, это знать имя пользователя, точнее его логин. Чтобы посмотреть список локальных пользователей введите команду

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

способ узнать sid пользователя, команда WMIC

Чтобы выяснить все логины доменных пользователей вводим команду

Я вам это уже рассказывал в заметке Как узнать имена учетных записей Администраторов домена. На выходе получите, что то такое

Как узнать sid пользователя windows в домене-3

Далее зная логин все просто вводим

Как видите все работает.

Как узнать sid пользователя windows в домене-4

Можно наоборот по SID узнать логин пользователя, потребуется это в тех случаях, когда например в списках доступа у вас видится сид, и вы хотите узнать кому он принадлежал.

wmic useraccount where sid="S-1-5-21-2071342971-2054724104-2057240633-1001" get name

Еще с помощью WMI вы можете реализовать вот, что укажите имя компьютера (для локального) или домена (для доменного пользователя). Ниже пример получения SID локальной рабочей станции

wmic useraccount where (name="Администратор" and domain="%computername%") get sid

Для доменной структуры

wmic useraccount where (name="Администратор" and domain="aetp") get sid

способ узнать sid пользователя, команда WMIC-2

Получить логин по SID аналогично предыдущей команду.

wmic useraccount where (sid="S-1-5-21-613421863-3366779934-4260147692-500" and domain="aetp") get name

2 способ узнать sid пользователя, команда Whoami

Тоже довольно старенькая команда из cmd.exe. Вводим

Получаем полный сид текущего залогиненного пользователя.

способ узнать sid пользователя, команда Whoami

Если ввести Whoami /logonid, то можно получить logonid, выглядит он вот так S-1-5-5-0-595920

Если ввести ключ /all, то вы увидите, все sid локальных (bultin) групп и пользователей

способ узнать sid пользователя, команда Whoami-2

Так же вы увидите сведения о привилегиях.

способ узнать sid пользователя, команда Whoami-3

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

3 способ узнать sid пользователя, ADUC и ADSIedit

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

узнать sid пользователя, ADUC и ADSIedit-1

После чего заходим в свойства учетной записи, вкладка Редактор атрибутов и находим там поле objectSid.

узнать sid пользователя, ADUC и ADSIedit-2

Так же SID можно посмотреть и во встроенной оснастке ADSIedit, подключаетесь там к контексту именования имен и заходите в свойства нужной учетной записи.

узнать sid пользователя, ADUC и ADSIedit-4

Да чуть не забыл в Windows Server 2012 R2 есть такое средство как Центр администрирования Active Directory, ищите там нужную учетную запись и в ней находите пункт SID.

узнать sid пользователя, ADUC и ADSIedit-3

4 способ узнать sid пользователя, утилита PsGetSid

Есть такая замечательная утилита от Microsoft од названием PsGetSid.

Когда вы скачаете и разархивируете файл, вы получите папку с большим набором утилит, среди них будет PsGetSid.

узнать sid пользователя, утилита PsGetSid-1

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

Вводим команду psgetsid имя компьютера\логин учетки

и наоборот, выясним имя по SID:

узнать sid пользователя, утилита PsGetSid-2

5 способ узнать sid пользователя, PowerShell и System.Security.Principal.NTAccount

Пятым методом будет использование в powershell класса System.Security.Principal.NTAccount. Для домена Active Directory.


$objUser = New-Object System.Security.Principal.NTAccount("домен", "логин учетки")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

sid wmi powershell

Для локального пользователя команда будет такой.

$objUser = New-Object System.Security.Principal.NTAccount("логин")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

sid wmi powershell-2


Обратная ситуация получаем по SID имя пользователя
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-613421863-3366779934-4260147692-1312")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

6 способ узнать sid пользователя, Get-ADUser

Снова воспользуемся командлетами powershell Get-ADUser. вводим команду для получения SID доменного пользователя.

получить наоборот логин по sid

узнать sid пользователя, Get-ADUser

Как массово определить SID пользователя

Все описанные выше методы хороши, когда вам нужно найти SID для одного или двух пользователей, а как быть если у вас это пачка логинов. Например мне это нужно было при предоставлении прав. Предположим, что у меня есть текстовый файл со списком логинов, каждый на новой строке. Мне нужно для каждого определить его Security Identifier.

Файл со списком пользователей домена

В этом нам поможет скрипт PowerShell. Откройте ISE.

foreach ($line in (Get-Content $users_file))
$username = ($Line -split "\\")[1]
$user = Get-ADUser $username -Server "DC4.root.pyatilistnik.org"

$Result = [ordered]@ user = $line
SID = $user.SID
>

New-Object PSObject -Property $Result
>

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


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


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

    , Desktop Info и им подобные. Если много денег, есть и платные. Суть в том, что на десктоп выводится техническая информация: имя машины, IP-адрес, логин и т.д. В Desktop Info можно даже графики производительности запилить на половину экрана.
    Не устраивает то, что для того же Bginfo, например, пользователю нужно сворачивать окна, чтобы увидеть нужные данные. Еще мы с коллегами не раз наблюдали у BgInfo характерный артефакт, когда новый текст выводится поверх старого.
    Некоторых пользователей раздражает тот факт, что админы рисуют пугающее 192.168.0.123 на мордочке растянувшегося на рабочем столе котика портят эстетику фоновой картинки, и, разумеется, это жутко демотивирует и напрочь убивает рабочий настрой.
  1. Ярлык а-ля «Кто я» (не пытайтесь добавить ему знак вопроса в конце :). Классический ярлык на рабочем столе, за которым прячется аккуратный или не очень скрипт, выводящий нужную информацию в виде диалогового окна. Иногда вместо ярлыка на рабочий стол кладут сам скрипт, что ИМХО моветон.
    Недостаток в том, что для запуска ярлыка, как и в первом случае, нужно сворачивать все открытые окна (баловней судьбы, у которых на рабочей машине открыто единственное окно с пасьянсом, в расчет не берём). Кстати, а ваши пользователи знают, куда нужно тыкнуть, чтобы свернуть все окна? Правильно, пальцем в глаз админу.

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

  1. Групповая политика, в которой прописаны логон- и логофф-скрипты для пользователей, применяется ко всему домену, поэтому скрипты будут отрабатывать на любой машине, на которую логинятся пользователи. Если у вас наряду с рабочими станциями используются терминальные решения (например, Microsoft RDS или продукты Citrix), такой подход будет неудобным.
  2. Данные заносятся в атрибут Department учетной записи пользователя, на который у рядового пользователя есть доступ только на чтение. Помимо атрибута учётной записи пользователя, скрипт также вносит изменения в атрибут Department учётной записи компьютера, который по умолчанию пользователи также менять не могут. Поэтому чтобы решение работало, автор предлагает изменить стандартые настройки безопасности для объектов AD.
  3. Формат даты зависит от настроек локализации на конечной машине, поэтому с одной машины можем получить 10 ноября 2018 14:53, а с другой 11/10/18 2:53 p.m.
  1. GPO линкуется не к домену, а к OU с машинами (я разделяю пользователей и машины по разным OU и другим советую). При этом для loopback policy processing mode выставлен режим merge.
  2. Скрипт будет заносить данные только в учетную запись пользователя в атрибут Info, который пользователь может менять самостоятельно для своей учётной записи.
  3. Изменен кусок кода, генерирующий значение атрибута

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

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

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

  2. идем пить чай (если AD с большим количеством пользователей, то чая нужно много :)
  3. запускам PS-скрипт и получаем результат:

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


Можно красиво «упаковать» наше решение.

Для этого добавим ярлык для запуска скрипта специалистам техподдержки, у которого в поле «объект» будет что-то такое:
powershell.exe -NoLogo -ExecutionPolicy Bypass -File "\\server\share\Scripts\Get-UsersByPCsInfo.ps1"

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

Учетная запись Windows 10

Windows 10 позволяет создавать и использовать учетную запись Microsoft вместо локальной и наоборот. У обоих есть свои преимущества и недостатки, пользователи вправе сделать выбор при установке Windows 10 и переключаться между ними позже.

Однако, если это сделано давным-давно или кто-то другой установил и настроил Windows 10, вы можете не помнить или не знать какой тип учетной записи используется. Мы опубликовали руководство, чтобы помочь узнать, какой является ваша учетная запись, локальная или от Microsoft.

Узнать тип учетной записи через параметры

Начните с открытия приложения "Параметры": быстрый способ сделать это — через меню "Пуск".

Как зайти в параметры

Перейдите в категорию "Учетные записи".

Учетные записи Windows 10

Если под именем пользователя отображается "Локальная учетная запись", значит используется автономная учетная запись. Здесь можно увидеть ссылку, которая позволяет "Войти вместо этого с учетной записью Майкрософт".

Локальная учетная запись

Если виден адрес электронной почты, это означает, что вы используете учетную запись Microsoft. Под адресом электронной почты должна быть ссылка "Войти вместо этого с локальной учетной записью".

Учетная запись Microsoft

Узнать через панель управления

Откройте панель управления через поиск Windows 10.

Windows 10 - открыть панель управления

Зайдите в "Учетные записи пользователей" и нажмите туже ссылку еще раз.

Учетные записи пользователей в панели управления

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

Учетная запись Microsoft в панели управления

Надпись "Локальная учетная запись", означает использование автономного профиля.

Автономная учетная запись в панели управления

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

date

29.04.2020

directory

Active Directory, PowerShell

comments

комментариев 6

В среде Windows каждому доменному и локальному пользователю, группе и другим объектам безопасности, присваивается уникальный идентификатор — Security Identifier или SID. Именно SID, а не имя пользователя используется для контроля доступа к различным ресурсам: сетевым папкам, ключам реестра, объектам файловой системы, принтерам и т.д. В этой статье мы покажем несколько простых способов узнать SID пользователя или группы (локальных или из Active Directory), и обратную процедуру – определение имени пользователя или группы Windows по известному SID.

Для преобразования username в SID можно воспользоваться отличий утилитой из комплекта Sysinternals — PsGetSid. Но ее придется скачивать и устанавливать на каждый компьютер вручную. Пример использования PsGetSID для SID пользователя по имени учетной записи:

Получение учетки по SID:

На мой взгляд, проще всего для преобразования SID -> Username и Username -> SID проще всего воспользоваться командами командной строки или несложными командлетами PowerShell:

Как получить SID локального пользователя?

Чтобы получить SID локальной учетной записи на данном компьютере, можно воспользоваться утилитой wmic, которая позволяет обратится к пространству имен WMI компьютера. Для получения SID локального пользователя test_user можно использовать утилиту WMIC:

wmic useraccount where name='test_user' get sid

Узнать SID пользователя через WMI

Команда вернула нам SID указанного пользователя — S-1-5-21-1175651296-1316126944-203051354-1005.

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

wmic useraccount where name='%username%' get sid

$objUser = New-Object System.Security.Principal.NTAccount("LOCAL_USER_NAME")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

Узнать SID пользователя или группы в домене AD по имени

Вы можете узнать SID текущей доменной учетной записи командой:

whoami user getsid

Узнать SID доменного пользователя можно с помощью WMIC. В этом случае в команде нужно указать имя домена:

Для получения SID доменного пользователя можно воспользоваться командлетом Get-ADUser, входящего в состав модуля Active Directory Module для Windows PowerShell. Получим SID для аккаунта jjsmith:

Get-ADUser -Identity 'jjsmith' | select SID

get-aduser select sid

Get-ADGroup -Filter | Select SID

Get-ADGroup получить sid доменной группы

$objUser = New-Object System.Security.Principal.NTAccount("corp.wintpro.ru","jjsmith")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value

PowerShell - get SID via SecurityIdentifier and NTAccount

Эта же команда PowerShell в одну строку:

(new-object security.principal.ntaccount “jjsmith").translate([security.principal.securityidentifier])

Как узнать имя учетной записи пользователя или группы по SID?

Чтобы узнать имя учетной записи пользователя по SID (обратная процедура), можно воспользоваться одной из следующих команд:

wmic useraccount where sid='S-1-3-12-12452343106-3544442455-30354867-1434' get name

На PowerShell получить имя пользователя по его SID можно с помощью модуля AD для PowerShell:

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

Get-ADGroup найти группу по SID

Также можно узнать SD группу и пользователя с помощью встроенных классов PowerShell (без дополнительных модулей):

Поиск объектов в Active Directory по SID

Если вы не знаете к какому типу объекта AD относится некий SID и какой точно командлет использовать для его поиска (Get-AdUser, Get-ADComputer или Get-ADGroup), вы можете использовать универсальный метод поиска объектов в Active Directory по SID с помощью командлета Get-ADObject (параметр IncludeDeletedObjects позволяет искать по удаленным объектам AD в корзине).

$sid = ‘S-1-5-21-2470146651-3951111111-2989411117-11119501’
Get-ADObject –IncludeDeletedObjects -Filter "objectSid -eq '$sid'" | Select-Object name, objectClass

Get-ADObject поиск объектов в AD по известному SID

SID

В нашем случае объект AD, который имеет данный SID, является компьютером (objectClass).

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