Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ersetzen von Textteilen in einer .txt Datei

Mitglied: forcerk

forcerk (Level 1) - Jetzt verbinden

08.02.2010 um 16:20 Uhr, 4543 Aufrufe, 6 Kommentare

Hallo erst mal. Ich versuche gerade mit Hilfe einer Batch Datei, Daten aus der AD für den User etwas schöner zu gestallten. Dabei bin ich auf folgendes Problem gestoßen.

Aus der AD werden Informationen in die Datei GroupInfo.txt geschrieben. Diese sieht so aus


Stand: 04.02.2010



GG-Servername-AG-ABC-123-R

"CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"
"CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"



GG-Servername-AG-ABC-C

"CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"
"CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"
"CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"




Die Zeilen welche mit <"CN=> beginnen sollten so editiert werden damit am Ende die Datei so aussehen soll.

#
Stand: 04.02.2010



GG-Servername-AG-ABC-123-R

Username: username Standort: Werk
Username: username Standort: Werk



GG-Servername-AG-ABC-C

Username: username Standort: Werk
Username: username Standort: Werk
Username: username Standort: Werk




Mein Ansatz war bis jetzt erst mal die unnötigen Informationen zu löschen. Das habe ich bis jetzt mit dieser Zeile auch hinbekommen:

01.
For /F "Tokens=1,3 delims=," %%i in (GroupInfo.txt) Do echo.%%i %%j >>GroupInfo_2.txt
Die neue Datei GroupInfo_2.txt sieht demnach so aus:

#
Stand: 04.02.2010


GG-Servername-AG-ABC-123-R
"CN=username OU=Werk
"CN=username OU=Werk




GG-Servername-AG-ABC-C
"CN=username OU=Werk
"CN=username OU=Werk
"CN=username OU=Werk





Was mir jetzt noch fehlt ist das der Text "CN= in Username: und der Text OU= in Standort: geändert wird.

Ich habe mir hierzu schon einige Beiträge hier im Forum angeschaut. Leider habe ich damit für mein Problem noch keine Lösung gefunden.
Idee war es das ich mit einer For-Schleife durch die Datei zu gehe. Als Trennzeichen (delims) wollte ich "=" nehmen. Wird dann die Zeichenfolge "CN gefunden soll diese in Username: geändert. Wird die Ziechenfolge OU gefunden wird diese in Standort: geändert.

Danke schonmal für die Hilfe
Mitglied: MisterExpulso
08.02.2010 um 16:40 Uhr
Wie wäre es hiermit:
!!!Vorher eine Sicherung erstellen!!!

01.
@echo off & setlocal
02.
set "Datei=GroupInfo_2.txt"
03.

04.
set R=%temp%\Replace2.vbs
05.
>%R%  echo F=WScript.Arguments(0):Set fso=CreateObject("Scripting.FileSystemObject"):T=fso.OpenTextFile(F).ReadAll
06.
>>%R% echo fso.CreateTextFile(F,True).Write Replace(Replace(T,"CN=","Username: "),"OU=","Standort: ") 
07.

08.
for %%f in ("%Datei%") do cscript //nologo %R% "%%f"
PS: Ich glaube das Script war von Biber, habe es für deine Zwecke abgeändert.
Bitte warten ..
Mitglied: forcerk
08.02.2010 um 17:21 Uhr
Danke DGzRSBorkum

Eine Lösung mittels vbs Script hatte ich auch schon probiert.
Da ich aber noch so gut wie nie mit vbs gearbeitet hatte bin ich nie auf die richtige Lösung gekommen.

Deine Lösung funktioniert wunderbar.
Dann schau ich mal das ich den Quellcode verstehe, man will ja auch etwas lernen und nicht nur abschreiben
Bitte warten ..
Mitglied: Biber
08.02.2010 um 17:23 Uhr
Moin forcerk,

willkommen im Forum.

Moin DGzRSBorkum natürlich auch.

Mit VBS geht es sicherlich schneller - aber andererseits....
Wenn du gerade mit Batch die ersten (zweiten, dritten) Schritte machst und auch nur das einsetzen willst, was du nachvollziehen und selbst warten kannst...
Dann geht es auch mit der oben skizzerten FOR/F-Anweisung.
Unter den Voraussetzungen, dass
  • du alle "relevanten Zeilen" erkennen kannst, z.B. weil sie mit "CN=" beginnen und
  • alle Zeilen den gleichen Aufbau haben (gleiche Anzahl Token in gleicher Reihenfolge)

Dann führe als weiteren Delimiter das Gleichheitszeichen ein und schreibe (Demo am CMD-Prompt; führendes ">" nicht mit eintiipen):
01.
>Set "FindCNZeile=CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"
02.

03.
>for /f "delims==, tokens=2,6" %i in ("%FindCNZeile%") do @echo [Ausgabe] Benutzer: %i Standort: %j
04.
[Ausgabe] Benutzer: username Standort: Werk
Ich denke, das ist für dich nachzuvollziehen und Grundlage für eigene Verfeinerungen.

