adminknecht
Goto Top

Userinfos aus dem AD auslesen OK, aber wie sortieren? (objContainer GetObject(LDAP....)

Hallo zusammen,

ein kleines Problem, bei dem ich moimentan einen Hänger habe:

Per vb-Skript lese ich unser AD aus und lasse dem User einige Daten zu den AD-USern anzeigen, nun soll die Anzeige nach dem AD-Feld INITIALS sortiert ausgegeben werden, ich bekomme per default mit diesem Code-Schnippsel immer nur eine Ausgabe nach DISPLAYNAME hin:
Set objContainer = GetObject("LDAP://ou=contoso-users,dc=contoso,dc=com")  
objContainer.Filter = Array("user")  

For Each objChild In objContainer
		htmlfile.WriteLine("<TR>")  
		htmlfile.WriteLine("	<TD>" & objChild.initials & "</TD>")	  
		htmlfile.WriteLine("	<TD>" & objChild.displayname & "</TD>")	  
		htmlfile.WriteLine("</TR>")  
Next
So etwas wie "objContainer.Sort = Array("initials")" funktioniert nicht....

Hat jemand eine Idee?

Vielen Dank,

Marcus

Content-ID: 183845

Url: https://administrator.de/forum/userinfos-aus-dem-ad-auslesen-ok-aber-wie-sortieren-objcontainer-getobjectldap-183845.html

Ausgedruckt am: 27.12.2024 um 10:12 Uhr

lenny4me
lenny4me 20.04.2012 um 12:29:45 Uhr
Goto Top
Hallo,

VB hat für AD ausgedient! Es lebe die Powershell


Get-ADUser * -Properties initials |FT |Export-Csv Pfad

so oder so ähnlich muss dein Befehl aussehen. Sortieren kannst du nacher in der csv oder wenn du willst auch noch im Befehl an sich (wie weis ich aber gerade nicht)


Grüße
AdminKnecht
AdminKnecht 20.04.2012 um 12:55:18 Uhr
Goto Top
..ja ich weiss, ich habe ja auch einen Exchange2010 unter meinen Fittichen, von daher weiss ich die Powershell schon zu schätzen...

Aber hier geht es darum, das meine USER sich an ihren (teils XP)-Kisten eine Liste zeihen können, die im Browserfenster ausgegeben wird, mit der Powershell kommen die da nciht weit ... face-smile

Trotzdem erstmal danke, noch jemand eine Idee?

Marcus
MonoTone
MonoTone 20.04.2012 um 13:29:06 Uhr
Goto Top
Das Ergebnis in ein Array lesen und dieses selber sortieren...

Als Trick kann man auch statt einem Array ein ADO.Recordset selber befüllen.
Dieses hat ne Methode .Sort

Ein Array kannst nur mit nem eigenen Algo in VBScript sortieren.
bastla
bastla 20.04.2012, aktualisiert am 18.10.2012 um 18:50:42 Uhr
Goto Top
... und als Starthilfe zum "Trick" (Stichwort: "disconnected recordset") gäbe es hier ein paar Links ...

Grüße
bastla
lenny4me
lenny4me 20.04.2012 um 16:02:45 Uhr
Goto Top
Hallo,

ich nochmal...

Ich weis das Problem soll in VB gelöst werden. Aber wäre es nicht sinnvoller die Auswertung auf nem Server zu machen und den Usern dann über nen Share zukommen zu lassen?
Ich habe kein gutes Bauchgefühl wenn ich huderten Usern ein Werkzeug an die Hand gebe mit dem Sie meinen DC stressen können.


Grüße
AdminKnecht
AdminKnecht 20.04.2012 um 16:34:34 Uhr
Goto Top
Hi lenny4me,

ja, danke, das war ein guter Tipp, die HTA-Datei lasse ich nun direkt am DC jede Nacht durch das Skript erstellten, und die User rufen dann nur noch die HTA auf.... face-smile

Nur das sortieren will noch nicht so richtig, ich würde gerne ohne recordsets auskommen ....

Schönes Wochenende an alle

Marcus
bastla
bastla 20.04.2012 um 16:39:53 Uhr
Goto Top
Hallo AdminKnecht!
ich würde gerne ohne recordsets auskommen
Nur interessehalber: Warum?

Grüße
bastla