First
This commit is contained in:
parent
02349f6137
commit
dceb83e855
401
AgentAutoUpdate.au3
Normal file
401
AgentAutoUpdate.au3
Normal file
@ -0,0 +1,401 @@
|
||||
#NoTrayIcon
|
||||
#RequireAdmin
|
||||
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
#AutoIt3Wrapper_Icon=Icon256-32.ico
|
||||
#AutoIt3Wrapper_Outfile=AgentAutoUpdate.exe
|
||||
#AutoIt3Wrapper_Outfile_x64=AgentAutoUpdate64.exe
|
||||
#AutoIt3Wrapper_Compile_Both=y
|
||||
#AutoIt3Wrapper_UseX64=y
|
||||
#AutoIt3Wrapper_Change2CUI=y
|
||||
#AutoIt3Wrapper_Res_Description=ZabbixAgent Auto Update
|
||||
#AutoIt3Wrapper_Res_Fileversion=1.0.0.98
|
||||
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
|
||||
#AutoIt3Wrapper_Res_LegalCopyright=2013 Bernhard Linz
|
||||
#AutoIt3Wrapper_Res_SaveSource=y
|
||||
#AutoIt3Wrapper_Res_Language=1031
|
||||
#AutoIt3Wrapper_Res_Field=Website|http://znil.net
|
||||
#AutoIt3Wrapper_Res_Field=Manual|
|
||||
#AutoIt3Wrapper_Res_Field=See You|znil.net
|
||||
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
||||
Opt('MustDeclareVars', 1)
|
||||
#Region ;************ Includes ************
|
||||
#Include <Date.au3>
|
||||
#Include <Crypt.au3>
|
||||
;~ #Include <Array.au3>;~~~
|
||||
;~ #include <Constants.au3>;~~~
|
||||
;~ #include <Date.au3>;~~~
|
||||
#EndRegion ;************ Includes ************
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
; # AgentAutoUpdate.exe #
|
||||
; # 2014 Bernhard Linz / Bernhard@znil.de / http://znil.net #
|
||||
; # Idea and Original at Zabbix Wiki #
|
||||
; # #
|
||||
; # Latest Version of this Program and Template in German: #
|
||||
; # http://znil.net/index.php?title=Agent_Auto_Updater #
|
||||
; # #
|
||||
; # ________ .__ __. __ __ .__ __. _______ .___________. #
|
||||
; # | / | \ | | | | | | | \ | | | ____|| | #
|
||||
; # `---/ / | \| | | | | | | \| | | |__ `---| |----` #
|
||||
; # / / | . ` | | | | | | . ` | | __| | | #
|
||||
; # / /----.| |\ | | | | `----.__| |\ | | |____ | | #
|
||||
; # /________||__| \__| |__| |_______(__)__| \__| |_______| |__| #
|
||||
; # #
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
|
||||
Dim $s_Networkshare = "\\192.168.1.253\Zabbix-Agent\autoupdate"
|
||||
Dim $s_Attrib
|
||||
Dim $s_RegistryKey = "HKEY_LOCAL_MACHINE\Software\znil.net\Zabbix-Agent-Autoupdater"
|
||||
Dim $a_Files[1]
|
||||
Dim $a_Checksum[1]
|
||||
Dim $i
|
||||
Dim $s_temp
|
||||
Dim $b_Update = False
|
||||
Dim $i_lasttime
|
||||
; 10 20 30 40 50 60 70 80
|
||||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
Dim $s_Header = _
|
||||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||
"| ZabbixAgentAutoUpdate.exe - Version " & FileGetVersion(@ScriptName) & @CRLF & _
|
||||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||
"| 2014 von Bernhard Linz für http://znil.net - Kontakt: Bernhard@znil.net" & @CRLF & _
|
||||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||
@CRLF
|
||||
|
||||
; 10 20 30 40 50 60 70 80
|
||||
; 12345678901234567890123456789012345678901234567890123456789012345678901234567890
|
||||
Dim $s_HilfeText = _
|
||||
"Hilfsprogramm für die Aktualisierung des Zabbix-Agenten" & @CRLF & _
|
||||
"-------------------------------------------------------------------------------" & @CRLF & _
|
||||
@CRLF & _
|
||||
"Aufruf: " & @CRLF & _
|
||||
@CRLF & _
|
||||
@ScriptName & " lasttime" & @CRLF & _
|
||||
"Gibt Datum und Uhrzeit des letzten Updates zurück. Format ist UNIXTIME, also" & @CRLF & _
|
||||
"die Anzahl der Sekunden seit dem 01.01.1970. Für das Template muss die" & @CRLF & _
|
||||
@ScriptName & " als UserParameter eingebunden sein" & @CRLF & _
|
||||
@CRLF & _
|
||||
@ScriptName & " settime" & @CRLF & _
|
||||
"Speicher einmal Datum und Uhrzeit des Aufrufs als letzten Zeitpunkt eines Updates" & @CRLF & _
|
||||
"in der Registry - gedacht für den Aufruf aus einem Installationsskript" & @CRLF & _
|
||||
@CRLF & _
|
||||
@ScriptName & " NextTimeOnlyHashUpdate" & @CRLF & _
|
||||
"Setzt ein Flag in die Registry das bei der nächsten Prüfung nur die Hash-Werte" & @CRLF & _
|
||||
"in die Registry geschrieben werden. Es wird dann NICHT im Anschluß das" & @CRLF & _
|
||||
"Updateskript / Updateprogramm aufgerufen" & @CRLF & _
|
||||
@CRLF & _
|
||||
@ScriptName & " <Pfad zur Netzwerkfreigabe> <Pfad zur Installationsdatei>" & @CRLF & _
|
||||
@CRLF & _
|
||||
"Die Netzwerkfreigabe ist der UNC-Pfad inklusive Unterordner zu den Dateien" & @CRLF & _
|
||||
"mit dem Zabbix Agenten und anderen Dateien inklusive des Installationsscripts" & @CRLF & _
|
||||
"Als 2. Parameter der Name und Pfad zur Installationsdatei." & @CRLF & _
|
||||
"Das angegebene Verzeichnis wird gescannt, es wird eine Prüfsumme (Hash) für jede Datei" & @CRLF & _
|
||||
"gebildet und mit den gespeicherten Werten in der Registry verglichen." & @CRLF & _
|
||||
"Gibt es eine Abweichung wird das im 2. Parameter angegebene Programm oder" & @CRLF & _
|
||||
"Skript gestartet. Zudem werden die Hash-Werte in der Registry für den" & @CRLF & _
|
||||
"nächsten Vergleich gespeichert." & @CRLF & _
|
||||
@CRLF & _
|
||||
"Beispiel:" & @CRLF & _
|
||||
@ScriptName & " \\192.168.1.253\Zabbix-Agent\autoupdate \\192.168.1.253\Zabbix-Agent\autoupdate\InstallZabbixAgent.bat" & @CRLF & _
|
||||
@CRLF & _
|
||||
"+------------------------------------------------------------------------------" & @CRLF & _
|
||||
"| ZabbixAgentAutoUpdate.exe ist FREEWARE!" & @CRLF & _
|
||||
"| Kopieren, weitergeben ausdrücklich erlaubt!" & @CRLF & _
|
||||
"| Die jeweils aktuelleste Version und Anleitungen findet Ihr unter:" & @CRLF & _
|
||||
"| http://znil.net/index.php?title=Agent_Auto_Updater" & @CRLF & _
|
||||
"+------------------------------------------------------------------------------" & @CRLF
|
||||
|
||||
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
; ########################################
|
||||
; ######## ## ## ## ## ###### ######## #### ####### ## ## ###### ########################################
|
||||
; ## ## ## ### ## ## ## ## ## ## ## ### ## ## ## ########################################
|
||||
; ## ## ## #### ## ## ## ## ## ## #### ## ## ########################################
|
||||
; ###### ## ## ## ## ## ## ## ## ## ## ## ## ## ###### ########################################
|
||||
; ## ## ## ## #### ## ## ## ## ## ## #### ## ########################################
|
||||
; ## ## ## ## ### ## ## ## ## ## ## ## ### ## ## ########################################
|
||||
; ## ####### ## ## ###### ## #### ####### ## ## ###### ########################################
|
||||
; ########################################
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
|
||||
; ###################################################################################
|
||||
; Soll ganz toll ganze Verzeichnisbäume abgrasen können
|
||||
;==================================================================================================
|
||||
; Function Name: _GetFilesFolder_Rekursiv($sPath [, $sExt='*' [, $iDir=-1 [, $iRetType=0 ,[$sDelim='0']]]])
|
||||
; Description: Rekursive Auflistung von Dateien und/oder Ordnern
|
||||
; Parameter(s): $sPath der Basispfad für die Auflistung ('.' -aktueller Pfad, '..' -Parentpfad)
|
||||
; $sExt Erweiterung für Dateiauswahl '*' oder -1 für alle (Standard)
|
||||
; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
|
||||
; optional: $iRetType 0 gibt Array, 1 gibt String zurück
|
||||
; optional: $sDelim legt Trennzeichen für Stringrückgabe fest
|
||||
; 0 -@CRLF (Standard) 1 -@CR 2 -@LF 3 -';' 4 -'|'
|
||||
; Return Value(s): Array (Standard) od. String mit den gefundenen Pfaden der Dateien und/oder Ordner
|
||||
; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
|
||||
; Author(s): BugFix (bugfix@autoit.de)
|
||||
;==================================================================================================
|
||||
Func _GetFilesFolder_Rekursiv($sPath, $sExt='*', $iDir=-1, $iRetType=0, $sDelim='0')
|
||||
Global $oFSO = ObjCreate('Scripting.FileSystemObject')
|
||||
Global $strFiles = ''
|
||||
Switch $sDelim
|
||||
Case '1'
|
||||
$sDelim = @CR
|
||||
Case '2'
|
||||
$sDelim = @LF
|
||||
Case '3'
|
||||
$sDelim = ';'
|
||||
Case '4'
|
||||
$sDelim = '|'
|
||||
Case Else
|
||||
$sDelim = @CRLF
|
||||
EndSwitch
|
||||
If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
|
||||
If $sExt = -1 Then $sExt = '*'
|
||||
If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
|
||||
_ShowSubFolders($oFSO.GetFolder($sPath),$sExt,$iDir,$sDelim)
|
||||
If $iRetType = 0 Then
|
||||
Local $aOut
|
||||
$aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
|
||||
If $aOut[1] = '' Then
|
||||
ReDim $aOut[1]
|
||||
$aOut[0] = 0
|
||||
EndIf
|
||||
Return $aOut
|
||||
Else
|
||||
Return StringTrimRight($strFiles, StringLen($sDelim))
|
||||
EndIf
|
||||
EndFunc
|
||||
|
||||
Func _ShowSubFolders($Folder, $Ext='*', $Dir=-1, $Delim=@CRLF)
|
||||
If Not IsDeclared("strFiles") Then Global $strFiles = ''
|
||||
If ($Dir = -1) Or ($Dir = 0) Then
|
||||
For $file In $Folder.Files
|
||||
If $Ext <> '*' Then
|
||||
If StringRight($file.Name, StringLen($Ext)) = $Ext Then _
|
||||
$strFiles &= $file.Path & $Delim
|
||||
Else
|
||||
$strFiles &= $file.Path & $Delim
|
||||
EndIf
|
||||
Next
|
||||
EndIf
|
||||
For $Subfolder In $Folder.SubFolders
|
||||
If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
|
||||
_ShowSubFolders($Subfolder, $Ext, $Dir, $Delim)
|
||||
Next
|
||||
EndFunc
|
||||
|
||||
; ###################################################################################
|
||||
; _ANSI2OEM löst das Problem mit dem Umlauten und anderen Sonderzeichen. Es wandelt Text so um das er korrekt in der DOS-Box dargestellt wird
|
||||
; So können hier im Quellcode auch Umlaute verwendet werden (in den Textausgaben) und diese werden dann korrekt dargestellt
|
||||
; Wir zudem für die Prüfung der Gruppenzugehörigkeit benötigt für Gruppen mit Umlauten, z.B. Domänen-Admins
|
||||
; Dank an Xenobiologist von AutoIt.de für diese Lösung: http://www.autoit.de/index.php?page=Thread&threadID=9461&highlight=ANSI2OEM
|
||||
|
||||
Func _ANSI2OEM($text)
|
||||
$text = DllCall('user32.dll', 'Int', 'CharToOem', 'str', $text, 'str', '')
|
||||
Return $text[2]
|
||||
;Return $text
|
||||
EndFunc ;==>_ANSI2OEM
|
||||
|
||||
; ###################################################################################
|
||||
; Hilfsroutine die den Hilfetext ausgibt
|
||||
Func _HilfeAusgeben()
|
||||
ConsoleWrite(_ANSI2OEM($s_Header))
|
||||
ConsoleWrite(_ANSI2OEM($s_HilfeText))
|
||||
EndFunc ;==>_HilfeAusgeben
|
||||
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
; ####################################################################################
|
||||
; ## ## ### #### ## ## ####################################################################################
|
||||
; ### ### ## ## ## ### ## ####################################################################################
|
||||
; #### #### ## ## ## #### ## ####################################################################################
|
||||
; ## ### ## ## ## ## ## ## ## ####################################################################################
|
||||
; ## ## ######### ## ## #### ####################################################################################
|
||||
; ## ## ## ## ## ## ### ####################################################################################
|
||||
; ## ## ## ## #### ## ## ####################################################################################
|
||||
; ####################################################################################
|
||||
; ##########################################################################################################################
|
||||
; ##########################################################################################################################
|
||||
|
||||
If $CmdLine[0] = 0 Then
|
||||
_HilfeAusgeben()
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
If @OSArch <> "X86" Then
|
||||
$s_RegistryKey = StringReplace($s_RegistryKey, "HKEY_LOCAL_MACHINE", "HKEY_LOCAL_MACHINE64")
|
||||
EndIf
|
||||
|
||||
|
||||
If $CmdLine[0] = 1 Then
|
||||
If $CmdLine[1] = "lasttime" Then
|
||||
$i_lasttime = RegRead($s_RegistryKey, "lasttime")
|
||||
If $i_lasttime = "" Then
|
||||
$i_lasttime = 0
|
||||
EndIf
|
||||
ConsoleWrite($i_lasttime & @CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
If $CmdLine[1] = "settime" Then
|
||||
$i_lasttime = _DateDiff("s", "1970/01/01 00:00:00", @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC)
|
||||
If RegWrite($s_RegistryKey, "lasttime", "REG_SZ", $i_lasttime) = 0 Then
|
||||
ConsoleWrite("Fehler - konnte letzte Startzeit nicht in Registry schreiben" & @CRLF)
|
||||
Exit 1
|
||||
Else
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
If $CmdLine[1] = "NextTimeOnlyHashUpdate" Then
|
||||
If RegWrite($s_RegistryKey, "NextTimeOnlyHashUpdate", "REG_SZ", "1") = 0 Then
|
||||
ConsoleWrite("Fehler - konnte letzte NextTimeOnlyHashUpdate nicht in Registry schreiben" & @CRLF)
|
||||
Exit 1
|
||||
Else
|
||||
Exit 0
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
EndIf
|
||||
|
||||
|
||||
If $CmdLine[0] = 1 Or $CmdLine[0] > 2 Then
|
||||
ConsoleWrite("Fehlerhafte Anzahl von Parametern! Es werden genau 2 Parameter erwartet!" & @CRLF)
|
||||
ConsoleWrite("Folgende Parameter wurden gefunden:" & @CRLF)
|
||||
For $i = 1 To $CmdLine[0]
|
||||
ConsoleWrite("Parameter " & $i & ": " & $CmdLine[$i] & @CRLF)
|
||||
Next
|
||||
ConsoleWrite(_ANSI2OEM("Für Hilfe Programm ohne Parameter aufrufen!") & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
|
||||
$s_Networkshare = $CmdLine[1]
|
||||
|
||||
If FileExists($s_Networkshare) = 1 Then
|
||||
$s_Attrib = FileGetAttrib($s_Networkshare)
|
||||
If StringInStr($s_Attrib, "D") = 0 Then
|
||||
ConsoleWrite("Parameter 1 ist kein Verzeichnis sondern eine Datei: " & $s_Networkshare & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
Else
|
||||
ConsoleWrite("Verzeichnis existiert nicht oder kein Zugriff: " & $s_Networkshare & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
|
||||
If FileExists($CmdLine[2]) = 1 Then
|
||||
$s_Attrib = FileGetAttrib($CmdLine[2])
|
||||
If StringInStr($s_Attrib, "D") > 0 Then
|
||||
ConsoleWrite("Parameter 2 ist keine Datei sondern ein Verzeichnis: " & $CmdLine[2] & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
Else
|
||||
ConsoleWrite("Datei existiert nicht oder kein Zugriff: " & $CmdLine[2] & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
|
||||
If @OSArch <> "X86" And @ScriptName <> "AgentAutoUpdate64.exe" Then
|
||||
ConsoleWrite("Ist ein 64 Bit System - starte die 64-Bit Variante dieses Programs" & @CRLF)
|
||||
Sleep(3000)
|
||||
Run(@ComSpec & ' /c start "Zabbix" /MIN /LOW "' & @ScriptDir & '\AgentAutoUpdate64.exe" ' & '"' & $CmdLine[1] & '" "' & $CmdLine[2] & '"', "", @SW_SHOW)
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
ConsoleWrite(@CRLF)
|
||||
ConsoleWrite("Zabbix-Agent Autoupdater" & @CRLF)
|
||||
ConsoleWrite("------------------------" & @CRLF)
|
||||
ConsoleWrite(@CRLF)
|
||||
ConsoleWrite('Schritt 1: Ermittle vorhandene Dateien im Pfad ' & $s_Networkshare & @CRLF)
|
||||
$a_Files = _GetFilesFolder_Rekursiv($s_Networkshare, -1, 0, 0)
|
||||
ConsoleWrite("Folgende " & $a_Files[0] & " Dateien wurden ermittelt:" & @CRLF)
|
||||
For $i = 1 To $a_Files[0]
|
||||
ConsoleWrite($a_Files[$i] & @CRLF)
|
||||
Next
|
||||
ConsoleWrite(@CRLF)
|
||||
ConsoleWrite(_ANSI2OEM("Sammle MD5-Hash für diese ") & $a_Files[0] & " Dateien ..." & @CRLF)
|
||||
ReDim $a_Checksum[$a_Files[0] + 1]
|
||||
$a_Checksum[0] = $a_Files[0]
|
||||
_Crypt_Startup()
|
||||
For $i = 1 To $a_Files[0]
|
||||
$a_Checksum[$i] = _Crypt_HashFile($a_Files[$i], $CALG_MD5)
|
||||
ConsoleWrite($a_Files[$i] & " ::: " & $a_Checksum[$i] & @CRLF)
|
||||
Next
|
||||
_Crypt_Shutdown()
|
||||
ConsoleWrite(@CRLF)
|
||||
ConsoleWrite("Vergleiche MD5-Werte mit denen aus der Registry ..." & @CRLF)
|
||||
|
||||
For $i = 1 To $a_Files[0]
|
||||
If $a_Checksum[$i] = RegRead($s_RegistryKey, $a_Files[$i]) Then
|
||||
ConsoleWrite(_ANSI2OEM("Datei " & $i & ": Übereinstimmung!") & @CRLF)
|
||||
Else
|
||||
ConsoleWrite("Datei " & $i & ": fehlt oder geaendert! --> " & $a_Files[$i] & @CRLF)
|
||||
$b_Update = True
|
||||
EndIf
|
||||
Next
|
||||
|
||||
ConsoleWrite(@CRLF)
|
||||
|
||||
If $b_Update = False Then
|
||||
ConsoleWrite(_ANSI2OEM("Keine Datei wurde verändert - beende mich ohne etwas zu tun") & @CRLF)
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
; Ok, wenn wir hier sind hat sich mindestens eine Datei geändert - also tun wir was
|
||||
ConsoleWrite("Schreibe neue Hash-Werte in Registry .")
|
||||
For $i = 1 To $a_Files[0]
|
||||
If RegWrite($s_RegistryKey, $a_Files[$i], "REG_SZ", $a_Checksum[$i]) = 1 Then
|
||||
ConsoleWrite(".")
|
||||
Else
|
||||
ConsoleWrite("FEHLER - konnte nicht in Registry schreiben!" & @CRLF)
|
||||
ConsoleWrite(_ANSI2OEM("Registry-Schlüssel: ") & $s_RegistryKey & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
Next
|
||||
|
||||
ConsoleWrite(@CRLF)
|
||||
|
||||
If RegRead($s_RegistryKey, "NextTimeOnlyHashUpdate") = "1" Then
|
||||
ConsoleWrite("Flag NextTimeOnlyHashUpdate gefunden - starte Updateprogramm NICHT!" & @CRLF)
|
||||
RegWrite($s_RegistryKey, "NextTimeOnlyHashUpdate", "REG_SZ", "0")
|
||||
Exit 0
|
||||
EndIf
|
||||
|
||||
ConsoleWrite(@CRLF)
|
||||
ConsoleWrite(_ANSI2OEM("Beende Zabbix Agenten für Update ...") & @CRLF)
|
||||
;RunWait(@ComSpec & ' /c net stop "zabbix agent"', @SW_SHOW)
|
||||
RunWait(@ComSpec & " /c " & 'net stop "zabbix agent"', "", @SW_HIDE)
|
||||
|
||||
;ConsoleWrite("Warte 5 Sekunden ..." & @CRLF)
|
||||
;Sleep(5000)
|
||||
|
||||
ConsoleWrite(_ANSI2OEM("Beende UserParameter-Programme für Update ..." & @CRLF))
|
||||
For $i = 1 To $a_Files[0]
|
||||
$a_Files[$i] = StringRegExpReplace($a_Files[$i], '^([a-z]:|\\\\[a-z0-9 %._-]+\\[a-z0-9 $%._-]+)?(\\?(?:[^\\/:*?"<>|\r\n]+\\)+)', "")
|
||||
;ConsoleWrite($a_Files[$i] & @CRLF)
|
||||
While ProcessExists($a_Files) > 0
|
||||
ConsoleWrite("Beende Programm: " & $a_Files[$i] & @CRLF)
|
||||
If $a_Files[$i] <> @ScriptName Then ; eigenen Prozess auslassen!
|
||||
ProcessClose($a_Files)
|
||||
EndIf
|
||||
Sleep(1000)
|
||||
WEnd
|
||||
Next
|
||||
|
||||
ConsoleWrite(@CRLF)
|
||||
|
||||
ConsoleWrite("Starte Installationsdatei: " & $CmdLine[2] & @CRLF)
|
||||
|
||||
If Run(@ComSpec & ' /c start "Zabbix" /MIN /LOW ' & $CmdLine[2], "", @SW_SHOW) > 0 Then
|
||||
ConsoleWrite("Wurde erfolgreich gestartet! Beende mich jetzt!" & @CRLF)
|
||||
$i_lasttime = _DateDiff("s", "1970/01/01 00:00:00", @YEAR & "/" & @MON & "/" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC)
|
||||
If RegWrite($s_RegistryKey, "lasttime", "REG_SZ", $i_lasttime) = 0 Then
|
||||
ConsoleWrite("Fehler - konnte letzte Startzeit nicht in Registry schreiben" & @CRLF)
|
||||
EndIf
|
||||
Else
|
||||
ConsoleWrite(_ANSI2OEM("Konnte Programm nicht starten! Lösche Hash-Werte wieder aus Registry") & @CRLF)
|
||||
For $i = 1 To $a_Files[0]
|
||||
RegWrite($s_RegistryKey, $a_Files[$i], "REG_SZ", "Fehler beim Start der Datei: " & $CmdLine[2])
|
||||
Next
|
||||
ConsoleWrite(_ANSI2OEM("Dies ist das ENDE.") & @CRLF)
|
||||
Exit 1
|
||||
EndIf
|
||||
Exit 0
|
Loading…
Reference in New Issue
Block a user