ÀÌ ¹®¼¿¡¼´Â »ç¿ëÀÚÀÇ ÁÖ ±×·ì ±¸¼º¿øÀ» È®ÀÎÇÏ·Á¸é ±âº» Active Directory ¼ºñ½º ÀÎÅÍÆäÀ̽º (ADSI) ±¸¼º ¿ä¼Ò¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
Active DirectoryÀÇ »ç¿ëÀÚ °³Ã¼¿¡ ´ëÇÑ ±âº» ±×·ì ÀúÀå
¸ðµç º¸¾È ÄÁÅØ½ºÆ® °³Ã¼ (¿¹: »ç¿ëÀÚ ¹× º¸¾È ±×·ì) Active DirectoryÀÇ °ü·ÃµÈ º¸¾È ½Äº°ÀÚ (SID) Ư¼ºÀÌ ÀÖ½À´Ï´Ù. SID "SID ±¸¼º ¿ä¼Ò" ÂüÁ¶°¡ ¹®¼ÀÇ "ÂüÁ¶" Àý¿¡ ¼³¸íµÈ ¹Ù¿Í °°ÀÌ ¿©·¯ °¡Áö ±¸¼º ¿ä¼Ò°¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ±¸¼º ¿ä¼Ò¿¡ ´ëÇÑ SID Áß µÎ µµ¸ÞÀÎ »ó´ë ½Äº°ÀÚ (RID) ¹× RID ƯÁ¤ µµ¸ÞÀÎ ³»ÀÇ °³Ã¼¿¡ ÀÖ½À´Ï´Ù.
»ç¿ëÀÚÀÇ ÁÖ ±×·ìÀº »ç¿ëÀÚ °³Ã¼ÀÇ
PrimaryGroupID Ư¼º¿¡ »ç¿ëÀÚÀÇ µµ¸ÞÀο¡ ÀÖ´Â ±×·ìÀÇ RID) ·Î ÀúÀåµË´Ï´Ù. »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀº »ç¿ëÀÚ, µ¿ÀÏÇÑ µµ¸ÞÀο¡ Á¸ÀçÇÏ´Â ±×·ì °æ¿ì¿¡¸¸ ¼ö ÀÖÀ¸¸ç, ÀÌ ±×·ì¿¡ »ç¿ëÀÚ°¡ ±¸¼º¿øÀÎ ±×·ì¿¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¶ÇÇÑ ÀÌ
±×·ì °³Ã¼¸¦ Active Directory¿¡¼ µµ¸ÞÀÎ ³»¿¡¼ ÀÌ ±×·ìÀÇ RID ÀúÀåÇÏ´Â
PrimaryGroupToken, ¶ó´Â Ư¼ºÀÌ ÀÖ½À´Ï´Ù.
Windows NT ¹× °æ·® µð·ºÅ͸® ¾×¼¼½º ÇÁ·ÎÅäÄÝ (LDAP) °ø±ÞÀÚ¸¦ ÇÁ·Î±×·¡¸Ó°¡ »ç¿ëÀÚ°¡ ±¸¼º¿øÀÎ ±×·ì¿¡ RID
PrimaryGroupID Ư¼º °ªÀ» ¼³Á¤ÇÏ¿© »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. »ç¿ëÀÚ ±×·ìÀÇ ±¸¼º¿øÀÎ °æ¿ì ±×·ì RID »ç¿ëÀÚÀÇ
PrimaryGroupID ¼³Á¤ÇÒ ¼ö ¾ø½À´Ï´Ù.
ÁÖ ±×·ìÀ» Windows NT °ø±ÞÀÚ°¡ ADSI¿¡¼ »ç¿ëÇÏ´Â °æ¿ì »ç¿ëÀÚÀÇ
IADsUser::Groups Ä÷º¼ÇÀÇ Ç׸ñÀ¸·Î Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
LDAP °ø±ÞÀÚ¸¦ »ç¿ëÇÏ¿© ÁÖ ±×·ìÀ»
¾ÊÀºIADsUser::Groups Ä÷º¼ÇÀÇ Ç׸ñÀÌ Æ÷ÇÔµÈ ¶Ç´Â °ÍÀÔ´Ï´Ù ¾Æ´Õ´Ï´Ù µð·ºÅ͸®¿¡¼ »ç¿ëÀÚ °³Ã¼
MemberOf Ư¼º ±×·ìÀÇ °íÀ¯ À̸§ (DN) ºÎºÐÀ».
PrimaryGroupID ±×·ìÀÇ RID »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀº LDAP »ç¿ëÀÚ °³Ã¼°¡ ÂüÁ¶µÇ´Â À¯ÀÏÇÑ °÷ÀÔ´Ï´Ù.
µÎ °ø±ÞÀÚ´Â »ç¿ëÀÚ°¡ ÇØ´ç »ç¿ëÀÚ °³Ã¼¿¡ ´ëÇÑ ±âº» ±×·ì À̸§ È®ÀÎ ¸ÞÄ¿´ÏÁòÀ» Á¤ÀÇÇÕ´Ï´Ù. ¹®Á¦°¡ °¢ °ø±ÞÀÚ°¡ Á¦°øÇÏ´Â °¢ ±×·ì °³Ã¼ÀÇ ´Ù¸¥ Ư¼º ÁýÇÕÀ» ´ÙÀ½°ú °°ÀÌ Áö¿øÇÏ´Â ÆÑÆ®¿¡ ÀÇÇØ ´õ¿í º¹ÀâÇÑ ÀÌ·ç¾îÁý´Ï´Ù.
- Windows NT Á¦°øÇÑ ±×·ì °³Ã¼°¡ PrimaryGroupToken Ư¼ºÀ» Áö¿øÇÏÁö ¾ÊÀ¸¸ç ´Ù¸¥ ¹æ¹ýÀ¸·Î ³×ÀÌÆ¼ºê ADSI Äڵ带 »ç¿ëÇÏ¿© ±×·ìÀÇ RID °Ë»öÇÒ Windows NT °ø±ÞÀÚ°¡ Áö¿øÇÏÁö.
- LDAP °ø±ÞÀÚ ±×·ì °³Ã¼ÀÇ PrimaryGroupToken Ư¼ºÀº °è»êµÈ Ư¼ºÀÔ´Ï´Ù. ÀÌ Æ¯¼ºÀº ±×·ì °³Ã¼ÀÇ µð·ºÅ͸®¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. IADs::GetInfoEx ¸Þ¼µå È£Ãâ »ç¿ëÇÏ¿© Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ¿äûµÈ Ư¼ºÀÌ ½ÇÁ¦·Î ¸¸µé¾îÁý´Ï´Ù. Active DirectoryÀÇ »ý¼ºµÈ Ư¼ºÀ» ±âÁØÀ¸·Î LDAP °Ë»öÀ» ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼ ÁÖ ±×·ìÀ» °áÁ¤ÇÏ´Â »ç¿ëÀÚ °³Ã¼ PrimaryGroupID Ư¼º¿¡ ÀÏÄ¡ÇÏ´Â PrimaryGroupToken Ư¼ºÀ» ±â¹ÝÀ¸·Î ±×·ì¿¡ ´ëÇÑ LDAP °ø±ÞÀÚ¸¦ »ç¿ëÇÏ¿© °Ë»öÇÒ ¼ö ¾ø½À´Ï´Ù. ÀÌ ¶ÇÇÑ ÁÖ ±×·ìÀ» °áÁ¤ÇÏ´Â µ¥ µµ¿òÀÌ µÇ´Â ¿ÜºÎ COM °³Ã¼¿¡ Á¾¼ÓµÇÁö ¾Ê½À´Ï´Ù ¼ø¼ö ADSI ¼Ö·ç¼ÇÀ» üũ ±ÔÄ¢.
»ç¿ëÀÚÀÇ ÁÖ ±×·ìÀ» È®ÀÎÇÏ´Â ¹æ¹ý
´ÙÀ½°ú °°Àº ¼¼ °¡Áö ¾Ë·ÁÁøµÈ ¹æ¹ýÀ» »ç¿ëÀÚ°¡ ÁÖ ±×·ìÀÇ À̸§À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
- ÀÖ´Â SID¸¦ »ç¿ëÀÚÀÇ SID ¹× ±×·ìÀÇ RID »ç¿ëÀÚ °³Ã¼ÀÇ PrimaryGroupID Ư¼º¿¡ ÀúÀåµÈ µµ¸ÞÀÎ RID ±¸¼º ¿ä¼Ò¿¡¼ Active DirectoryÀÇ ±×·ì °³Ã¼¿¡ ´ëÇÑ ¹ÙÀεù ¹®ÀÚ¿À» ºôµåÇϽʽÿÀ.
ÀÌ Microsoft ±â¼ú ÀÚ·á ¹®¼ (ÀÌ ¹®¼ÀÇ "ÂüÁ¶" Àý¿¡ Æ÷ÇÔµÈ) Q297951¿¡¼ ¿¡¼ ¼³¸íÇÑ ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ ¸Þ¼µå´Â ÁÖ¿ä ¹®Á¦°¡ SID ¹ÙÀεù ¹®ÀÚ¿À» ÀÛ¼ºÇÒ ¼ö ÇÁ·Î±×·¡¸Ó°¡ ADsSID °³Ã¼ÀÇ SDDL ¾ç½Ä¿¡ µµ¸ÞÀÎ °³Ã¼ÀÇ ÀÌÁø º¸¾È ¼³¸íÀÚ¸¦ º¯È¯ÇÒ ÀÇÁ¸ÇØ¾ß ÇÏ´Â °ÍÀÌ ÀÖ½À´Ï´Ù. ADsSID °³Ã¼´Â º¹»çÇÑ ´ÙÀ½ Äڵ带 ¼º°øÀûÀ¸·Î ½ÇÇàÇϱâ Àü¿¡ Ŭ¶óÀÌ¾ðÆ®¿¡ µî·ÏµÈ ÇÕ´Ï´Ù ¼ö ADsSecurity.dll ÆÄÀÏ¿¡ ÀÇÇØ È£½ºÆÃµË´Ï´Ù. - LDAP Äõ¸®¸¦ »ç¿ëÇÏ¿© µµ¸ÞÀÎÀÇ ¸ðµç ±×·ìÀ» °Ë»öÇϰí PrimaryGroupToken Ư¼ºÀ» ¹ÝȯÇÕ´Ï´Ù.
ÀÌ ¸Þ¼µå´Â ¼ø¼ö LDAP ¼Ö·ç¼ÇÀÔ´Ï´Ù. ±×·¯³ª ÀÌ °Ë»ö µµ¸ÞÀο¡ °æ¿ì¿¡µµ »ç¿ëÀÚ°¡; ±¸¼º¿øÀÌ ¾Æ´Ï¹Ç·Î ÀÌ °Ë»ö ·¹ÄÚµå ÁýÇÕÀÇ Åë°úÇÑ °°ÀÌ PrimaryGroupToken Ư¼º Ŭ¶óÀÌ¾ðÆ®¿¡¼ »ý¼ºµÇ±â ¶§¹®¿¡ ¸Å¿ì ´À¸³´Ï´Ù ¸ðµç ±×·ì ¹ÝȯÇϱ⠶§¹®¿¡ ½ºÅ©¸³ÆÃµÈ ¼Ö·ç¼ÇÀÌ ¸Å¿ì È¿À²ÀûÀÎ ¾Æ´Õ´Ï´Ù. ÀÌ ¹æ¹ýÀº ƯÈ÷ ½Ã°£ÀÌ ¸¹ÀÌ ÀÖ´Â °æ¿ì µµ¸ÞÀÎÀÇ ±×·ì ¸¹Àº ¼öÀÇ µÉ ¼ö ÀÖ½À´Ï´Ù. LDAP ¾ð¾î¸¦ ADO Äõ¸®¸¦ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇÑ ¿¹Á¦¸¦ ¾îµð¿£°¡, ¹× ÀÌ ¹®¼¿¡¼ Æ÷ÇÔµÇÁö ¾ÊÀº µû¶ó¼. - ÇÏÀ̺긮µå ¼Ö·ç¼ÇÀ» ±¸ÃàÇϱâ À§ÇØ °¢ °ø±ÞÀÚÀÇ ±â´ÉÀ» Ȱ¿ëÇÕ´Ï´Ù.
ÀÌ ¼Ö·ç¼ÇÀº »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀ» È®ÀÎÇÏ·Á¸é ´Ù¸¥ °ø±ÞÀÚ ±â´ÉÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÇϽʽÿÀ.- Windows NT °ø±ÞÀÚ¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ °³Ã¼¿¡ ¹ÙÀεùÇϽʽÿÀ.
Windows NT »ç¿ëÀÚ °³Ã¼¸¦ »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀ» Æ÷ÇÔÇϵµ·Ï º¸ÀåµÇ´Â ±×·ì Ä÷º¼ÇÀ» Á¦°øÇÕ´Ï´Ù. ¶ÇÇÑ »ç¿ëÀÚ °³Ã¼ÀÇ PrimaryGroupID ¹Ù·Î ÀÌ ¾Ë°í¸®ÁòÀº ³ªÁß¿¡ »ç¿ëÇϱâ À§ÇØ Àӽà À§Ä¡¿¡ ÀúÀåµË´Ï´Ù. - IADsUser::Groups Ä÷º¼ÇÀ» ¿°ÅÇϽʽÿÀ.
- ÀÌ Ä÷º¼ÇÀÇ °¢ ±×·ì¿¡ ´ëÇØ ADsPath SamAccountName ¼Ó¼ºÀ» ÃßÃâÇÏ´Â ¹× PrimaryGroupToken ¹× DistinguishedName Ư¼º °ªÀ» ¹ÝȯÇÏ´Â ÀÌ Ä÷º¼Ç¿¡ ³ª¿µÈ SamAccountName ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ¸ðµç ±×·ì¿¡ ´ëÇØ °Ë»öÇÒ ¼ö ÀÖ´Â LDAP ¾ð¾î¸¦ Äõ¸® ¹®ÀÚ¿À» ºôµåÇϽʽÿÀ.
- ADO ADSI °Ë»öÀ» ½ÇÇàÇÏ°í °¢ ±×·ì PrimaryGroupTokenPrimaryGroupID Ư¼º °ªÀÌ ÀÌÀü¿¡ ij½ÃµÈ ºñ±³ ·¹ÄÚµå ÁýÇÕÀ» ÅëÇØ ·çÇÁ.
- ÀÏÄ¡ÇÏ´Â Ç׸ñÀ» ãÀ¸¸é ÁßÁöÇϰí ÀÌ »ç¿ëÀÚÀÇ ÁÖ ±×·ìÀº ÀÌ ±×·ì¿¡ ´ëÇÑ °íÀ¯ À̸§À» Ç¥½ÃÇϽʽÿÀ.
- ÀÏÄ¡ÇÏ´Â Ç׸ñÀÇ Ã£À» °æ¿ì °Ë»ö °á°ú¸¦ ÅëÇØ ·çÇÎ °è¼ÓÇϽʽÿÀ.
ÀÌ ¹æ¹ýÀÇ ÀåÁ¡Àº Áï½Ã ¸íÈ®ÇÕ´Ï´Ù. ¸ðµç °³Ã¼¸¦ »ç¿ëÇÒ ¼ö ADSI ³×ÀÌÆ¼ºê ¹× Ãß°¡ ±¸¼º ¿ä¼Ò°¡ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ ¿°ÅÇü ÁÖ ±×·ìÀÇ ¾ÊÀ» ±×·ìÀ» Æ÷ÇÔÇÕ´Ï´Ù.
±×·¯³ª ´ÙÀ½°ú °°Àº ´ÜÁ¡ÀÌ ÀÖ½À´Ï´Ù: IADsUser::Groups Ä÷º¼ÇÀ» ¿°ÅÇÒ ¶§ ¹ÝȯµÈ ±×·ìÀÇ ±¸¼º¿ø¿¡°Ô IAD ÀÎÅÍÆäÀ̽ºÀÇ °³Ã¼ÀÔ´Ï´Ù. ¾î¶² ÀÌÀ¯·Î ¿°Å¸¦ ¼öÇàÇÏ´Â »ç¿ëÀÚ°¡ ƯÁ¤ °³Ã¼¸¦ ¿©´Â µ¥ ÇÊ¿äÇÑ »ç¿ë ±ÇÇÑÀÌ ¾ø´Â °æ¿ì ¿À·ù¸¦ ³ªÅ¸³»Áö ¾Ê°í ¿°Å°¡ ÁßÁöµË´Ï´Ù. ´ÙÀ½ Äڵ忡¼´Â ¾ÕÀÇ ¾Ë°í¸®ÁòÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù.
dim oUsr
dim oGrp
'
' ToDo: Change the following variables to specific values for your domain.
'
DomainName = "myDomain"
UserLoginName = "myUserLoginName"
'
' Bind to the user object with the Windows NT provider.
'
set oUsr = GetObject("WinNT://" & DomainName & "/" & UserLoginName & ",user")
set grp = oUsr.Groups
GrpID = oUsr.PrimaryGroupID
GrpName = ""
'
' Building Query Filter for the search for all the groups that the user is a member of.
'
QueryFilter = "(|"
for each Item in Grp
NT4Name = replace(Item.ADsPath,"WinNT://","")
tempArray = split(nt4Name,"/")
NT4Name = tempArray(1)
QueryFilter = QueryFilter & "(samAccountName=" & NT4Name & ")"
next
QueryFilter = QueryFilter & ")"
'
' Building LDAP dialect Query String.
'
QueryString = "<LDAP://" & DomainName & ">;" & QueryFilter & ";PrimaryGroupToken,distinguishedName;subtree"
'
' Performing Query against the Active Directory for all the groups that
' the user belongs to and retrieving the RID of the group object off
' the PrimaryGroupToken attribute on the user.
'
Dim oConnection, oCommand, oRecordset
Set oConnection = CreateObject("ADODB.Connection")
Set oCommand = CreateObject("ADODB.Command")
oConnection.Provider = "ADsDSOObject"
oConnection.Open "Active Directory Provider"
Set oCommand.ActiveConnection = oConnection
oCommand.CommandText = QueryString
oCommand.Properties("Page Size") = 900
Set oRecordset = oCommand.Execute
'
' Looping through all the records in the search result to determine whether
' any of these group's PrimaryGroupToken attribute value match the
' PrimaryGroupID attribute value stored on the user object.
'
While ((NOT oRecordset.EOF) and (Not bGroupFound))
if (GrpID = oRecordset.Fields("PrimaryGroupToken").value) then
GrpName = oRecordset.Fields("DistinguishedName").Value
bGroupFound = True
End If
oRecordset.moveNext
Wend
Set oRecordset = Nothing
Set oCommand = Nothing
Set oConnection = Nothing
'
' Displaying Results of the search.
'
if( bGroupFound ) then
WScript.Echo "Primary Group for " & oUsr.AdsPath
WScript.Echo "Is: " & GrpName
else
WScript.Echo "Primary Group Not Found"
end if
Ãß°¡ Á¤º¸´Â ´ÙÀ½ ¹®¼ ¹øÈ£¸¦ Ŭ¸¯ÇÏ¿© Microsoft ±â¼ú ÀÚ·á¿¡¼ È®ÀÎÇϽʽÿÀ:
297951
(http://support.microsoft.com/kb/297951/
)
PrimaryGroupID Ư¼ºÀ» »ç¿ëÇÏ¿© »ç¿ëÀÚ¿¡ ´ëÇÑ ±âº» ±×·ì ã±â ¹æ¹ý
±â¼ú ÀÚ·á: 321360 - ¸¶Áö¸· °ËÅä: 2008³â 3¿ù 3ÀÏ ¿ù¿äÀÏ - ¼öÁ¤: 5.0
º» ¹®¼ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
- Microsoft Windows Server 2003, Standard Edition (32-bit x86)
- Microsoft Windows 2000 Server
- Microsoft Active Directory Service Interfaces 2.5
- Microsoft Active Directory Client Extension
| kbmt kbdswadsi2003swept kbinfo KB321360 KbMtko |
±â°è ¹ø¿ªµÈ ¹®¼Áß¿ä: º» ¹®¼´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼ ¹× ±â°è ¹ø¿ªµÈ ¹®¼¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼ ±â°è ¹ø¿ª ¹®¼¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.