Заметки сисадмина о интересных вещах из мира IT, инструкции и рецензии. Настраиваем Компьютеры

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

Добрый день уважаемые читатели, сегодня мы продолжим изучение Active Directory, а точнее его сущностей. Под сущностью понимается некий объект, в нашем случае это учетная запись пользователя, но их список куда больше. Наша сегодняшняя задача изучить как узнать sid пользователя windows в домене.

GUID logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами научились запрещать обновления Windows навсегда или же на нужный нам период по ряду причин. Сегодня я хочу с вами поделить одной интересной практической задачей по AD. Я хочу вам показать, как вы можете зная GUID пользователя Active Directory получить его ФИО, email в  какой OU Он находится, покажу как все это можно автоматизировать с помощью PowerShell. Думаю будет интересно и полезно.

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

Гораздо проще воспользоваться утилитой командной строки или скриптом Powershell

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

Добрый день уважаемые читатели и подписчики, продолжаем с вами изучение возможностей Powershell и Active Directory. Как вы помните у нее все учетные записи пользователей и компьютеров, находятся в базе данных NTDS.dit, все здорово и централизованно. Когда в компании больше одного системного администратора, может получиться ситуация, что в ней накапливается мусор и лишние учетные данные. Все мы люди и какие-то вещи можем забывать, а в какие-то моменты нас могут отвлечь, что приведет, так же к забыванию важной информации. И приходим, мы к тому, что в Actvie Directory накапливаются не активные пользователи (уволенные или забытые), в любом случае, хороший системный администратор должен их выявлять, отключать и дальше по желанию удалять, чем мы и займемся.

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

См. раздел «Как найти SID пользователя в реестре» ниже на странице с инструкциями по сопоставлению имени пользователя с SID с помощью информации в реестре Windows, альтернативного метода использования WMIC.

WMIC команда не существовала до Windows XP, так что вы должны использовать метод реестра в старых версиях Windows.

Сопоставление имён пользователей Windows и SID реестра

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

October 24, 2011

wmic useraccount where name='username' get sid
wmic useraccount where name='John' get sid
wmic useraccount where name='%username%' get sid
c:\>whoami /user
USER INFORMATION
----------------
User Name SID
============== ==============================================
mydomain\wincmd S-1-5-21-7375663-6890924511-1272660413-2944159
c:\>
wmic useraccount where (name='administrator' and domain='%computername%') get name,sid
wmic useraccount where (name='administrator' and domain='%userdomain%') get name,sid
wmic useraccount where sid='S-1-3-12-1234525106-3567804255-30012867-1437' get name

Что такое Sid windows

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

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

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

Впереди идет версия сида, далее Генеральная область Authority — это ссылка на систему источник, которая его выпустила. В операционных системах Windows версия Security IDentifier сейчас одна и равна она 1, Генеральная область Authority имеет значения 1,3,5, для Microsoft Exchange она 9. Далее в сиде следует 1 или более идентификаторов Sub Authority, а за ними идет RID (Relative IDentificator) локальный для данного Sub Authority номер субъекта безопасности.

:/>  Безопасная работа в Интернете или как правильно настроить Internet Explorer. Часть 3

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Что такое Sid windows

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

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

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

Впереди идет версия сида, далее Генеральная область Authority – это ссылка на систему источник, которая его выпустила. В операционных системах Windows версия  Security IDentifier сейчас одна и равна она 1, Генеральная область Authority имеет значения 1,3,5, для Microsoft Exchange она 9. Далее в сиде следует 1 или более идентификаторов Sub Authority, а за ними идет RID (Relative IDentificator) локальный для данного Sub Authority номер субъекта безопасности.

Структура SID

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

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

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

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

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

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

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

Получить SID

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

PowerShell

В командной строке

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

В этом примере SID  пользователя — S-1-5-21-1175651296-1316126944-203051354-1005

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

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

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

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

:/>  Как узнать имя сервера компьютера? - О компьютерах просто

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Определить имя пользователя по SID

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

На PowerShell при помощи модуля AD для Powershell:

