как узнать sid пользователя домена
Как узнать идентификатор безопасности (SID) пользователя в Windows 10
В данной статье рассмотрено несколько способов, с помощью которых можно узнать идентификатор безопасности (SID) пользователя в операционной системе Windows 10.
Операционная система использует именно идентификаторы безопасности (SID) для контроля доступа к различным ресурсам, таким как объекты файловой системы, ключам реестра, сетевым каталогам, что означает, что даже если вы измените имя пользователя, то это не повлияет на какие-либо предварительные настройки для этой учетной записи, поскольку каждая конфигурация привязана к SID, который остается постоянным.
Идентификатор безопасности может быть полезен во время выполнения определенных команд, связанных с безопасностью компьютера.
Как узнать идентификатор безопасности (SID) пользователя в командной строке
Чтобы узнать SID текущего пользователя воспользуемся утилитой whoami, для этого откройте командную строку и выполните следующую команду:
Также узнать SID текущего пользователя можно выполнив следующую команду:
wmic useraccount where name=»%username%» get name,sid
Чтобы узнать все SID присутствующие в операционной системе, выполните команду:
Чтобы узнать SID определённого пользователя, выполните следующую команду:
wmic useraccount where name=»TestUser1″ get sid
Чтобы узнать имя пользователя учетной записи по SID (обратная процедура), выполните команду:
wmic useraccount where sid=» S-1-5-21-3210479907-464018182-414762983-1002 » get name
Как узнать идентификатор безопасности (SID) пользователя в Windows PowerSell
Также узнать идентификатор безопасности можно используя консоль Windows PowerShell.
Чтобы узнать все идентификаторы безопасности (SID) в консоли Windows PowerShell, выполните команду:
Get-WmiObject Win32_UserAccount | Select Name,SID
Чтобы узнать SID определённого пользователя, выполните следующую команду:
Также узнать SID определённого пользователя, можно выполнив команду:
Чтобы узнать имя пользователя учетной записи по SID (обратная процедура), выполните команду следующего вида:
Где вместо SID укажите нужный идентификатор безопасности.
В данном примере команда выглядит так:
Как узнать идентификатор безопасности (SID) в редакторе реестра
Используя редактор реестра, также можно узнать идентификатор безопасности (SID), для этого откройте редактор реестра нажав сочетание клавиш + R и в открывшемся окне Выполнить введите regedit и нажмите клавишу Enter ↵.
В открывшемся окне редактора реестра, скопируйте/вставьте или перейдите по следующему пути:
В разделе ProfileList вы увидите всех пользователей и их идентификаторы SID.
Как найти SID пользователя в WMIC или в реестре Windows 10
Существует множество причин, по которым вам может понадобиться найти идентификатор безопасности (SID) для учетной записи конкретного пользователя в Windows, но в нашем уголке мира общая причина для этого состоит в том, чтобы определить, в каком ключе раздела HKEY_USERS в реестре Windows следует искать пользовательские данные реестра.
Независимо от причины, найти соответствующий SID для имен пользователей действительно легко благодаря wmic-команде – команда доступная из командной строки в большинстве версий Windows.
См. раздел «Как найти SID пользователя в реестре» ниже на странице с инструкциями по сопоставлению имени пользователя с SID с помощью информации в реестре Windows, альтернативного метода использования WMIC.
WMIC команда не существовала до Windows XP, так что вы должны использовать метод реестра в старых версиях Windows.
Выполните следующие простые шаги, чтобы отобразить таблицу имён пользователей и их соответствующие идентификаторы безопасности:
Как найти SID пользователя с WMIC
Вероятно, потребуется всего лишь минута, а может быть и меньше, чтобы найти SID пользователя в Windows через WMIC:
Откройте командную строку.
Если вы не видите командную строку в меню «Power User», введите cmd в строку поиска меню «Пуск» и нажмите «Командная строка», когда увидите её.
Вам не нужно открывать командную строку с повышенными правами, чтобы это работало. Для некоторых команд Windows это требуется, но в приведенном ниже примере команды WMIC вы можете открыть обычную неадминистративную командную строку.
Введите в командной строке следующую команду в точности так, как показано здесь, включая пробелы или их отсутствие:
Если вы знаете имя пользователя и хотите получить только SID этого пользователя, введите эту команду, но замените USER именем пользователя (оставьте кавычки):
Если вы получаете сообщение об ошибке, что команда wmic не распознается, измените рабочий каталог на C:\Windows\System32\wbem\ и повторите попытку. Вы можете сделать это с помощью команды cd (изменить каталог).
Вы должны увидеть таблицу, отображаемую в командной строке. Это список всех учетных записей пользователя в Windows, с указанием имени пользователя и соответствующего SID учетной записи.
Теперь, когда вы уверены, что определенное имя пользователя соответствует определенному SID, вы можете вносить в реестр любые изменения, которые вам нужны, или делать то, для чего вам нужна эта информация.
Если у вас есть случай, когда вам нужно найти имя пользователя, но всё, что у вас есть, – это идентификатор безопасности, вы можете «отменить» команду следующим образом (просто замените этот SID на соответствующий):
Как найти SID пользователя в реестре
Вы также можете определить SID пользователя, просматривая значения ProfileImagePath в каждом S-1-5-21 с префиксом SID, перечисленных под этим ключом:
В значении ProfileImagePath в каждом ключе реестра с именем SID указывается каталог профиля, в который входит имя пользователя.
Этот метод сопоставления пользователей с SID покажет только тех пользователей, которые вошли в систему или вошли в систему и переключились на другого пользователя. Чтобы продолжить использовать метод реестра для определения идентификаторов безопасности других пользователей, вам необходимо войти в систему под учетной записью каждого пользователя в системе и повторить эти шаги. Это большой недостаток; предполагая, что вам это доступно, гораздо лучше использовать метод команды wmic.
Как узнать SID пользователя по имени и наоборот
В среде Windows каждому доменному и локальному пользователю, группе и другим объектам безопасности, присваивается уникальный идентификатор — Security Identifier или SID. Именно SID, а не имя пользователя используется для контроля доступа к различным ресурсам: сетевым каталогам, ключам реестра, объектам файловой системы и т.д. В этой статье мы покажем несколько простых способов узнать SID пользователя и обратной процедуры – определения имени пользователя Windows по его SID.
Для преобразования username в SID можно воспользоваться отличий утилитой из комплекта Sysinternals — PsGetSid. Но ее придется выкачивать и устанавливать на каждую систему вручную.
Гораздо проще воспользоваться утилитой командной строки или скриптом Powershell
Получить SID локального пользователя
Чтобы получить SID локальной учетной записи на данной машине, можно воспользоваться утилитой wmic, обращающейся к WMI хранилищу. Для локального пользователя test_user команда будет такой:
wmic useraccount where name=’test_user’ get sid
В этом примере SID пользователя — S-1-5-21-1175651296-1316126944-203051354-1005
Если нужно узнать SID текущего пользователя, выполните такую команду:
wmic useraccount where name=’%username%’ get sid
На PowerShell скрипт, выдающий тот же результат можно реализовать с помощью двух классов SecurityIdentifier и NTAccount.
Получить SID доменного пользователя
Узнать SID текущей доменной учетной записи можно командой:
Для получения SID доменного пользователя можно воспользоваться командлетом Get-ADUser, входящего в состав модуля Active Directory Module для Windows PowerShell.
Если модуль AD для PowerShell отсутствует, через 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 при помощи модуля AD для Powershell:
Попробуйте наши услуги обслуживания и получите третий месяц обслуживания в подарок!
Как найти идентификатор безопасности (SID) любого пользователя в Windows 10
SID имеют решающее значение для систем, потому что все учетные записи пользователей связаны с неизменяемой буквенно-цифровой символьной строкой. Любые изменения в имени пользователя не влияют на доступ пользователей к системным ресурсам, и в случае, если вы удаляете имя пользователя, а позже кто-то пытается создать учетную запись с вашим старым именем пользователя, невозможно восстановить доступ к ресурсам, так как идентификаторы безопасности всегда уникален для каждого имени пользователя, и в этом случае это не то же самое.
Теперь давайте посмотрим, как найти идентификатор безопасности (SID) любого пользователя в Windows 10.
Найти идентификатор безопасности (SID) любого пользователя в Windows 10
1] Использование WMIC
Найти SID или идентификатор безопасности пользователя очень просто. Для этого мы должны использовать командную строку инструментария управления Windows (WMIC).
Теперь введите следующую команду:
Теперь вы получите результаты, как показано на скриншоте ниже. Вы получите учетную запись пользователя с идентификатором безопасности.
Фильтрация SID для желаемого пользователя
Читатели, которые раньше использовали SQL-запросы, могут относиться к этому. Но эта команда помогает пользователю получить SID конкретного пользователя и игнорировать все хлопоты. Это наиболее полезно, когда большая система (например, сервер) входит в систему и используется одновременно несколькими пользователями, эта команда сэкономит много вашего времени. Но будет работать только если вы знаете имя пользователя пользователя.
Теперь команда, которую вы собираетесь использовать,
Теперь вам нужно заменить USER фактическим именем пользователя в кавычках в приведенной выше команде.
Например, это должно быть как
В случае, если вы получаете ошибку при использовании команды выше, попробуйте изменить путь на C: \ Windows | System32 | wbem вместо C: \ Windows \ System32 \
Результат приведенной выше команды будет выглядеть примерно так:
2] Использование Whoami
Найти SID текущего пользователя с помощью командной строки или PowerShell
Откройте окно PowerShell/CMD и введите следующую команду:
Откройте окно PowerShell/CMD и введите следующую команду:
Найти SID всех пользователей с помощью командной строки или PowerShell
Откройте окно командной строки/PowerShell и введите следующую команду:
Найти SID конкретного пользователя с помощью CommandPrompt или PowerShell
Откройте командную строку/PowerShell и введите следующую команду:
Укажите фактическое имя пользователя вместо имени пользователя в приведенной выше команде.
Найти имя пользователя SID с помощью командной строки или PowerShell
Откройте командную строку/PowerShell и введите следующую команду
Укажите фактическое значение SID вместо вышеуказанной команды.
3] Используйте PowerShell
Другой способ найти SID для всех пользователей – использовать команду Get-WmiObject в PowerShell.
Откройте PowerShell и введите следующую команду:
4] Использование редактора реестра
Открыв редактор реестра, перейдите по следующему пути:
HKEY_LOCAL_MACHINE \ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList
Теперь внутри значений ProfileImagePath для каждого идентификатора безопасности в папке ProfileList вы можете найти нужные идентификаторы безопасности и другие сведения, например имена пользователей. Страница будет выглядеть аналогично приведенному ниже фрагменту экрана.
Стоит отметить, что вы можете найти SID для пользователей, которые уже вошли в систему на компьютере. Либо они должны иметь удаленный доступ к своей учетной записи, либо их учетная запись должна быть авторизована, а затем переключена на другого пользователя, под учетной записью которого выполняется эта деятельность. Это единственный недостаток этого метода, но метод 1 использования WMIC, это не проблема вообще.
Идентификация SID
SID в формате S-1-0-0 называется пустым SID. Он присваивается идентификатору безопасности, когда его значение неизвестно, или он присваивается группе без каких-либо участников.
Кроме того, SID в формате S -1-1-0 является идентификатором мира. Он назначается группе каждого пользователя.
Наконец, SID в формате S-1-2-0 называется локальным SID. Он назначается пользователю, который должен войти в систему с локального терминала.
Вы можете узнать больше об этих идентификаторах системы здесь в Microsoft Developer Network.
При участии Павитры Бхат
Как узнать SID пользователя или группы AD по имени и наоборот?
В среде Windows каждому доменному и локальному пользователю, группе и другим объектам безопасности, присваивается уникальный идентификатор — Security Identifier или SID. Именно SID, а не имя пользователя используется для контроля доступа к различным ресурсам: сетевым папкам, ключам реестра, объектам файловой системы, принтерам и т.д. В этой статье мы покажем несколько простых способов узнать SID пользователя или группы (локальных или из Active Directory), и обратную процедуру – определение имени пользователя или группы Windows по известному SID.
Получение учетки по SID:
Как получить SID локального пользователя?
Чтобы получить SID локальной учетной записи на данном компьютере, можно воспользоваться утилитой wmic, которая позволяет обратится к пространству имен WMI компьютера. Для получения SID локального пользователя test_user можно использовать утилиту WMIC:
wmic useraccount where name=’test_user’ get sid
Команда вернула нам SID указанного пользователя — S-1-5-21-1175651296-1316126944-203051354-1005.
Если нужно узнать SID текущего пользователя (под которым выполняется команда), используйте такую команду:
wmic useraccount where name=’%username%’ get sid
Узнать SID пользователя или группы в домене AD по имени
Вы можете узнать SID текущей доменной учетной записи командой:
Узнать SID доменного пользователя можно с помощью WMIC. В этом случае в команде нужно указать имя домена:
wmic useraccount where (name=’jjsmith’ and domain=′corp.winitpro.ru′) get sid
Для получения SID доменного пользователя можно воспользоваться командлетом Get-ADUser, входящего в состав модуля Active Directory Module для Windows PowerShell. Получим SID для аккаунта jjsmith:
Вы можете получить SID группы AD с помощью другого командлета — Get-ADGroup:
Эта же команда 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 используйте команду:
Также можно узнать SD группу и пользователя с помощью встроенных классов PowerShell (без дополнительных модулей):
Поиск объектов в Active Directory по SID
Если вы не знаете к какому типу объекта AD относится некий SID и какой точно командлет использовать для его поиска (Get-AdUser, Get-ADComputer или Get-ADGroup), вы можете использовать универсальный метод поиска объектов в Active Directory по SID с помощью командлета Get-ADObject (параметр IncludeDeletedObjects позволяет искать по удаленным объектам AD в корзине).
SID
В нашем случае объект AD, который имеет данный SID, является компьютером (objectClass).