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 Lizenschlüssel in einer XML-Datei suchen und bearbeiten

Mitglied: Attituder

Attituder (Level 1) - Jetzt verbinden

12.07.2011 um 11:45 Uhr, 3566 Aufrufe, 6 Kommentare

Hallo,

leider bin ich durch die Suchfunktion auf keine brauchbare Lösung gestossen.

Durch ein Softwareupdate dass wir demnächst durchführen werden muss der vorhandene Lizenzschlüssel in einer XML-Datei ausgelesen und bearbeitet werden.

Die Datei heisst z.B. "license.xml"

- in dieser befindet sich die Zeile: <item Name="License Access Code" Value="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" />

nun muss vor dem Softwareupdate der Lizenzschlüssel auf eine weitere Gruppe erweitert werden z.B. "12345": <item Name="License Access Code" Value="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-12345" />

Ich hoffe, Ihr könnt mir bei meinem Problem weiterhelfen.

Vielen Dank schonmal im voraus!

LG

Atti
Mitglied: mrtux
12.07.2011 um 12:18 Uhr
Hi !

Der Softwarehersteller bietet Dir kein Tool dafür an?

Das ist ja schon ganz schön unverschämt von einem Kunden zu verlangen, dass dessen Admin eine Batch schreiben muss, nur damit deren Lizenzgeraffel funktioniert! Manche Hersteller machen es sich schon arg leicht....Schon alleine für sowas gehört wieder der Pranger eingeführt....

mrtux
Bitte warten ..
Mitglied: Friemler
12.07.2011 um 12:29 Uhr
Hallo Attituder,

teste mal folgendes:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "LicFile=Test.xml" 
05.
set "NewLicFile=TestNeu.xml" 
06.
set "NewGroup=12345" 
07.
 
08.
 
