1] использование wmic
Найти SID или идентификатор безопасности пользователя очень просто. Для этого мы должны использовать командную строку инструментария управления Windows (WMIC).
Итак, прежде всего, начните с открытия командной строки. Вы можете сделать это, выполнив поиск Командная строка в окне поиска Cortana. Или, если вы используете Windows 8 или новее, нажмите комбинацию кнопок WINKEY X , чтобы открыть контекстное меню кнопки «Пуск», и нажмите Командная строка (администратор).
Теперь введите следующую команду:
3] используйте powershell
Другой способ найти SID для всех пользователей – использовать команду Get-WmiObject в PowerShell.
Откройте PowerShell и введите следующую команду:
4] использование редактора реестра
Здесь начнем с открытия редактора реестра. Вы можете сделать это, выполнив поиск в окне поиска Cortana, или просто нажмите комбинацию WINKEY R , чтобы запустить запуск, введите regedit и нажмите Enter.
Открыв редактор реестра, перейдите по следующему пути:
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. Он назначается пользователю, который должен войти в систему с локального терминала.
Как с помощью командной строки или powershell получить sid пользователя | белые окошки
При создании учётной записи пользователя, группы или присвоению имени компьютеру каждому из этих объектов Windows присваивает уникальный идентификационный идентификатор безопасности, именуемый Security Identifier или просто SID. И так как именно SID позволяет точно идентифицировать пользователя, для доступа к различным внутренним и внешним ресурсам Windows использует его.
Исключение составляют SIDы встроенных учётных записей, уже имеющихся в Windows — скрытого администратора и гостя. Независимо от версии системы, эти идентификаторы одинаковы во всех экземплярах Windows. Сие сделано специально, дабы администратор имел возможность централизовано управлять доступом при отсутствии доменной структуры.
При выполнении различных тонких настроек, применении твиков подобных тому действий у вас может возникнуть необходимость узнать SID пользователя по его имени. Сделать это можно разными путями, и здесь мы рассмотрим самые распространённые. Если нужно посмотреть SID текущего пользователя, самым лучшим решением будет использование консольной утилиты whoami.
Откройте командную строку и выполните в ней такую команду:
whoami /user
Если же вам нужно получить SID другого юзера, используем такую конструкцию с другой консольной утилитой wmic:
wmic useraccount where name='Злой кролик' get sid
Аналогичным образом можно узнать имя пользователя, зная его SID, указав его в качестве значения параметра name. По такому же принципу строятся другие запросы, например, в запрос можно вставить имя локального компьютера. Так можно получить SID администратора локального компьютера, используя оператор (равно =) и указав в качестве значения переменную %computername%, на место которой подставится имя компьютера.
wmic useraccount where (name='Администратор' and domain='%computername%') get sid
С задачей извлечения SID пользователя прекрасно справляется PowerShell, только его синтаксис может показаться не очень удобным.
Вот, этой командой мы получаем SID пользователя «Злой кролик»:
Get-WmiObject -Class win32_userAccount -Filter "name='Злой кролик'"
А можно и так, добавив в список фильтров имя компьютера (та же переменная %computername%):
(Get-WmiObject -Class win32_userAccount -Filter "name='Злой кролик' and domain='%computername%'").SID
Будьте внимательны, следите за кавычками. Не используйте наклонные или фигурные кавычки, все они должны быть прямыми.
Есть также и сторонние утилиты, позволяющие получить SID по имени и наоборот, например, PsGetSid, но раз с задачей справляются штатные инструменты самой Windows, приводить пример их использования в данном случае нам показалось излишним.
Найти sid всех пользователей с помощью командной строки или powershell
Откройте окно командной строки/PowerShell и введите следующую команду:
Найти sid конкретного пользователя с помощью commandprompt или powershell
Откройте командную строку/PowerShell и введите следующую команду:
Найти sid текущего пользователя с помощью командной строки или powershell
Откройте окно PowerShell/CMD и введите следующую команду:
Whoami/пользователь
Нажмите Ввод.
Найти имя пользователя sid с помощью командной строки или powershell
Откройте командную строку/PowerShell и введите следующую команду
Получить sid доменного пользователя
Узнать SID текущей доменной учетной записи можно командой:
Фильтрация sid для желаемого пользователя
Читатели, которые раньше использовали SQL-запросы, могут относиться к этому. Но эта команда помогает пользователю получить SID конкретного пользователя и игнорировать все хлопоты. Это наиболее полезно, когда большая система (например, сервер) входит в систему и используется одновременно несколькими пользователями, эта команда сэкономит много вашего времени. Но будет работать только если вы знаете имя пользователя пользователя.
Теперь команда, которую вы собираетесь использовать,