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

per batch Wert aus registry lesen und in bestimmte stelle einer datei schreiben

Mitglied: Steff221

Steff221 (Level 1) - Jetzt verbinden

29.09.2009 um 11:51 Uhr, 5621 Aufrufe, 4 Kommentare

Hallo zusammen,

ich habe von Programierung im allgemeinen sehr wenig Ahnung. Projekt bedingt will/muss ich mich jetzt jedoch damit befassen.
Für die kurze Zeit bin, so denke ich schon recht weit gekommen. Jetzt allerdings benötige ich doch Hilfe.

Ich habe ein batch skript geschrieben welches bei unseren Usern defekte VPN Profile durch neue ersetzt.
Es gibt insgesamt 4 Profile, eins davon wird immer kopiert. Die anderen 3 werden abhängig vom Standort des Users kopiert ( EU, NA, AP ).
Wenn das Profil durch ein neues default Profil ersetzt wird, ist das Username Feld nicht ausgefüllt. Daher soll dem entsprechenden Profil der Username gleich mit übergeben werden.
Beide Werte ( Standort & Username ) liegen in der registry vor. Der erste Punkt mit dem Standort funktioniert soweit , der zweite, der mit dem Username allerdings nicht.

erster teil ( funktioniert ) :

(die variablen %FIX% & %Profiles% wurden vorher gesetzt)

for /f "skip=2 delims=,= tokens=8" %%i in ('reg query "HKLM\SOFTWARE\ICP" /v AD_OU ') do set AD_OU=%%i
IF "%AD_OU%"=="Europe" copy %FIX%\vpn_profil.pcf %Profiles%

wie gesagt das klappt soweit.
Nun möchte ich das diese "frischen" Dateien den Username aus der registry verpasst bekommen. Die .pcf Datei läßt sich im Notepad editieren.
Der gesuchte Eintrag findet sich in Zeile 12 und so dachte ich mir das ich den Username aus der registry hole und als variable setze :

for /f "skip=2 tokens=3" %i in ('reg query "HKLM\SOFTWARE\ICP" /v fmno_gra ') do set username=%i

weiter dachte ich mir was da oben klappt muss doch hier auch klappen :

for /f "skip=12 delims== tokens=1" %i in ( "%Profiles%\*.pcf" ) do echo Username=i%

geht aber nicht ....

Mein Problem ist das ich mir das alles so zusammen "gefrickelt" habe ohne das entsprechende Hintergrundwissen.
Die DOS Hilfe war bisher mein größter Helfer, jetzt bitte ich euch
Mitglied: Iwan
29.09.2009 um 12:22 Uhr
hallo,

01.
for /f "skip=2 tokens=3" %i in ('reg query "HKLM\SOFTWARE\ICP" /v fmno_gra ') do set username=%i
%USERNAME% ist eine Systemvariable, die schon den aktuell angemeldeten Benutzer enthält
entweder benennst du deine Variale um oder nimmst die Systemvariable
Bitte warten ..
Mitglied: Steff221
29.09.2009 um 12:43 Uhr
ups, mein fehler also "Username" steht da eigentlich gar nicht hab ich nur als platzhalter reingeschrieben.
Hinter dem Wert fmno_gra steht ein username den ich ja mit der ersten zeile als variable setze.
Diese Variable bzw.den wert möchte ich nun an eine bestimmt Stelle innerhalb der .pcf schreiben.
Und zwar in zeile 12 hinter dem Wort username= , daher "skip=12 delims== tokens=1"


for /f "skip=2 tokens=3" %i in ('reg query "HKLM\SOFTWARE\ICP" /v fmno_gra ') do set fmno_gra=%i

for /f "skip=12 delims== tokens=1" %i in ( "%Profiles%\*.pcf" ) do echo fmno_gra=i%