09.
for /f "usebackq delims=" %%l in ("%LicFile%") do ( 
10.
  <NUL set /p "=%%l" | findstr /c:"License Access Code" > NUL && ( 
11.
    for /f "tokens=7 delims== " %%k in ("%%l") do ( 
12.
      set "Line=%%l" 
13.
      set "Key=%%~k" 
14.
      call :WriteNewLine 
15.
16.
  ) || ( 
17.
    >>"%NewLicFile%" (<NUL set /p "=%%l" & echo.) 
18.
19.
20.
 
21.
exit /b 
22.
 
23.
 
24.
 
25.
:WriteNewLine 
26.
  set "NewKey=%Key%-%NewGroup%" 
27.
  call set "NewLine=%%Line:%Key%=%NewKey%%%" 
28.
  >>"%NewLicFile%" (<NUL set /p "=%NewLine%" & echo.) 
29.
exit /b 0
Gruß
Friemler
Bitte warten ..
Mitglied: Lochkartenstanzer
12.07.2011 um 12:38 Uhr
Bei bekanntem Schlüssel:

sed -i license.xml -e "s/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX/XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-12345/g"
Bei unkanntem Schlüssel:

export LIC=`grep "item Name=\"License Access Code\" Value=" | gawk -F "\"" ' { print $4 } ' ` 
sed -i license.xml -e "s/$LIC/$LIC-12345/g"

Für Windows wird dafür http://www.cygwin.com benötigt.
Bitte warten ..
Mitglied: Attituder
12.07.2011 um 12:50 Uhr
Hi Friemler,

erstmal vielen Dank für Deine Hilfe.

Beim ausführen des Patches ergibt sich leider noch folgendes Problem:

In der XML-Datei gibt es noch diverse Zeilen mit den Inhalt "&amp", was als Befehl interpretiert wird.

Wenn ich diese Zeilen manuell entferne, fügt er korrekt die Gruppe "12345" bei der Lizenz hinzu.

MfG

Atti
Bitte warten ..
Mitglied: Friemler
12.07.2011 um 13:08 Uhr
Hallo Attituder,

ich habe mir schon gedacht, dass noch eine Rückmeldung in der Art kommt, evtl. auch "Die Einrückungen in der XML-Datei gehen verloren!". Ich schiebe deshalb noch eine VBScript-Version hinterher, bei der dieser ganze Ärger wegfällt. Hätte ich mal direkt so machen sollen .
01.
strLicFile    = "Test.xml" 
02.
strNewLicFile = "TestNeu.xml" 
03.
strNewGroup   = "12345" 
04.
 
05.
 
06.
Const ForReading = 1 
07.
Const ForWriting = 2 
08.
Const AsASCII    = 0 
09.
 
10.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
11.
arrContent = Split(objFSO.OpenTextFile(strLicFile, ForReading, False, AsASCII).ReadAll, vbCRLF) 
12.
 
13.
Set objOutFile = objFSO.OpenTextFile(strNewLicFile, ForWriting, True, AsASCII) 
14.
 
15.
Set objRegExp        = New RegExp 
16.
objRegExp.Pattern    = "[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}-[A-Z0-9]{5}" 
17.
objRegExp.IgnoreCase = True 
18.
 
19.
For Each strLine In arrContent 
20.
  If InStr(strLine, "License Access Code") > 0 Then 
21.
    strLine = objRegExp.Replace(strLine, objRegExp.Execute(strLine)(0).Value & "-" & strNewGroup) 
22.
  End If 
23.
 
24.
  objOutFile.WriteLine strLine 
25.
Next 
26.
 
27.
objOutFile.Close
Bei der Erstellung des Regulären Ausdrucks in Zeile 16 bin ich davon ausgegangen, dass in dem Lizenzcode nur Buchstaben und Zahlen vorkommen.

Gruß
Friemler
Bitte warten ..
Mitglied: Attituder
12.07.2011 um 13:17 Uhr
Hi Friemler,

Danke für die schnelle Antwort. Funktioniert einwandfrei!

Hast mir echt sehr weitergeholfen.

MfG

Atti
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Anfangstext bei einer xml Datei bearbeiten durch Batch Datei

gelöst Frage von GrauerStarBatch & Shell5 Kommentare

Hallo :D Ist das möglich so wie ich mir das vorstelle?: Eine Batch Datei die in einem Ordner automatisch ...

VB for Applications

VBS Suchen und Ersetzen bei UTF8 XML Dateien funktioniert nicht

gelöst Frage von NexxudusVB for Applications7 Kommentare

Hallo zusammen, ich verzweifel gerade an einer - eigentlich total primitiven- Aufgabe. Dazu muss ich sagen, dass ich mich ...

Batch & Shell

Powershell - Zeilen aus txt Datei auslesen, bearbeiten und in xml einfügen

gelöst Frage von BuggerBatch & Shell11 Kommentare

Hallo, ich möchte das jede Zeile einer Textdatei in diesem Schema gepackt und diese werte nacheinander ab Zeile 9 ...

Batch & Shell

XML-Datei: Pfade suchen, verlinkte Dateien kopieren und Pfade ändern

gelöst Frage von ELEVATORBatch & Shell4 Kommentare

Hallo, das Programm "Solidworks Composer" speichert Pfadangaben verlinkter Dateien in Projektdateien. Ich möchte nun diese Projektdateien inklusive aller verlinkten ...

Neue Wissensbeiträge
Windows 10

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

Information von kgborn vor 2 StundenWindows 101 Kommentar

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

iOS
Updates für Iphone und Co
Information von sabines vor 5 StundeniOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 1 TagWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 2 TagenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Heiß diskutierte Inhalte
C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++28 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows 10
Unter Windows 10 Home 64Bit (1709) kommt Fehler beim Aufruf von verschiedenen Systemprogrammen wie z.B. Gerätemanager
Frage von bitshopWindows 1017 Kommentare

Hallo, beim meinem Onkel haben wir seit längerem das Problem, dass z.B. beim Aufruf des Gerätemanagers eine Fehlermeldung kommt ...

Hyper-V
HyperV DC + DNS + AC
gelöst Frage von HardstylesHyper-V16 Kommentare

Hallo kann mir jemand sagen wieso meine Domänen Computer kein Internetzugang erhalten? Ich hab hier ein Server wo die ...