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?
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
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?
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
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!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden