Mỗi tài khoản người dùng trên hệ thống của bạn đều có Windows SID (Định danh bảo mật) tự động được gán cho nó. SID được sử dụng cho tất cả các thực thể được sử dụng trong hệ thống máy tính, tức là SID được chỉ định cho máy, tài khoản miền, người dùng và nhóm bảo mật. Những tên có thể đọc được của con người tương ứng với SIDs ở đó để làm cho mọi thứ dễ dàng hơn khi quản trị hệ thống. Ví dụ: bạn có thể thay đổi tên của người dùng, nhưng SID không thay đổi. Do đó, bạn không phải lo lắng về việc đi qua các danh sách kiểm soát truy cập khác nhau để cập nhật chúng cho tên mới, vì SID cơ bản không thay đổi.

SID là các giá trị số có độ dài khác nhau. Chúng bao gồm một số sửa đổi cấu trúc, một giá trị thẩm quyền nhận dạng và một số giá trị cấp quyền phụ có thể thay đổi. Các giá trị ủy quyền phụ cung cấp phương tiện mà theo đó Windows có thể tạo các SID duy nhất dựa trên một SID cơ sở chung.

Có một công cụ miễn phí tuyệt vời từ Sysinternals tên là PsGetSid, bạn có thể lấy từ trang này:

http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx

Khi bạn chạy PsGetSid không có tham số, bạn sẽ nhận được SID của máy tính hiện tại:

C:\>PsGetSid

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for \\DYSERT-PC:

S-1-5-21-205299875-3125232665-432278398

Từ số được hiển thị, bạn có thể xác định các phần khác nhau của SID; chúng được phân tách bằng dấu gạch ngang. Trong trường hợp này, SID bắt đầu bằng “S-1-5”, cho biết số sửa đổi cấu trúc (1) và giá trị cơ quan nhận dạng (5). Các số còn lại — một lần nữa, mỗi số được phân tách bằng dấu gạch ngang — là các giá trị cấp độ phụ.

Windows cung cấp một số tài khoản tích hợp sẵn, vì vậy những tài khoản này đã được gán SID cho chúng trước khi tài khoản người dùng được thêm vào. Trong số các tài khoản tích hợp có tài khoản dành cho Quản trị viên và Khách. Chạy PsGetSid đối với từng thứ này sẽ tiết lộ các nhiệm vụ sau:

C:\>PsGetSid Administrator

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Administrator:

S-1-5-21-205299875-3125232665-432278398-500

C:\>PsGetSid Guest

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Guest:

S-1-5-21-205299875-3125232665-432278398-501

Như bạn có thể thấy, Windows đã thêm một số vào mỗi SID của tài khoản (500 và 501) để đảm bảo tính duy nhất của chúng. Các hậu tố duy nhất này được gọi là Số nhận dạng tương đối (RID). Khi các tài khoản mới được thêm vào, RID bắt đầu ở mức 1000 và được tăng lên khi cần thiết. Vì vậy, chạy PsGetSid trên tài khoản “Dysert” dẫn đến kết quả này:

C:\>PsGetSid Dysert

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for Dysert-PC\Dysert:

S-1-5-21-205299875-3125232665-432278398-1000

Để xác minh rằng SID này được liên kết với đăng nhập của tôi, tôi có thể sử dụng một công cụ Sysinternals khác có tên LogonSession, có sẵn tại đây:

http://technet.microsoft.com/en-us/sysinternals/bb896769.aspx

Đây là kết quả được tạo ra bởi công cụ:

C:\LogonSessions

Logonsesions v1.21 Copyright (C) 2004-2010 Bryce Cogswell and Mark Russinovich Sysinternals - wwww.sysinternals.com

[6] Logon session 00000000:00468835:

User name:    Dysert-PC\Dysert     Auth package: NTLM     Logon type:   Interactive     Session:      1     Sid:          S-1-5-21-205299875-3125232665-432278398-1000     Logon time:   4/11/2014 3:20:29 AM     Logon server: DYSERT-PC     DNS Domain:

UPN:

SID cũng được chỉ định cho các nhóm. SID được gán cho nhóm Quản trị viên có thể được lấy theo cách này:

C:\>PsGetSid \Administrators

PsGetSid v1.44 - Translates SIDs to names and vice versa Copyright (C) 1999-2008 Mark Russinovich Sysinternals - www.sysinternals.com

SID for \Administrators:

S-1-5-32-544

Nếu vì lý do nào đó, bạn không muốn sử dụng công cụ PsGetSid, bạn vẫn có thể lấy thông tin SID từ tiện ích tích hợp, wmic. Từ dòng lệnh, gõ “wmic useraccount get name, sid” (không có dấu ngoặc kép). Kết quả sau sẽ xuất hiện:

C:\wmic useraccount get name,sid Name           SID Administrator  S-1-5-21-205299875-3125232665-432278398-500 ASPNET         S-1-5-21-205299875-3125232665-432278398-1003 Dysert         S-1-5-21-205299875-3125232665-432278398-1000 Guest          S-1-5-21-205299875-3125232665-432278398-501 SQLDebugger    S-1-5-21-205299875-3125232665-432278398-1007

Mẹo này (13106) áp dụng cho Windows 7, 8 và 10.