Domino 9 und frühere Versionen > ND6: Entwicklung
ADO und Username.Filter = Array("User")
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