Для поиска SID в Powershell нам понадобится модуль Active Directory. Отмечу, что результат почти любого командлета Powershell обращенного к объекту AD будет возвращение его SID.

Если вы выполняете командлеты не на домен контроллере, то вам может понадобится импортировать модель AD:

Import-Module activedirectory

На домен контроллерах этого делать не надо.

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

Get-ADUser -Filter * | select SID

Для получения идентификатора конкретного пользователя, на моем примере “grigoriev”, выполните:

Get-ADUser -Identity "grigoriev"

sid powershell

В предыдущем случае мы искали пользователей по точному соответствию. Если нам нужно найти, например, пользователей у которых имя начинается на “Admi” сделайте так:

Get-ADUser -Filter {Name -Like "admi*"}

Звездочка говорит, что мы ищем учетные записи, которые начинаются на admi и с неизвестным текстом после.

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

Get-ADUser -Filter * | where SID -Like "*275*"

Powershell поиск по SID

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

Всех пользователей со всеми идентификаторами мы можем получить так:

Get-LocalUser | fl

Если локальных пользователей много, то можно отфильтровать вывод способом похожим на примеры выше. Нужно добавить один параметр:

Get-LocalUser -Name *Admi* | fl

Получение в Powershell SID групп

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

Get-ADGroup -Filter *

Для варианта поиска по имени укажите соответствующее имя и ключ:

Get-ADGroup -Filter {Name -like "*RAS*"}

Получение SID группы в Powershell

Если вам нужно больше примеров по работе с группами рекомендую почитать про Get-ADGroup в Powershell.

Для получения этих же данных, но по локальным группам в Powershell:

Get-LocalGroup | fl

Теги:

#powershell

#ad

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

Исключение составляют SIDы встроенных учётных записей, уже имеющихся в Windows — скрытого администратора и гостя. Независимо от версии системы, эти идентификаторы одинаковы во всех экземплярах Windows. Сие сделано специально, дабы администратор имел возможность централизовано управлять доступом при отсутствии доменной структуры.

При выполнении различных тонких настроек, применении твиков подобных тому действий у вас может возникнуть необходимость узнать SID пользователя по его имени. Сделать это можно разными путями, и здесь мы рассмотрим самые распространённые. Если нужно посмотреть SID текущего пользователя, самым лучшим решением будет использование консольной утилиты whoami.

Откройте командную строку и выполните в ней такую команду:

whoami /user

Whoami

Если же вам нужно получить SID другого юзера, используем такую конструкцию с другой консольной утилитой wmic:

wmic useraccount where name='Злой кролик' get sid

Wmic

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

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

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

:/>  C как использовать модуль power shell file system watcher

Вот, этой командой мы получаем SID пользователя «Злой кролик»:

Get-WmiObject -Class win32_userAccount -Filter "name='Злой кролик'"

Get-WmiObject

А можно и так, добавив в список фильтров имя компьютера (та же переменная %computername%):

(Get-WmiObject -Class win32_userAccount -Filter "name='Злой кролик' and domain='%computername%'").SID

PowerShell

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

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

160 people found this article helpful



Updated on January 15, 2022


What to Know

  • In Command Prompt, type wmic useraccount get name,sid and press Enter.
  • You can also determine a user’s SID by looking through the ProfileImagePath values in each S-1-5-21 prefixed SID listed under:
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList





  1. Open Terminal (Windows 11), or open Command Prompt in older Windows versions.


    If you don’t see Command Prompt there, type cmd into the search bar in the Start menu, and select Command Prompt when you see it.


  2. wmic useraccount get name,sid


    wmic useraccount where name="USER" get sid

    If you get an error that the wmic command isn’t recognized, change the working directory to be C:\Windows\System32\wbem\ and try again. You can do that with the cd (change directory) command.




Lifewire / Emily Mendoza





wmic useraccount where sid="S-1-5-21-992878714-4041223874-2616370337-1001" get name




Namejonfi




HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList






  • How do I find my own SID quickly?



Thanks for letting us know!

Get the Latest Tech News Delivered Every Day



Как преобразовывать ObjectGUID в Active Directory

Для начала я покажу вам, где искать GUID пользователя. Для этой задачи у меня есть тестовый пользователь Барбоскин Геннадий. Вас нужно запросить у Active Directory его свойства, для этого откройте оболочку PowerShell ISE и введите:

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

Получение ObjectGUID у пользователя Active Directory

Простой пример преобразования GUID

$guid = “d6d869d3-f5c6-4c5e-ad6a-28e8ceba2c27”

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

Преобразование ObjectGUID в DistinguishedName

Усложним немного конструкцию и произведем чтение из файла со списком GUID.

foreach ($guid in (Get-Content “C:\Temp\guid.txt”))

$dn = $null

$dn = (Get-ADObject -Identity $guid -Server “dc01.root.pyatilistnik.org:3268” -Properties DistinguishedName).DistinguishedName

Обратите внимание, что вы сразу получите список прочитанных из файла GUID пользователя.

Скрипт считывания GUID из файла и вывод DN в файл

В результате у вас будет экспортирован текстовый файл со списком DistinguishedName.

Текстовый файл со списком DistinguishedName

А теперь давайте еще получим дополнительные данные:

  • DistinguishedName
  • ФИО
  • Email
  • Отдел
  • Статус учетной записи Активна/Выключена

foreach ($guid in (Get-Content “C:\Temp\guid.txt”))

В результате у вас быть экспортирован CSV файл.

CSV файл

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

Сводная таблица с данными полученными из GUID

На этом у меня все. Если у вас еще остались вопросы, как можно из GUID пользователя получать разную информацию, то пишите в комментариях. С вами был Иван Сёмин, автор и создатель IT блога Pyatilistnik.org.

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

Узнать SID пользователя через WMIВ этом примере SID  пользователя — S-1-5-21-1175651296-1316126944-203051354-1005

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

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

Определить имя пользователя по SID

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

На PowerShell при помощи модуля AD для Powershell:

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

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

get-aduser select sidЕсли модуль AD для PowerShell отсутствует, через Powershell можно запросить данные из домена так:

PowerShell - get SID via SecurityIdentifier and NTAccountЭта же команда в одну строку:

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

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

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

Вы можете получить SID группы AD с помощью другого командлета — Get-ADGroup:

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

Если на вашем компьютере не установлен модуль AD для PowerShell, вы можете получить SID пользователя с помощью упомянутых ранее классов .Net:

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем КомпьютерыЭта же команда PowerShell в одну строку:

Steps

  1. Click . Now you’ll see a terminal window displaying the command prompt.

    • If you know the person’s username, use this command instead: wmic useraccount where name="USER" get sid (but replace USER with the username).[1]

Add New Question

  • What is a Windows SID?

    Community Answer

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Thanks for submitting a tip for review!

Как найти SID пользователя с WMIC

Вероятно, потребуется всего лишь минута, а может быть и меньше, чтобы найти SID пользователя в Windows через WMIC:

  1. Откройте командную строку.

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

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

    Запрос имени пользователя и SID

    Если вы получаете сообщение об ошибке, что команда wmic не распознается, измените рабочий каталог на C:\Windows\System32\wbem\ и повторите попытку. Вы можете сделать это с помощью команды cd (изменить каталог).

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

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

Если у вас есть случай, когда вам нужно найти имя пользователя, но всё, что у вас есть, – это идентификатор безопасности, вы можете «отменить» команду следующим образом (просто замените этот SID на соответствующий):

Вы также можете определить SID пользователя, просматривая значения ProfileImagePath в каждом S-1-5-21 с префиксом SID, перечисленных под этим ключом:

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

Пример поиска идентификатора безопасности в реестре Windows 10

Как узнать SID пользователя по имени и наоборот

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

Гораздо проще воспользоваться утилитой командной строки или скриптом Powershell

База 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

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

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

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

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

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

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

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

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

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

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 пользователя по его имени и наоборот, умеет получать как локальных пользователей, так и доменных.

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

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

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

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

