Ідентифікування користувачів в ОС Windows здійснюється не по іменах, а за спеціальними ідентифікаторами безпеки, або Security Identifier — SID. Рішення задачі визначення SID обраного користувача не вимагає використання додаткового програмного забезпечення і здійснюється стандартними засобами системи.
Інструкція
- Викличте головне системне меню, натиснувши кнопку «Пуск», і перейдіть в діалог «Виконати». Надрукуйте regedit в рядку «Відкрити» та підтвердіть запуск утиліти редактора реєстру, натиснувши кнопку OK. Розкрийте гілку
HKEY_LOCAL_MACHINE Software Microsoft WindowsNT CurrentVersion ProfileList
і знайдіть всі ідентифікатори користувачів (SID). Перейдіть в ключ ProfikeImagePath і знайдіть відповідне SID значення імені користувача. Завершіть роботу утиліти редактора реєстру.
- Зворотній операція, коли відомий SID користувача і потрібно визначити ім’я його облікового запису, може бути виконана з використанням команди reg.exe. В цьому випадку синтаксис команди виглядає як:
reg query HKEY_LOCAL_MACHINE Software Microsoft WindowsNT CurrentVersion ProfileListProfileImagePath.
- Скористайтеся вбудованої утилітою GetSID, що дозволяє визначити унікальний ідентифікатор обраного користувача. Синтаксис команди виглядає як:
ім’я_диска: > getsid
Usage: getsid server1 account server2 account.
- Альтернативним методом програмного отримання 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 ();
} } }.