Загрузить PDF
Загрузить PDF
Из этой статьи вы узнаете, как в Windows выяснить идентификатор безопасности (SID) другого пользователя.
-
В левом нижнем углу откроется меню «Опытный пользователь».
-
Откроется новое окно.
-
Откроется окно командной строки.
-
Это команда для отображения идентификаторов безопасности всех пользователей системы.
- Если вы знаете имя пользователя, введите следующую команду: wmic useraccount where name="USER" get sid (вместо «USER» подставьте имя пользователя).[1]
- Если вы знаете имя пользователя, введите следующую команду: wmic useraccount where name="USER" get sid (вместо «USER» подставьте имя пользователя).[1]
-
Идентификатор безопасности — это длинная цепочка чисел, которая отобразится справа от каждого имени пользователя.
Реклама
Об этой статье
Эту страницу просматривали 4996 раз.
Была ли эта статья полезной?
If you are trying to rename user profile folder or to change some registry specific data for the current user, then you might want to find the Security Identifier (SID) for that user account to determine which key under HKEY_USERS in Registry belong to that particular user account.
A security identifier (SID) is a unique value of variable length used to identify a trustee. Each account has a unique SID issued by an authority, such as a Windows domain controller, and stored in a secure database. Each time a user logs on, the system retrieves the SID for that user from the database and places it in the access token. The system uses the SID in the access token to identify the user in all subsequent Windows security interactions. When a SID has been used as the unique identifier for a user or group, it cannot ever be used again to identify another user or group.
There are many other reasons you need to know the Security Identifier (SID) of a User, but there are various methods to find the SID in Windows 10. So without wasting any time, let’s see How to Find Security Identifier (SID) of User in Windows 10 with the help of the below-listed tutorial.
Table of Contents
Make sure to create a restore point just in case something goes wrong.
Method 1: Find Security Identifier (SID) of Current User
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
whoami /user
3. This will show the SID of the current user successfully.
Method 2: Find Security Identifier (SID) of User in Windows 10
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
wmic useraccount where name=’%username%’ get domain,name,sid
3. This will successfully show the SID of the current user.
Method 3: Find Security Identifier (SID) of All Users
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
wmic useraccount get domain, name,sid
3. This will successfully show the SID of all user accounts present on the system.
Method 4: Find Security Identifier (SID) of Specific User
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
wmic useraccount where name=”Username” get sid
Note: Replace username with the account’s actual username for which you are trying to find the SID.
3. That’s it, you were able to find the SID of the specific user account on Windows 10.
Method 5: Find User Name for specific Security Identifier (SID)
1. Open Command Prompt. The user can perform this step by searching for ‘cmd’ and then press Enter.
2. Type the following command into cmd and hit Enter:
wmic useraccount where sid=”SID” get domain,name
Replace: SID with the actual SID for which you are trying to find the username
3. This will successfully show the username of that particular SID.
Method 6: Find SID of Users using Registry Editor
1. Press Windows Key + R then type regedit and hit Enter to open Registry Editor.
2. Navigate to the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
3. Now under ProfileList, you will find different SID’s and for finding the particular user for these SID’s you need to select each one of them then in the right window pane double-click on ProfileImagePath.
4. Under the value field of ProfileImagePath you will see the username of the particular account and this way you can find the SID’s of different users in Registry Editor.
Recommended:
- How to Add a PIN to Your Account in Windows 10
- Rename User Profile Folder in Windows 10
- Set Default User Logon Picture for all Users in Windows 10
- How to Add a Picture Password in Windows 10
That’s it you have successfully Find Security Identifier (SID) of User in Windows 10 but if you still have any questions regarding this tutorial then feel free to ask them in the comment’s section.
SID (Security Identifier) — это уникальный код (идентификатор безопасности), который операционная система присваивает любой созданной учётной записи, группе и прочим объектам безопасности.
Этот идентификатор используется системой для контроля доступа к тем или иным ресурсам (например, к объектам файловой системы, сетевым каталогам, ключам реестра и др.). Идентификатор безопасности (SID) остаётся неизменным для созданной учётной записи, даже если вы решите поменять имя пользователя.
Зачем вам нужно знать свой SID!? Например, для выполнения некоторых команд, непосредственно с которыми связана безопасность компьютера.
Узнать идентификатор безопасности текущего пользователя можно тремя способами:
- С помощью командной строки. Откройте её и выполните вот такую команду:
- С помощью консоли «Windows PowerShell«. Откройте консоли и выполните такую команду:
В этом случае вы увидите SID всех учётных записей системы.
- Ну и наконец с помощью редактора реестра. Откройте редактор реестра и перейдите по данному пути:
В разделе реестра ProfileList вы обнаружите список всех пользователей операционной системы и их идентификаторы безопасности (SID).
В данной статье рассмотрено несколько способов, с помощью которых можно узнать идентификатор безопасности (SID) пользователя в операционной системе Windows 10.
SID (Security Identifier) — идентификатор безопасности, это уникальный идентификатор (код) который присваивается любой создаваемой доменной или локальной учетным записям, а также группе и другим объектам безопасности.
Операционная система использует именно идентификаторы безопасности (SID) для контроля доступа к различным ресурсам, таким как объекты файловой системы, ключам реестра, сетевым каталогам, что означает, что даже если вы измените имя пользователя, то это не повлияет на какие-либо предварительные настройки для этой учетной записи, поскольку каждая конфигурация привязана к SID, который остается постоянным.
Идентификатор безопасности может быть полезен во время выполнения определенных команд, связанных с безопасностью компьютера.
Содержание
- Как узнать идентификатор безопасности (SID) пользователя в командной строке
- Как узнать идентификатор безопасности (SID) пользователя в Windows PowerSell
- Как узнать идентификатор безопасности (SID) в редакторе реестра
Как узнать идентификатор безопасности (SID) пользователя в командной строке
Чтобы узнать SID текущего пользователя воспользуемся утилитой whoami, для этого откройте командную строку и выполните следующую команду:
whoami /user
Также узнать SID текущего пользователя можно выполнив следующую команду:
wmic useraccount where name=»%username%» get name,sid
Чтобы узнать все SID присутствующие в операционной системе, выполните команду:
wmic useraccount get name,sid
Чтобы узнать SID определённого пользователя, выполните следующую команду:
wmic useraccount where name=»TestUser1″ get sid
Где TestUser1 — имя пользователя, 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 определённого пользователя, выполните следующую команду:
(gwmi win32_useraccount -Filter «name = \’TestUser1\'»).sid
Где TestUser1 — имя пользователя, SID которого нужно узнать.
Также узнать SID определённого пользователя, можно выполнив команду:
Get-WmiObject -Class Win32_UserAccount -Filter «name=\’TestUser1\'»
Где TestUser1 — имя пользователя, SID которого нужно узнать.
Чтобы узнать имя пользователя учетной записи по SID (обратная процедура), выполните команду следующего вида:
(gwmi win32_useraccount -Filter «sid = \’SID\'»).name
Где вместо SID укажите нужный идентификатор безопасности.
В данном примере команда выглядит так:
(gwmi win32_useraccount -Filter «sid = \’S-1-5-21-3210479907-464018182-414762983-1002\'»).name
Как узнать идентификатор безопасности (SID) в редакторе реестра
Используя редактор реестра, также можно узнать идентификатор безопасности (SID), для этого откройте редактор реестра нажав сочетание клавиш + R и в открывшемся окне Выполнить введите regedit и нажмите клавишу Enter ↵.
В открывшемся окне редактора реестра, скопируйте/вставьте или перейдите по следующему пути:
HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList
В разделе ProfileList вы увидите всех пользователей и их идентификаторы SID.
SID (Security IDentifier) – это уникальный идентификатор, который присваивается пользователям, группам, компьютерам или другим объектам безопасности при их создании в Windows или Active Directory. Windows использует SID, а не имя пользователя для контроля доступа к различным ресурсам: сетевым папкам, ключам реестра, объектам файловой системы (NTFS разрешения), принтерам и т.д. В этой статье мы покажем несколько простых способов получить SID пользователя, группы или компьютера, и обратную процедуру – получить объект по известному SID.
Содержание:
- Что такое SID объекта в Windows?
- Как получить SID локального пользователя?
- Узнать SID пользователя или группы в домене Active Directory
- Получить SID компьютера
- Как узнать имя пользователя или группы по известному SID?
- Поиск объектов в Active Directory по SID
Что такое SID объекта в Windows?
Как мы уже сказали, SID (security identifier) позволяет уникально идентифицировать пользовали, группу или компьютер в пределах определенной области (домена или локального компьютера). SID представляет собой строку вида:
S-1-5-21-2927053466-1818515551-2824591131—1103.
В данном примере:
- 2927053466-1818515551-2824591131 – это уникальный идентификатор домена, выдавшего SID (у всего объекта в одном домене эта часть будет одинакова)
- 1103 – относительный идентификатор безопасности объекта (RID). Начинается с 1000 и увеличивается на 1 для каждого нового объекта. Выдается контроллером домена с FSMO ролью RID Master)
SIDы объектов Active Directory хранятся в базе ntds.dit, а SIDы локальных пользователей и групп в локальной базе диспетчера учетных записей Windows (SAM, Security Account Manager в ветке реестра HKEY_LOCAL_MACHINE\SAM\SAM).
В Windows есть так называемые известные идентификаторы безопасности (Well-known SID). Это SID встроенных (BuiltIn) пользователей и групп, которые есть на любых компьютерах Windows. Например:
-
S-1-5-32-544
– встроенная группу Administrators -
S-1-5-32-545
– локальные пользователи -
S-1-5-32-555
– группа Remote Desktop Users, которым разрешен вход по RDP -
S-1-5-domainID-500
– учетная запись встроенного администратора Windows - И т.д.
В Windows можно использовать различные средства для преобразования SID -> Name и Username -> SID: утилиту whoami, wmic, WMI, классы PowerShell или сторонние утилиты.
Как получить SID локального пользователя?
Чтобы получить SID локальной учетной записи, можно воспользоваться утилитой wmic, которая позволяет обратится к пространству имен WMI (Windows Management Instrumentation) компьютера.
wmic useraccount where name='test_user' get sid
Команда может вернуть ошибку, если репозиторий WMI поврежден. Воспользуйтесь этой инструкцией для восстановления WMI репозитория.
Команда вернула SID указанного пользователя —
S-1-5-21-1175651296-1316126944-203051354-1005
.
Чтобы вывести список SID всех локальных пользователей Windows, выполните:
wmic useraccount get name,sid.
Если нужно узнать SID текущего пользователя (под которым выполняется команда), используйте такую команду:
wmic useraccount where name='%username%' get sid
Можно обратится к WMI напрямую из PowerShell:
(Get-CimInstance -Class win32_userAccount -Filter "name='test_user' and domain='$env:computername'").SID
В новых версиях PowerShell Core 7.x вместо команды Get-WmiObject нужно использовать Get-CimInstance.
Но еще проще получить SID локального пользователя с помощью встроенного PowerShell модуля управления локальными пользователями и группами (Microsoft.PowerShell.LocalAccounts).
Get-LocalUser -Name 'test_user' | Select-Object Name, SID
По аналогии можно получить SID локальной группы:
Get-LocalGroup -Name tstGroup1 | Select-Object Name, SID
Также вы можете использовать.NET классы System.Security.Principal.SecurityIdentifier и System.Security.Principal.NTAccount для получения SID пользователя с помощью PowerShell:
$objUser = New-Object System.Security.Principal.NTAccount("LOCAL_USER_NAME")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
Узнать SID пользователя или группы в домене Active Directory
Вы можете узнать SID своей доменной учетной записи командой:
whoami /user
Получить SID пользователя домена Active Directory можно с помощью WMIC. В этом случае в команде нужно указать имя домена:
wmic useraccount where (name='jjsmith' and domain=′corp.winitpro.ru′) get sid
Для получения SID доменного пользователя можно воспользоваться командлетом Get-ADUser, входящего в состав модуля Active Directory Module для Windows PowerShell. Получим SID для доменного пользователя jjsmith:
Get-ADUser -Identity 'jjsmith' | select SID
Вы можете получить SID группы AD с помощью командлета Get-ADGroup:
Get-ADGroup -Filter {Name -like "msk-admin*"} | Select SID
Если на вашем компьютере не установлен модуль AD для PowerShell, вы можете получить SID пользователя с помощью классов .Net:
$objUser = New-Object System.Security.Principal.NTAccount("corp.wintpro.ru","jjsmith")
$strSID = $objUser.Translate([System.Security.Principal.SecurityIdentifier])
$strSID.Value
Эта же команда PowerShell в одну строку:
(new-object security.principal.ntaccount “jjsmith").translate([security.principal.securityidentifier])
Получить SID компьютера
Если компьютер с Windows добавлен в домен Active Directory, у него будет два разных SID. Первый SID – идентификатор локального компьютера (Machine SID), а второе – уникальный идентификатор компьютера в AD.
SID компьютера в домене Active Directory можно получить с помощью команды:
Get-ADComputer srv-rds1 -properties sid|select name,sid
SID локального компьютера (Machine SID) можно получить с помощью бесплатной утилиты PsGetsid (https://docs.microsoft.com/en-us/sysinternals/downloads/psgetsid): Но ее придется скачивать и устанавливать на каждый компьютер вручную.
.\PsGetsid64.exe
Или просто, обрезав последние 4 символа RID и SID любого локального пользователя:
$user=(Get-LocalUser Administrator).sid
$user -replace ".{4}$"
Важно, чтобы у каждого компьютера в домене был уникальный локальный SID. Если вы клонируете компьютеры или виртуальные машины, или создаете их из одного шаблона, то перед тем как добавить их в домен нужно выполнить команду sysprep. Эта утилита сбрасывает локальный Machine SID. Это избавит вас от частых ошибок “Не удалось восстановить доверительные отношения между рабочей станцией и доменом”.
Как узнать имя пользователя или группы по известному SID?
Чтобы узнать имя учетной записи пользователя по SID (обратная процедура), можно воспользоваться одной из следующих команд:
wmic useraccount where sid='S-1-3-12-12452343106-3544442455-30354867-1434' get name
Для поиска имени доменного пользователя по SID используйте командлеты из модуля
RSAT-AD-PowerShell
:
Get-ADUser -Identity S-1-5-21-247647651-3952524288-2944781117-23711116
Чтобы определить имя группы по известному SID, используйте команду:
Get-ADGroup -Identity S-1-5-21-247647651-3952524288-2944781117-23711116
Также можно узнать получить SID группы и пользователя с помощью встроенных классов PowerShell (без использования дополнительных модулей):
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2470456651-3958312488-29145117-23345716")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value
Поиск объектов в Active Directory по SID
Если вы не знаете к какому типу объекта AD относится SID и какой точно командлет нужно использовать для его поиска (Get-AdUser, Get-ADComputer или Get-ADGroup), вы можете использовать универсальный метод поиска объектов в Active Directory по SID с помощью командлета Get-ADObject
$sid = ‘S-1-5-21-2470146651-3951111111-2989411117-11119501’
Get-ADObject –IncludeDeletedObjects -Filter "objectSid -eq '$sid'" | Select-Object name, objectClass
В нашем случае объект AD, который имеет данный SID, является компьютером (objectClass=computer).