Hi leute - ich hoffe mir kann jemand helfen ich habe folgende Anforderung:
Ich möchte bestimmte AD Einträge in einer SQL 2005 Datenbank integrieren, weil ich diese dort für eine Auswertung bzw. Viewvernetzung einer anderen Tabelle benötige.
Folgendes hab ich schon gemacht - per geplanten task am DB Server:
csvde -f export.txt -l givenName, displayName,givenName,mail,sAMAccountName -d „OU=Users, OU=AT, dc=testdomain, dc=vienna“ -r objectClass=user
findstr /V /C:„givenName“ export.txt > exportNoHeader.txt
–> das funktioniert soweit perfekt die Ausgabe von exportNoHeader sieht so aus:
„CN=Kobrlova Iveta,OU=CZ,OU=Users,OU=AT,DC=testdp,aom,DC=vienna“,Iveta,Kobrlova Iveta,ivkobrlo,[email protected]
sodala jetzt hab ich das Problem, dass wenn ich dies per Bulkimport in meine DB integrieren möchte und ich als Fieldseperator „,“ eingebe - ich für das AD-Feld dn („CN=Kobrlova Iveta,OU=CZ,OU=Users,OU=AT,DC=testdp,aom,DC=vienna“) für jedes Komma ein eigen Spalte bekomme - ich möchte das aber in einer Spalte haben, weil es im AD auch noch Unterverzeichnisse gibt.
Jetzt hätte ich folgendes gemacht und das bring ich nicht zusammen:
Ich hätte einfach das textfile exportnoHeader vor dem bulkomport noch so bearbeitet, dass als Trennzeichen ein „;“ verwendet wird aber ERST nach dem CN eintrag - also so sollte das dann aussehen:
„CN=Kobrlova Iveta,OU=CZ,OU=Users,OU=AT,DC=testdp,aom,DC=vienna“;Iveta;Kobrlova Iveta;ivkobrlo;[email protected]
das sollte ja mit der Erweiterung von folgendem VB Sciptchen gehen:
@echo off & setlocal
set "Datei=c:\adexport\exportNoHeader.txt
set R=%temp%\Replacer.vbs
>%R% echo Set fso=CreateObject(„Scripting.FileSystemObject“): T=fso.OpenTextFile("%Datei%").ReadAll: fso.CreateTextFile("%Datei%",True).Write Replace(T,",",";")
cscript //nologo %R%
mit dem Script kann ich die Beistriche mit Kommas ändern - das funktioniert auch -aber dann hab ich das selber Problem in grün - ich müsste der ReplaceFunktion sagen - dass sie erst nach dem zweiten " zum replacen anfangen darf und das in jeder Zeile - hat da einer von euch eine Idee oder eventuell sogar einen ganz anderen Ansatz.
Vielen Dank.
lg
roman