Người dùng được xác định trong Hệ điều hành Windows không phải bằng tên, mà bằng số nhận dạng bảo mật đặc biệt hoặc Mã nhận dạng bảo mật - SID. Giải pháp của bài toán xác định SID của người dùng được chọn không yêu cầu sử dụng phần mềm bổ sung và được thực hiện bằng các phương tiện tiêu chuẩn của hệ thống.
Hướng dẫn
Bước 1
Gọi menu hệ thống chính bằng cách nhấp vào nút "Bắt đầu" và chuyển đến hộp thoại "Chạy". Nhập regedit vào dòng "Mở" và xác nhận việc khởi chạy tiện ích Registry Editor bằng cách nhấp vào nút OK. Mở rộng chi nhánh
HKEY_LOCAL_MACHINE / Software / Microsoft / WindowsNT / CurrentVersion / ProfileList
và tìm tất cả ID người dùng (SID). Đi tới khóa ProfikeImagePath và tìm giá trị tên người dùng SID tương ứng. Thoát tiện ích Registry Editor.
Bước 2
Thao tác ngược lại, khi SID của người dùng được biết và yêu cầu xác định tên tài khoản của anh ta, có thể được thực hiện bằng lệnh reg.exe. Trong trường hợp này, cú pháp lệnh trông giống như sau:
truy vấn reg HKEY_LOCAL_MACHINE / Software / Microsoft / WindowsNT / CurrentVersion / ProfileList / ProfileImagePath.
Bước 3
Sử dụng tiện ích GetSID tích hợp sẵn để xác định mã định danh duy nhất cho người dùng đã chọn. Cú pháp lệnh giống như sau:
drive_name: > getid
Cách sử dụng: getid / server1 account / server2 account.
Bước 4
Một phương pháp thay thế để lấy SID của người dùng mong muốn theo chương trình là sử dụng lớp SecurityIdentifier trong. NET Framework 2.0. Trong trường hợp này, số nhận dạng có thể được hiển thị dưới dạng một chuỗi, một mảng byte hoặc kết hợp các giá trị WellKnownSidType và miền SID. Một điều kiện bổ sung để có được kết quả mong muốn là một cuộc gọi đến lớp WindowsIdentity. Cú pháp của một lệnh như vậy trông giống như sau:
sử dụng Hệ thống;
sử dụng System. Security. Principal;
không gian tên GetSID
{
chương trình lớp học
{
static void Main (string args)
{
WindowsIdentity wid = Windowsidentity. GetCurrent ();
Console. WriteLine (wid. Name + SID là 0, wid. User. Value);
Console. Read ();
} } }.