sid wmi powershell

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

sid wmi powershell-2Обратная ситуация получаем по SID имя пользователя

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

С помощью двух .NET классов System.Security.Principal.SecurityIdentifier и System.Security.Principal.NTAccount вы можете получить SID пользователя с помощью PowerShell:

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

New-Object PSObject -Property $Result
>

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

Определить имя пользователя по SID

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

На PowerShell при помощи модуля AD для Powershell:

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

Попробуйте наши услуги обслуживания и получите третий месяц обслуживания в подарок!

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

Через оснастку ADUC

В прошлый раз я вам уже приводил пример использования оснастки Active Directory Пользователи и компьютеры, через которую мы искали пропавшие компьютеры в локальной сети, которые не появлялись уже месяц. Сейчас сделаем все то же самое и с пользовательскими учетными записями. У меня AD на Windows Server 2012 R2, открываем ADUC, для этого нажмите WIN+R и введите dsa.msc.

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

Далее переходите в пункт Сохраненные запросы, данный пункт появился еще в 2008 версии. Щелкаем по нему правым кликом и выбираем Создать > Запрос.

Поиск неактивных пользоваелей в Active Directory-2

В открывшейся форме запроса задайте:

  • Имя запроса > у меня это потерявшиеся пользователи
  • Описание при необходимости
  • Корень запроса > тут можно оставить весь домен, либо же конкретизировать на нужном OU

После чего жмем кнопку запрос.

Как найти устаревшие учетные записи пользователей-2

На вкладке пользователи видим пункт “Число дней со времени последнего входа в систему” я для примера поставил 60 дней.

Как найти устаревшие учетные записи пользователей-3

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

Поиск неактивных пользоваелей в Active Directory-2

Через оснастку powershell

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

  • В первой строке вы объявляете переменную, в которой задаете срок поиска
  • Создаем переменную и делаем выборку по последнему времени логина
  • Перемещаем пользователей

Поиск неактивных пользователей в Active Directory-4

  • Делаем отчет в файл

Поиск неактивных пользователей в Active Directory-3

Еще полезные вещи по работе с пользователем. Перед использованием ниже команд, нужно загрузить модуль Active Directory, через команду

Поиск неактивных пользователей в Active Directory-5

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

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

Поиск неактивных пользователей в Active Directory-6

Более детально по свойствам можно посмотреть вот такой строкой.

Поиск неактивных пользователей в Active Directory-7

Через такую конструкцию вы можете выводить конкретные поля.

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

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем КомпьютерыЭта же команда в одну строку:

About This Article

Did this summary help you?

Thanks to all authors for creating a page that has been read 271,252 times.

Что можно узнать по GUID пользователя Active Directory?

О том, что такое GUID я подробно вам рассказывал и много уже, где с ним встречались, только на разных сущностях. Напомню GUID (глобальный уникальный идентификатор) – это термин, используемый Microsoft для числа, которое ее программа генерирует, чтобы создать уникальную идентичность для объекта.

SystemUserId

Попросили для каждой записи найти соответствующие поля:

  • DistinguishedName
  • Name
  • mail
  • Department
  • Title
  • Enabled

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем КомпьютерыВ этом примере SID пользователя — S-1-5-21-1175651296-1316126944-203051354-1005

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

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

База Security Account Manager

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

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

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

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

Добрый день уважаемые читатели, сегодня мы продолжим изучение Active Directory, а точнее его сущностей. Под сущностью понимается некий объект, в нашем случае это учетная запись пользователя, но их список куда больше. Наша сегодняшняя задача изучить как узнать sid пользователя windows в домене.

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

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

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

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

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

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

New-Object PSObject -Property $Result
}

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

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

На этом у меня все с вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

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

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

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

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

Get-ADGroup -Identity S-1-5-21-247647651-3952524288-2944781117-23711116

Заметки сисадмина
о интересных вещах из мира IT, инструкции и рецензии.
Настраиваем Компьютеры

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

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

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