cmdr_paule Geschrieben 25. Januar 2007 Geschrieben 25. Januar 2007 Hallo Skripter, Ich benötige ein wenig Hilfe bei der Formatierung eines Strings, das ich am Bildschirm, bzw. in einer Datei ausgeben möchte. Ich habe ein Skript (vBScript) geschrieben, das mir die Mitglieder einer Gruppe im AD ausgibt. Jetzt kennen wahrscheinlich einige das Problem, dass diese im folgenden Format ausgegeben werden (distinguishedName): Bsp: CN=Name,OU=Users,OU=FirmenOU,DC=meineDomain,DC=local Da ich eine Auswertung für den Kunden mache, möchte ich gern, dass nur der Name der Mitglieder ausgegeben wird. Ich möchte also gern am Anfang CN= und alles ab ,OU wegschneiden (inkl. ,OU). Mir fehlt hier leider der richtige Ansatz. Wie kann ich das in vBScript umsetzen? Habt ihr ne Idee? Zitieren
Eratum Geschrieben 25. Januar 2007 Geschrieben 25. Januar 2007 Hey paule... mittels Instr, Mid, Left & Co kannst du dir fröhlich deinen String zurrecht schnibbeln. Mit Mid() kannst du dir Informationen mitten aus einem String holen. Instr sucht nach dem ersten Vorkommen eines von dir angegebenen Wertes. Wenn mcih grad nicht alles täuscht, und ich dich richtig verstanden habe, dann könnte das bei dir folgendermaßen aussehen: mid(deinstring,4,Instr(deinstring,",OU")-4) Für genauere Erklärungen und Beispielsyntax folgender Link: asphelper.de - ASPKurs - Zeichenketten - Funktionen MfG Dere Eratum Zitieren
cmdr_paule Geschrieben 25. Januar 2007 Autor Geschrieben 25. Januar 2007 mid(deinstring,4,Instr(deinstring,",OU")-4) Ich habe aus dem o. g. Befehl mal das hier gemacht und siehe da, es funktioniert! intPos1 = InStr(strMember,",OU")-4 strName = Mid(strMember, 4, intPos1) Wscript.Echo vbTab &strName " target="_blank"> intPos1 = InStr(strMember,",OU")-4 strName = Mid(strMember, 4, intPos1) Wscript.Echo vbTab &strName Danke dafür, aber ich habe eine Verständnis-Frage: Ich verstehe nicht ganz was -4 am Ende des IntStr-Befehls macht? IntStr gibt doch die Stelle als Zahl zurück, an der der angegebene String zu finden ist. Aber warum ziehst du da gerade 4 ab? Zitieren
Eratum Geschrieben 25. Januar 2007 Geschrieben 25. Januar 2007 Instr gibt ja die Position des gesuchten "Teilstrings" im gesamten wieder. Mid gibt einen Teil des Anfangststrings aus. Dazu setzen wir den Cursor an die gewünschte StartStelle. strName = Mid(strMember, [B]4[/B], intPos1) (denk dir einfach das die ersten Vier zeichen weggeschnitten sind) Dadurch ist der "Gesamtstring" ja kürzer, und das eben genau um diese 4 Zeichen, würdest du die -4 nicht hinschreiben, bekämst du 4 Zeichen zu viel raus. Hoffe das war einingermaßen verständlich... MfG dere Zitieren
cmdr_paule Geschrieben 25. Januar 2007 Autor Geschrieben 25. Januar 2007 :D Aja klar, jetzt versteh ich. Ich gehe ja durch die Mid-Funktion an die 4. Stelle, also hinter CN=. Und diese 4 Stellen muss ich hinten wieder abziehen, wenn ich IntStr anwende, logisch! :cool: Und so sieht das Ganze aus, wenn ich das in eine Zeile ohne zusätzliche Variablen mache: Wscript.Echo vbTab &Mid(strMember, 4, (InStr(strMember,",OU")-4)) Wow, eine Zeile Code, ich geh kaputt Coole Sache ich danke dir, dass du mir so schnell helfen konntest! Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.