이 VBS를 사용하여 한 그룹의 사용자 목록을 다른 그룹으로 이동합니다. 지금까지 너무 좋아. 나는 VB에 관해서 신참이다. 도전 과제는 20 개의 서로 다른 동기화 그룹 (Sync01-Sync20)과 20 개의 마이그레이션 그룹 (Mig01-Mig20)이 있다는 것입니다. 사용자가 속한 마녀 Sunc 그룹을 식별하는 코드의 확장이 필요합니다. 그런 다음 이것을 올바른 Mig 그룹으로 "변환"합니다. 어떤 사람? 당신이 원하는 모든이 correspondig 미그 그룹에 각 동기화 그룹에서 전송 그룹 구성원 인 경우 :VBS Active Directory (2003) 사용자를 한 그룹의 그룹에서 다른 그룹으로 이동
DIM objGroup, objGroup2, objRootLDAP, objFSO, objInput, objConnection, objCommand
DIM strUser
On Error Resume Next
Set objRootLDAP = GetObject("LDAP://rootDSE")
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInput = objFSO.OpenTextFile("users.txt")
Set objGroup = GetObject("LDAP://cn=Sync01,ou=Huset,dc=bb,dc=net")
Set objGroup2 = GetObject("LDAP://cn=Mig01,ou=Huset,dc=bb,dc=net")
Do Until objInput.AtEndOfStream
strUser = ObjInput.ReadLine
objCommand.CommandText = "<LDAP://dc=bb,dc=net>;(&(objectCategory=person)(sAMAccountName=" & strUser & "));distinguishedName,userAccountControl;subtree"
Set objRecordSet = objCommand.Execute
If objRecordSet.RecordCount = 0 Then
MsgBox strUser & " was not found!" & VbCrLf & "Skipping", VbOkOnly,"User Not Found"
Else
strDN = objRecordSet.Fields("distinguishedName")
Set objUser = GetObject("LDAP://" & strDN)
objGroup.Remove(objUser.AdsPath)
objGroup2.Add(objUser.AdsPath)
End If
Loop
WScript.Echo "Complete"
주어진에 대해 "올바른"미그 그룹 무엇입니까 그룹을 동기화 하시겠습니까? 사용자가 둘 이상의 Mig 또는 Sync 그룹의 구성원 일 수 있습니까? –
제 잘못입니다. 사용자가 Sync01의 구성원 인 경우 올바른 grup은 Mig01입니다. 이 그룹은 Quest라는 도구의 마이그레이션 흐름을 제어하는 데 사용됩니다. 구성원이 잘못된 그룹에 추가되면 이주가 실패합니다. 그리고 문제를 찾아서 수정하기 위해 쓰루 로그를 검색하는 데 3-4 시간을 소비해야합니다. – user2681351