Найдите SID в Active Directory Users and Computers с помощью PowerShell. Идентификатор безопасности или SID – это уникальный идентификационный номер, назначаемый каждому пользователю, группе или компьютеру Windows в сети, управляемой доменом. Например, если мы когда-либо пытались управлять разрешениями на файлы и папки или просматривали реестр, мы могли видеть длинное строковое значение, что-то вроде S-1-5-21-3011698416-3634052959-2884390752-500. Если вы когда-либо видели что-то подобное, то уже сталкивались с SID.
У каждого пользователя, группы или компьютера будет уникальный SID. Если мы никогда не слышали о SID, мы могли бы задаться вопросом, какова их цель и как они вписываются в Active Directory (AD). В конце концов, обычно мы никогда не видим эти идентификаторы безопасности на глазах.
Эта статья объяснит, что такое SID, как найти SID в активном каталоге пользователей и компьютеров, и поделится несколькими командами по получению SID с использованием Windows PowerShell.
Найдите SID в Active Directory

Предварительные требования для отчета по SID
Для использования набора команд Active Directory и их примеров, охваченных в этой статье, убедитесь, что у нас есть следующее:
- На компьютере под управлением Windows, присоединенном к домену AD
- Войдите в учетную запись AD с правами чтения активного каталога, как минимум
- Установлен и импортирован модуль Active Directory PowerShell
Попробуйте наше решение по отчетности SID в Active Directory БЕСПЛАТНО
Попробуйте нас бесплатно, доступ ко всем функциям. – Доступно более 200 шаблонов отчетов AD. Легко настроить собственные отчеты SID AD.
Введение в идентификатор безопасности
A Security Identifier or SID is a unique string of values assigned to each security principal and security group by an authority, such as a Windows domain controller. When a security group or principal is created, security identification is made automatically. Once created, the SID is saved in the security database and can be accessed as needed.
Объединяя SID и права пользователя, Windows выдает нам, пользователю, токен доступа каждый раз при входе в систему. Этот токен доступа обеспечивает контекст безопасности и предоставляет нам соответствующие разрешения и права для управления нашей системой Windows. Следовательно, SID является одной из основных частей Модели безопасности Windows.
Помимо автоматически генерируемых SID, в Windows есть несколько известных универсальных SID, таких как Все, Локальный администратор, Всемирный, NT Authority и Все службы. В следующей таблице приведены известные универсальные SID.
Value | Universal Well-Known SID | Identifies |
---|---|---|
S-1-0-0 | Null SID | A group with no member objects. This SID is often used when a SID value is null or unknown. |
S-1-1-0 | World | A group that includes everyone or all users. |
S-1-2-0 | Local | Users who log on to local (physically connected) |
S-1-2-1 | Console Logon | A group includes users logged on the physical console. |
S-1-3-0 | Creator Owner ID | A SID to be replaced by the user’s security identifier who created a new object. This SID is used in inheritable ACEs. |
S-1-3-1 | Creator Group ID | A SID is replaced by the primary-group SID of the user who created a new object. Use this SID in inheritable ACEs. |
S-1-3-2 | Creator Owner Server | |
S-1-3-3 | Creator Group Server | |
S-1-3-4 | Owner Rights | A SID that represents the current owner of the object. When an ACE that carries this SID is applied to an object, the system ignores the object owner’s implicit READ_CONTROL and WRITE_DAC permissions for the object owner. |
S-1-4 | Non-unique Authority | A Security Identifier that represents an identifier authority. |
S-1-5 | NT Authority | A Security Identifier that represents an identifier authority. |
S-1-5-80-0 | All Services | A group includes all service processes configured on the system. The operating system controls membership. |
Если мы хотим узнать больше о идентификаторах безопасности, нажмите на эту ссылку для официальной документации Microsoft.
Найдите SID в объектах Active Directory с помощью PowerShell.
С помощью PowerShell мы можем найти различные SID каждого объекта на каждом уровне. SID находится как свойство пользователя, группы или объекта компьютера. Мы будем использовать команду Select-Object для извлечения свойства SID из объекта PowerShell.
В следующем разделе мы начнем с получения SID текущего вошедшего в систему пользователя и продвинемся к верхнему уровню всех доменов в лесу.
Получение текущего SID активного пользователся Active Directory в PowerShell
Мы можем получить текущий SID пользователя в PowerShell с помощью командлета Get-LocalUser, который получает сведения о учетной записи пользователя. Например, выполните следующую команду, чтобы получить SID текущего вошедшего в систему пользователя.
Get-LocalUser -Name $env:USERNAME | Select-Object sid
В вышеприведенном сценарии PowerShell Get-LocalUser получает сведения об учетной записи пользователя, указанной переменной среды $env:USERNAME.