Und das klappt halt nicht. Ich weiß ich nicht evt. ist mein mein ganzer Ansatz falsch ?
Bitte warten ..
Mitglied: Steff221
29.09.2009 um 16:30 Uhr
Habe mittlerweile so ziemlich alle Foren Beiträge die irgendwie hierzu passen durch.
Was ich festgestellt habe ist das das mit dieser Zeile nicht umzusetzen ist bzw. der befehl so eh falsch ist.

for /f "skip=12 delims== tokens=1" %i in ( "%Profiles%\*.pcf" ) do echo fmno_gra=i%

Vieleicht habe ich mich auch zu umständlich ausgedrückt.
Ich habe eine profil Datei die 20 Zeilen parameter enthält, in der 12. zeile befindet sich:
Username=

Hinter dem "=" Zeichen möchte ich nun den Username einfügen der sich hinter "fmno_gra" verbringt.
Dieser Wert findet sich in der registry. Da ich nun wie gesagt nicht viel Ahnung habe, habe ich mir gedacht ich setze diesen Wert "fmno_gra" einfach in eine Variable und schreibe im nächsten schritt den ermittelten Wert in die erwähnte profil datei in die 12. Zeile hinter Username=

Aber geht das so überhaupt ? evt. zwischenschritt nötig ? Hilfe ...bitte !
Bitte warten ..
Mitglied: 60730
29.09.2009 um 19:01 Uhr
Servus,

wenn ich deine Zeilen richtig interpretiere:
IF "%AD_OU%"=="Europe" copy %FIX%\vpn_profil.pcf %Profiles%
...hast du ein Original vpn_profil.pcf auf dem Server %fix%

und nachdem das kopiert wurde, soll ein Wert geändert werden?

  • Lösungsvorschlag:

  • teile die originaldatei in zwei Teile Zeile -11 und ab Zeile 13
  • kopiere (wie bisher) den ersten Teil
  • schreibe via echo den gefundenen Wert dazu
  • kopiere den Rest zusammen

01.
for /f "skip=2 delims=,= tokens=8" %%i in ('reg query "HKLM\SOFTWARE\ICP" /v AD_OU ') do set AD_OU=%%i 
02.
IF "%AD_OU%"=="Europe" copy %FIX%\vpn_profil_1.pcf %Profiles%\vpn_profil.tmp 
03.
 
04.
for /f "skip=2 tokens=3" %%i in ('reg query "HKLM\SOFTWARE\ICP" /v fmno_gra ') do echo Username=%%i >>%Profiles%\vpn_profil.tmp 
05.
copy %Profiles%\vpn_profil.tmp + %FIX%\vpn_profil_2 pcf %Profiles%\vpn_profil.pcf
nicht elegant, ujnd auch nicht selten...

Gruß
Bitte warten ..
Ähnliche Inhalte
Entwicklung

Programmierung - In Textdatei an einer bestimmten Stelle einen bestimmten Wert eintragen

gelöst Frage von JimStarEntwicklung1 Kommentar

Guten Morgen zusammen, habe ein kleines Problem: Ich soll ein Script schreiben, welches durch ausführen eine bestimmte Datei bearbeitet. ...

Windows Systemdateien

Registry-Schlüssel per Batch auslesen und in Datei schreiben

gelöst Frage von PhilzipWindows Systemdateien9 Kommentare

Hallo zusammen, ich habe mir vorhin einen Befehl gebastelt, der die Installierte Version von NET Framework auslesen und in ...

Batch & Shell

Mit Batch-Datei eine Datei lesen, Zeilen ändern und als neue Datei schreiben

gelöst Frage von GeoSemBatch & Shell20 Kommentare

Hallo Ich versuche nun schon seit einiger Zeit das "kleine" Script (unter Windows 8) zum laufen zu bringen - ...

Windows 10

Zeichenfolge in .reg Datei schreiben (Registry)

gelöst Frage von MedicalAdWindows 104 Kommentare

Guten Morgen, ich habe folgendes Problem, ich muss in einen bestimmten Pfad eine Zeichenfolge schreiben. Nur bekomme ich es ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 3 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 12 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...