GUID 와 SID 는 특정 Object에 대한 구분을 위해 Windows 내부에서 사용하는 ID 입니다.
GUID의 경우 객체에 할당이 되면 절대 변하지 않지만 SID의 경우 포레스트 에서 도메인간 이동이 있을때 변경이 있을 수 있습니다.
Windows 에서 SID를 사용하는 이유는 NT4와의 호환성 때문입니다.
[Name Format]
Constant |
Value |
Description |
ADS_NAME_TYPE_1779 |
1 |
Name format as specified in RFC 1779. For example, "CN=Jeff Smith,CN=users,DC=Fabrikam,DC=com". |
ADS_NAME_TYPE_CANONICAL |
2 |
Canonical name format. For example, Fabrikam.com/Users/Jeff Smith". |
ADS_NAME_TYPE_NT4 |
3 |
Account name format used in Windows NT 4.0. For example, "Fabrikam\JeffSmith". |
ADS_NAME_TYPE_DISPLAY |
4 |
Display name format. For example, "Jeff Smith". |
ADS_NAME_TYPE_DOMAIN_SIMPLE |
5 |
Simple domain name format. For example, "JeffSmith@Fabrikam.com". |
ADS_NAME_TYPE_ENTERPRISE_SIMPLE |
6 |
Simple enterprise name format. For example, "JeffSmith@Fabrikam.com". |
ADS_NAME_TYPE_GUID |
7 |
Global Unique Identifier format. For example, "{95ee9fff-3436-11d1-b2b0-d15ae3ac8436}". |
ADS_NAME_TYPE_USER_PRINCIPAL_NAME |
9 |
User principal name format. For example, "JeffSmith@Fabrikam.com". |
ADS_NAME_TYPE_CANONICAL_EX |
10 |
Extended canonical name format. For example, "Fabrikam.com/Users Jeff Smith". |
ADS_NAME_TYPE_SERVICE_PRINCIPAL_NAME |
11 |
Service principal name format. For example, "www/www.fabrikam.com@fabrikam.com". |
[GUID 값 확인 하기]
위의 Name Format 을 알고 있으면 쉽게 사용자의 GUID를 알 수 있습니다.
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_GUID = 7
strUserName = "mskim\administrator"
Set objTranslator = CreateObject("NameTranslate")
objTranslator.Init ADS_NAME_INITTYPE_GC, ""
objTranslator.Set ADS_NAME_TYPE_NT4, strUserName
strUserGUID = objTranslator.Get(ADS_NAME_TYPE_GUID)
Wscript.Echo strUserGUID
[SID 값 확인 하기]
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='administrator',Domain='mskim'")
Wscript.Echo objAccount.SID
[참고]
http://www.microsoft.com/technet/scriptcenter/resources/qanda/dec04/hey1203.mspx
http://www.microsoft.com/technet/scriptcenter/resources/qanda/aug07/hey0822.mspx
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_yicc.mspx?mfr=true