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!

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...