Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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?

Geschrieben

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

Geschrieben
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?

Geschrieben

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

Geschrieben

:D :D :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!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...