skid
Goto Top

Computer im AD suchen und einem Benutzer zuweisen

Hi,

habe wiedermal ein kleines Problemchen.

Ich habe ein VB-Skript welches im AD, in einer vorher angegebenen OU, nach bestimmten Computern sucht und einem bestimten Benutzer zuordnet (LogOnTo).

Hier ein kleiner Ausschnitt

Dim ArrWorkstations()   Array ohne feste größe
ReDim ArrWorkstations(0)   Array nach bedarf vergrößern
i = 0

objCommand.CommandText = _
    "<LDAP://ou=TEST,ou=clients,dc=aa,dc=bb,dc=de>;(objectCategory=computer)" & _  
    ";Name;subtree"  
    

Set objRecordSet = objCommand.Execute
    
Do Until objRecordSet.EOF
i = i + 1

    strComputerName = objRecordSet.Fields("Name")     Computername in Variable schreiben  
    strComputerName = Left(strComputerName, 3)        die ersten 3 Zeichen vom Namen auslesen
    

    If strComputerName = "ABC" Then                Prüfen ob die ersten 3 Zeichen ABC sind  
                        
        Workstations = objRecordSet.Fields("Name")      wenn ja, dann Computernamen in die variable schreiben  
      
    End If
        
                                                
            If UBound(ArrWorkstations) < i Then ReDim Preserve ArrWorkstations(i)
                ArrWorkstations(i) = Workstations

        objRecordSet.MoveNext
            
Loop

objUser.PutEx ADS_PROPERTY_APPEND, "userWorkstations", Array(Join(ArrWorkstations, ","))  
objUser.SetInfo
                        
objConnection.Close

Dies funktioniert auch wunderbar.

Da es aber auch mal vorkommt das die Clients nicht immer in dieser einen OU sind will ich das ganze AD durchsuchen und dann die gefundenen Maschinen dem User zuweisen.
Also, hiermit
objCommand.CommandText = "<LDAP://dc=ms,dc=bgnet,dc=de>;(&(objectCategory=computer));Name;subtree"  

Nur diesmal funktioniert nichts mehr!
Es wird nur ein Computer reingeschrieben und das auch noch min. 30x.
Ich komme einfach nicht drauf was hier nicht stimmt.....

Vielleicht habt Ihr eine Idee ?!

Gruss
SKID

Content-ID: 47733

Url: https://administrator.de/contentid/47733

Ausgedruckt am: 05.11.2024 um 19:11 Uhr

bastla
bastla 02.01.2007 um 15:29:53 Uhr
Goto Top
Hallo skid!

Schau Dir vielleicht das mal an ...

HTH
bastla
skid
skid 03.01.2007 um 11:48:43 Uhr
Goto Top
Hi bastla,

so in der Art habe ich es doch auch.
Wenn ich mir in meinen Loop eine MsgBox einbaue, werden mir auch die einzelnen Computer richtig angezeigt - aber nur nicht dem Benutzer zugewiesen.

Wenn ich es auf die Weise mache geht es ja

objCommand.CommandText = "<LDAP://ou=Test,ou=clients,dc=aa,dc=bb,dc=de>;(&(objectCategory=computer));Name"  

nur wenn ich die OU´s weglasse geht es nicht.
Das ist es was ich nicht so ganz verstehe.

SKID