Obwohl grundsätzlich VBSkript zum Suchen/Ersetzen natürlich besser geeignet ist.... eigentlich.
--> du solltest dann auf VBS gehen, wenn sich die Annahme der "immer gleich strukturierten CN-Zeilen" nicht bestätigt.

Grüße
Biber
Bitte warten ..
Mitglied: forcerk
08.02.2010 um 17:34 Uhr
Habe noch eine weitere Frage

Ist es möglich innerhalb des vbs Scripts die gesuchte Zeichenfolge als Variable auszudrücken?

Ziel ist es mit Hilfe des Usernamen, den Befehlen dsquery und dsget, den Usernamen in Vor- und Nachname aufzulösen und an die Zeile hinzufügen.
Bitte warten ..
Mitglied: TsukiSan
09.02.2010 um 03:35 Uhr
Hallo forcerk,

in VBS könnte es mit SPLIT und REPLACE so funktionieren.
Nur ein Beispiel anhand einer deiner Zeilen.
01.
MyText = "CN=username,OU=USERS,OU=Werk,OU=Land,OU=Firma,DC=Domain,DC=dom"
02.

03.
MyText = Replace(MyText,",DC" , "")
04.
MyText = Replace(MyText,",OU" , "")
05.

06.
MyTextSep = Split(MyText, "=")
07.

08.
for i = 0 to Ubound(MyTextSep)
09.
	WScript.Echo MyTextSep(i)
10.
next
Heißt, deine Ausgangsdatei zeilenweise einlesen und jede Zeile so in etwa bearbeiten.

Gruss
Tsuki
Bitte warten ..
Mitglied: forcerk
10.02.2010 um 16:29 Uhr
Danke nochmal für eure Hilfestellung.
Ich habe mich für eine Lösung per VBS entschieden.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Merkwürdige Zeilenformatierung in txt Datei

gelöst Frage von miczarBatch & Shell3 Kommentare

Hallo zusammen, ich arbeite mit .cxv Dateien. Das ist nichts anderes wie .txt Dateien nur mit Programmspezifischer Endung. Pro ...

Windows 7

Txt Datei mit findstr durchsuchen

gelöst Frage von 126594Windows 72 Kommentare

Hallo zusammen! Leider komme ich gerade an meine Grenzen und weiß nicht mehr weiter, jetzt hoffe ich hier, den ...

Batch & Shell

Wert in einer TXT Datei suchen

Frage von nolle99Batch & Shell11 Kommentare

Hallo Leute Ich habe ein Problem Ich habe mir von meiner Seite alle URLs in einer TXT gespeichert (30.000 ...

Batch & Shell

Txt datei veränden - "steuerung" für VirtualBox

gelöst Frage von AngryDadBatch & Shell7 Kommentare

Hallo zusammen! Möchte eine .bat schreiben mit der ich meine VM´s steuern kann. Hab es schon geschafft die Liste ...

Neue Wissensbeiträge
Internet
EU-Urheberrechtsreform: Zusammenfassung
Information von Frank vor 1 TagInternet1 Kommentar

Auf golem.de gibt es eine Analyse von Friedhelm Greis, der das Thema EU-Urheberrechtsreform gut und strukturiert zusammenfasst. Zwar haben ...

Microsoft Office

Office365 Schwachstellen bei Sicherheit und Datenschutz

Information von Penny.Cilin vor 2 TagenMicrosoft Office7 Kommentare

Auf Heise+ gibt es einen Artikel bzgl. Office365 Schwachstellen. Das ist noch ein Grund mehr seine Daten nicht in ...

Sicherheit
Schwachstellen in VPN Clients
Tipp von transocean vor 4 TagenSicherheit2 Kommentare

Moin, es gibt Sicherheitslücken bei VPN Clients namhafter Hersteller, wie man hier lesen kann. Gruß Uwe

Sicherheit

Wikileaks-Gründer Julian Assange wurde festgenommen

Information von Frank vor 7 TagenSicherheit3 Kommentare

Wikileaks-Gründer Julian Assange wurde heute in London festgenommen. Die Botschaft Ecuadors, in der er seit sieben Jahren lebte, hat ...

Heiß diskutierte Inhalte
Tipps & Tricks
Verdammt voll erwischt
Frage von AlchimedesTipps & Tricks23 Kommentare

Folgende Mail habe ich auf meinem Freenet Account erhalten: Nun folgendes Problem: 1) Ich besuche Porno Seiten yep hat ...

Drucker und Scanner
Xerox 7328 muss jeden Tag neu installert werden
Frage von PN-SchrauberDrucker und Scanner20 Kommentare

hallo, ich habe in Problem mit einem unserer Drucker. Vorweg, die meisten unserer Netzwerkdrucker laufen über einen Druckserver, dieser ...

HTML
Google maps
Frage von jensgebkenHTML20 Kommentare

Hallo Gemeinschaft, hab mal ne Frage zu Maps - habe es hinbekommen, dass ich einen iframe link erstellen kann ...

Switche und Hubs
PC Verursach Probleme im Netzwerk
gelöst Frage von spoboeSwitche und Hubs16 Kommentare

Hallo zusammen, folgene Situation macht mich inzwischen ratlos: In unserem Betrieb ist ein Rechner über die Hausverkabelung an einem ...