Как прописать windows sid

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

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

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

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

Этой же командой можно извлечь SID любого локального пользователя, подставив на место переменной %username% его имя.

Аналогичный результат можно получить с помощью консоли PowerShell , только на этот раз придётся выполнить целых три команды, заменив предварительно USERNAME именем реального пользователя. Вот так:

Точно также просто можно узнать идентификатор безопасности текущего доменного пользователя. В командной строке он извлекается командой whoami /user

А вот как быть, если вам нужно проделать всё наоборот, то есть по имеющемуся SID узнать имя пользователя? И тут всё очень просто. Для этого в запущенной с повышенными привилегиями командной строке выполняем команду wmic useraccount where sid=’S-XXXXXXXXX’ get name , где S-XXXXXXXXX — известный вам идентификатор.

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

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

Читайте также:  Windows 10 произошла ошибка при распаковке не совпадает контрольная сумма

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

На мой взгляд, проще всего для преобразования SID -> Username и Username -> SID проще всего воспользоваться командами командной строки или несложными командлетами PowerShell:

Как получить 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

С помощью двух .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 пользователя или группы в домене 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:

Get-ADUser -Identity ‘jjsmith’ | select SID

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

Get-ADGroup -Filter | 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?

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

wmic useraccount where sid=’S-1-3-12-12452343106-3544442455-30354867-1434′ get name

На PowerShell получить имя пользователя по его SID можно с помощью модуля 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

Также можно узнать SD группу и пользователя с помощью встроенных классов 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 (параметр IncludeDeletedObjects позволяет искать по удаленным объектам AD в корзине).

Читайте также:  Pinging linux from windows

$sid = ‘S-1-5-21-2470146651-3951111111-2989411117-11119501’
Get-ADObject –IncludeDeletedObjects -Filter «objectSid -eq ‘$sid'» | Select-Object name, objectClass

SID

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

Как изменить SID в Windows 7 и Windows Server 2008 R2 с помощью sysprep

Недавно я уже писал, как проверить SID на Windows 7 и Windows Server 2008 R2, сегодня я расскажу вам о том, как изменить SID на Windows Server 2008 R2 и Windows 7 с помощью Sysprep. Ранее для изменения SID применялась утилита NewSID, однако сейчас ее использование е поддерживается
Microsoft, кроме того, использовать ее в новых ОС, типа Windows Server 2008 R2, просто опасно. Поэтому для изменения SID вашего ПК лучше всего использовать sysprep, использовать эту утилиту достаточно просто, и далее я опишу всю последовательность шагов.

Работу Sysprep я протестировал в Windows Server 2008 R2, а также в Windows7.

Во-первых, нажмите кнопку Пуск->Run, наберите Sysprep и нажмите OK.

В результате откроется папка , расположенная в каталоге c:\Windows\System32. Запустите приложение sysprep.exe.

Перед вами появится окно System Preparation Tool 3.14. В качестве действия по очистке системы выберите Enter System Out-of-Box Experience (OOBE) . Если вы хотите изменить SID, то выберите опцию Generalize (внимание: она не выбрана по умолчанию). В качестве опции отключении (Shutdown Options) выберите Reboot
(перезагрузка).

Выполнение процедуры sysprep займет некоторое время.

После перезагрузки вам придется указать ряд настроек, такие как страна, регион, время, дата и тип раскладки клавиатуры.

Кроме того, вам придется принять (ну или отклонить 🙂 ) лицензионное соглашение (EULA). Это все. После загрузки в консоли Server Manager вы можете убедиться, что все настройки изменились.

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

SID пользователя в Windows: Что это такое и как его узнать

Вы наверняка пытались управлять разрешениями определенных файлов, папок или часто просматриваете реестр Windows, то может показаться, что вы видели некоторые строковые значения типа S-1-5-21-281723897-98365329832-7382047462- 600. Эти значения известны как идентификаторы безопасности или SID. Давайте разберем, что такое SID пользователя в Windows 10 и какие способы его узнать.

Что такое SID пользователя в Windows?

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

Читайте также:  Linux samba удалить пользователя

Как узнать SID пользователя в Windows с помощью cmd

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

  1. Имя SID используемое в настоящее время: введите команду whoami /user и нажмите Enter.
  2. Имя SID определенного пользователя: введите в командую строку wmic useraccount where name=»хомячок» get name,sid . Где «хомячок» — это фактическое имя пользователя.
  3. Все SID пользователей в Windows: введите wmic useraccount get name,sid .

Как найти идентификатор безопасности (SID) пользователя в Windows

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

Найти идентификатор безопасности (SID)

1: Использование WMIC

Прежде всего запустим комндную строку. Если у Вас Windows 10 в окне поиска нужно набрать “Командная строка” или “cmd”. Если Windows 8, нажмите комбинацию кнопок WINKEY + X , чтобы запустить контекстное меню кнопки «Пуск» и нажать «Командная строка» («Администратор»).

Теперь введите следующую команду:

и нажмите клавишу Enter

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

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

где USER – имя интересующего нас пользователя.

2: Использование редактора реестра

Для начала запустите редактор реестра. Вы можете сделать это набрав “regedit” в поле поиска или в строке ввода после нажатия WINKEY + Х.
После того как вы открыли редактор реестра, перейдите к следующему пути

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

Основные идентификаторы безопасности

SID в формате S-1-0-0 называется NULD SID. Он присваивается, когда его значение неизвестно или оно назначается группе без каких-либо членов.

SID в формате S-1-1-0 является общим SID. Он присваивается каждому пользователю.

Наконец, SID в формате S-1-2-0 называется локальным SID. Он назначается пользователю, который должен войти в систему локально.

Оцените статью