$env:USERNAME – это переменная среды, которая сохраняет информацию об окружении операционной системы и программах. В этом наборе данных включены путь к операционной системе, расположение каталога установки Windows и количество процессов, используемых операционной системой. PowerShell может получать доступ, управлять и изменять переменные среды.
Получение локального SID пользователя в PowerShell
На сервере локальные учетные записи пользователей сохраняются. Мы можем предоставить этим учетным записям доступ и разрешения на одной системе, но только на этом одном компьютере. Локальные учетные записи пользователей являются принципами безопасности, используемыми для защиты и контроля доступа к ресурсам на одиночном или членском сервере.
Get-LocalUser возвращает SID локального пользователя через PowerShell, как показано ниже. При использовании команды Get-LocalUser нам пока не нужно загружать и импортировать модуль AD.
Get-LocalUser -Name 'johndoe' | Select-Object sid
Сценарий PowerShell указывает имя локального пользователя для получения SID локального пользователя.
Получить SID пользователя Active Directory в PowerShell
Так как мы будем запускать команду Active Directory, нам нужно будет импортировать импортированный модуль AD.
Import-Module ActiveDirectory
Мы можем получить SID пользователя Active Directory с помощью Get-ADUser командлета, предоставляющего детали одной или нескольких учетных записей пользователей AD. Запустите нижеприведенную команду.
Get-AdUser -Identity toms | Select Name, SID, UserPrincipalName
В приведенном выше сценарии PowerShell командлет Get-ADUser получает SID пользователя AD, указанный параметром Identity. Кроме того, параметр выбирает свойства имени, SID пользователя AD и имя пользователя в PowerShell.
Попробуйте наши инструменты отчетности и аудита для Active Directory и Office 365
Попробуйте нас бесплатно. Доступно сотни шаблонов отчетов. Легко настраивайте свои собственные отчеты по AD, Azure AD и Office 355.
Получить SID компьютера Active Directory в PowerShell
Мы можем получить не только SID пользователей, но и компьютеры, присоединенные к домену. Мы можем получить SID компьютера Active Directory с помощью Get-ADComputer командлета. Мы можем получить несколько SID с нескольких компьютеров AD, используя параметр Filter.
Get-ADComputer -Filter * | Select-Object Name, SID
В приведенном выше сценарии PowerShell командлет Get-ADComputer в Active Directory получает данные учетной записи компьютера и использует оператор pipe для выбора имени компьютера и SID компьютера в Active Directory.
Получить SID группы Active Directory в PowerShell
Как пользователи и компьютеры, мы также можем получить SID группы, поскольку группы считаются объектами AD. Чтобы получить SID группы AD в активном каталоге, используйте Get-ADGroup команду.
Get-ADGroup -Identity SalesLeader | Select-Object Name, SID
Команда Get-ADGroup получает учетную запись группы, указанную параметром Identity в скрипте PowerShell. Затем выберите имя и свойство SID группы AD в активном каталоге с помощью оператора pipe.
Получить SID всех доменов в PowerShell
Лес Active Directory (лес AD) – это логический контейнер, в котором находятся домены, пользователи, машины и правила групп в конфигурации Active Directory.
Мы можем найти SID всех доменов в активном каталоге, используя Get-ADForest команду активного каталога, как показано ниже.
(Get-ADForest).Domains| %{Get-ADDomain -Server $_} | Select-Object name, domainsid
Вывод SID в объектах Active Directory
Мы можем использовать командлеты Active Directory, такие как Get-ADUser, Get-ADComputer и Get-ADGroup, чтобы найти SID в активных пользователях и компьютерах каталога. Кроме того, мы также включили получение SID локального пользователя и всего домена с использованием Get-LocalUser и Get-ADDomain соответственно.
Source:
https://infrasos.com/find-sid-in-active-directory-users-and-computers-using-powershell/