Инструкция
1
Вызовите главное системное меню, нажав кнопку «Пуск», и перейдите в диалог «Выполнить». Напечатайте regedit в строке «Открыть» и подтвердите запуск утилиты редактора реестра, нажав кнопку OK. Раскройте ветку
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ProfileList
и найдите все идентификаторы пользователей (SID). Перейдите в ключ ProfikeImagePath и найдите соответствующее SID значение имени пользователя. Завершите работу утилиты редактора реестра.
2
Обратная операция, когда известен SID пользователя и требуется определить имя его учетной записи, может быть выполнена с использованием команды reg.exe. В этом случае синтаксис команды выглядит как:
reg query HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\ProfileList\\ProfileImagePath.
3
Воспользуйтесь встроенной утилитой GetSID, позволяющей определить уникальный идентификатор выбранного пользователя. Синтаксис команды выглядит как:
имя_диска:\>getsid
Usage: getsid \\server1 account \\server2 account.
4
Альтернативным методом программного получения SID нужного пользователя может стать использование класса SecurityIdentifier в .NET Framework 2.0. В этом случае идентификатор может отображаться как строка, массив байтов или комбинация значений WellKnownSidType и SID домена. Дополнительным условием получения нужного результата является обращение к классу WindowsIdentity. Синтаксис такой команды выглядит как:
using System;
using System.Security.Principal;
namespace GetSID
{
class Program
{
static void Main (string[] args)
{
WindowsIdentity wid = Windowsidentity.GetCurrent();
Console.WriteLine(wid.Name + SID is 0, wid.User.Value);
Console.Read();
}
}
}.