Domino 9 und frühere Versionen > ND6: Entwicklung

ADO und Username.Filter = Array("User")

<< < (4/4)

Glombi:
Versuch mal folgendes:

Function DisplayObjects( strADsPath, strSpace)

dim array_filter(0) as string
array_filter(0) = "User"


   set objObject = GetObject(strADsPath)
   Wscript.Echo strSpace & strADsPath
   objObject.Filter = array_filter
   for each objChildObject in objObject
      DisplayObjects objChildObject.ADsPath, strSpace & " "
   next

End Function

Das sollte eigentlich analog Array("User") funktionieren, wenn ich die Funktion Array richtig verstehe.

Andreas

robertpp:
Tut leider auch nichts:

Bring folgendes Ergebnis:

"LDAP://atebd1/OU=0_Deakt,DC=atebg1,DC=int"             <--- Ist eine OU
nächter Durchlauf:
"LDAP://atebd1/CN=APareja,OU=0_Deakt,DC=atebg1,DC=int"        <---- ist ein User
dann wieder:
"LDAP://atebd1/OU=0_Deakt,DC=atebg1,DC=int"        <--- eine OU
und wieder ein:
"LDAP://atebd1/CN=bah,OU=0_Deakt,DC=atebg1,DC=int"    <---- neuer User

Mittlerweile hab ich schon vier Möglichkeiten getestet und keines brachte das selber Ergebnis wie das vbs-Script.

Glombi:
Anstelle des Filters kann Du auch über alle Objekte iterieren und die Klasse abfragen, wie bspw. hier beschrieben
http://www.serverwatch.com/tutorials/print.php/1548191


Also irgendwie so

Const ComputerName = "srveb01"
   Const domain = "//ATEBD1"

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase
   
dim UserName as variant

   Set UserName = GetObject("WinNT://" & ComputerName & ",computer")

Forall object in UserName

If object.class = "User" Then

   
      On Error Resume Next
      user = object.Name
      Set oUser = GetObject("WinNT:" & domain & "/" & user)
     
      Set doc = db.CreateDocument
      doc.Form = "activedirectory"
      doc.ShortName = oUser.Name
      doc.FullName = oUser.FullName
      doc.Department =oUser.Description
      doc.LastLogin = oUser.LastLogin
      If oUser.AccountDisabled <> False Then
         doc.AccountDisabled =  "True"
      End If
      If oUser.IsAccountLocked <> False Then
         doc.AccountLocked = "True"   
      End If
      doc.ValidFrom = Int(oUser.PasswordAge/3600/24)
      Call doc.Save(True, False)     

End if
End Forall

Andreas

robertpp:
Andreas ich muss sagen ich bin erleichtert. Es hat mir 1 1/2 Tage gekostet aber genau das hab ich gesucht.

Ich hab einiges über objectClass: user  gefunden aber nicht genau gewusst wie es gehen könnte.  ;D ;D :D

DANKE

Zur Info: Es ist für eine db die alle Benutzer beinhält mit Fotos und sonstigen IT-Zugriffen(für Dokumentation) und jetzt kommt noch die Info Alter Pwd, Benutzername, Fullname, Lastlogin = alles vom AD und gleichzeitig kann man user die sich nach x fehlversuchen sich anzumelden gesperrt haben wieder entsperren oder auch disablen.

robertpp:
Noch als Ergänzung:
Eine Möglichkeit gibt es noch die aber für mich nicht befriedigend war: (weil ich eben diese Info hatte: "objectClass: user" )

   Dim s As New NotesSession
   Dim db As NotesDatabase
   Dim doc As NotesDocument
   Set db = s.CurrentDatabase   
   
   Set MyUserContainer  =GetObject("WinNT://srveb09")
   Forall oUser In MyUserContainer
      If oUser.Name ="Gäste" Then
         Exit Forall
      End If
      Set doc = db.CreateDocument
      doc.Form = "activedirectory"
      doc.ShortName = oUser.Name
      doc.FullName = oUser.FullName
      doc.Department =oUser.Description
'      doc.LastLogin = oUser.LastLogin
      If oUser.AccountDisabled <> False Then
         doc.AccountDisabled =  "True"
      End If
      If oUser.IsAccountLocked <> False Then
         doc.AccountLocked = "True"   
      End If
      
      doc.ValidFrom = Int(oUser.PasswordAge/3600/24)
      Call doc.Save(True, False)
   End Forall

Hier bekomm ich aber leider nicht das Lastlogin retour.
Das Script ist so das es alle Einträge einlist.
Aus dem AD kommen die Einträge so:

user
user
user
user
user
usw.
Gäste -User
Abteilung
Abteilung
Abteilung
usw.
Computer
Computer
usw.

Und somit hab ich einfach bis zu dem User Gäste abgefragt und dann beendet.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln