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

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

От Sysinternals есть хороший бесплатный инструмент под названием PsGetSid, который можно получить на этом сайте:

http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx

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

C:\>PsGetSid

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for \\DYSERT-PC:

S-1-5-21-205299875-3125232665-432278398

По отображаемому номеру вы можете определить различные части SID; они разделены тире. В этом случае SID начинается с «S-1-5», что указывает номер версии структуры (1) и значение авторитетного идентификатора (5). Остальные числа — опять же, разделенные тире — это значения субавторитета.

Windows поставляется с некоторыми встроенными учетными записями, поэтому им уже назначены идентификаторы безопасности до того, как учетная запись пользователя будет добавлена. Среди встроенных учетных записей есть учетные записи администратора и гостя. Запуск PsGetSid для каждого из них показывает следующие назначения:

C:\>PsGetSid Administrator

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Administrator:

S-1-5-21-205299875-3125232665-432278398-500

C:\>PsGetSid Guest

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Guest:

S-1-5-21-205299875-3125232665-432278398-501

Как видите, Windows добавила номер к каждому идентификатору безопасности учетной записи (500 и 501), чтобы обеспечить их уникальность. Эти уникальные суффиксы называются относительными идентификаторами (RID). По мере добавления новых учетных записей идентификаторы RID начинаются с 1000 и при необходимости увеличиваются. Таким образом, запуск PsGetSid в учетной записи «Dysert» дает следующее:

C:\>PsGetSid Dysert

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Dysert:

S-1-5-21-205299875-3125232665-432278398-1000

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

http://technet.microsoft.com/en-us/sysinternals/bb896769.aspx

Вот результат работы инструмента:

C:\LogonSessions

Logonsesions v1.21 Copyright (C) 2004-2010 Bryce Cogswell and Mark Russinovich Sysinternals - wwww.sysinternals.com

[6] Logon session 00000000:00468835:

User name:    Dysert-PC\Dysert     Auth package: NTLM     Logon type:   Interactive     Session:      1     Sid:          S-1-5-21-205299875-3125232665-432278398-1000     Logon time:   4/11/2014 3:20:29 AM     Logon server: DYSERT-PC     DNS Domain:

UPN:

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

C:\>PsGetSid \Administrators

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for \Administrators:

S-1-5-32-544

Если по какой-то причине вы не хотите использовать инструмент PsGetSid, вы все равно можете получить информацию о SID из встроенной утилиты wmic. В командной строке введите «wmic useraccount получить имя, sid» (без кавычек). Появится следующий результат:

C:\wmic useraccount get name,sid Name           SID Administrator  S-1-5-21-205299875-3125232665-432278398-500 ASPNET         S-1-5-21-205299875-3125232665-432278398-1003 Dysert         S-1-5-21-205299875-3125232665-432278398-1000 Guest          S-1-5-21-205299875-3125232665-432278398-501 SQLDebugger    S-1-5-21-205299875-3125232665-432278398-1007

Этот совет (13106) применим к Windows 7, 8 и 10.