Erst mal hallo, Vorstellung folgt noch im Richtigen Forum
Edit: Wie Versprochen, die Vorstellung
Als alter Batch Liebhaber bin ich mitlerweile an meine Grenzen gestossen. Dank autoit sollte sich allerdings mein derzeitges "Projekt" gut realisieren lassen.
Kurz zum Projekt (zum besseren Verständniss):
Script welches ntBackup / 7zip Sicherung startet, WIN Ereignissanzeige ausliest, Dienste stoppt/startet (um konflikte mit Backups zu vermeiden), LOG Files schreibt, LOGs per mail versendet und alte logs löscht
Konfiguration erfolgt über ini, bzw. über GUI (GUI ist zB notwendig um das MailServerPasswort nicht in reinschrift zu speichern)
Status:
hab jetzt mal dammit begonnen ein Script für die Konfiguration zu schreiben. Anfangs ini auslesen, dann GUI starten (wird in Zukunft über ein Syntax aufgerufen). Das Rückschreiben in die ini folgt noch.
meine Frage:
bevor ich jetzt voller Euphorie weiterscripte wollte ich mal wissen ob ich's grundsätzlich mal halbwegs Richtig mache.
IMHO müsste es auch einen leichteren Weg mit den GUICtrlCreateCombo Funktionen geben, da doch eineige Einstellungen per Drop-Down gewählt werden sollten wird das mit meiner bisherigen Methode ziemleich Umfangreich.
Ausserdem müsste ich den Default-DropDown Eintrag aufgrund des ini wertes Anpassen (ntBackup (Bandsicherung) als Default wenn ntbt in der ini steht)
Code:
[autoit]
; Script um die ini Datei zu Bearbeiten und auszulesen..
; String.au3 includieren umd das Mail Passwort zu verschlüsseln
#include <String.au3>
#include <GuiConstants.au3>
; Passwort für die ver- / entschlüsselung:
dim $mail_pwdkey = "12345"
; ini Datei auslesen:
$config_BackupType = IniRead("config.ini", "config", "BackupType", "0")
$config_logType = IniRead("config.ini", "config", "logType", "0")
$config_logFormat = IniRead("config.ini", "config", "logFormat", "0")
$config_sendMail = IniRead("config.ini", "config", "sendMail", "0")
$config_Services = IniRead("config.ini", "config", "Services", "0")
$config_logDir = IniRead("config.ini", "config", "logDir", "0")
$config_BackupFile = IniRead("config.ini", "config", "BackupFile", "0")
$tape_check = IniRead("config.ini", "tape", "check", "0")
$tape_dev1 = IniRead("config.ini", "tape", "dev1", "0")
$tape_dev2 = IniRead("config.ini", "tape", "dev2", "0")
$file_name = IniRead("config.ini", "file", "name", "0")
$file_path = IniRead("config.ini", "file", "path", "0")
$mail_to = IniRead("config.ini", "mail", "to", "0")
$mail_from = IniRead("config.ini", "mail", "from", "0")
$mail_name = IniRead("config.ini", "mail", "name", "0")
$mail_server = IniRead("config.ini", "mail", "server", "0")
$mail_user = IniRead("config.ini", "mail", "user", "0")
$mail_pwd = IniRead("config.ini", "mail", "pwd", "0")
; Mail Passwort entschlüsseln:
$mail_pwdd = _StringEncrypt ( 0, $mail_pwd, $mail_pwdkey, 1)
; alle Variablen wurden eingelesen und das Mail Passwort wurde entschlüsselt
G_Setup ()
; Funtion für Graphisches Setup:
Func G_Setup ()
#Region ### START Koda GUI section ### Form=G:\Documents\Admin Script\v0.1b\forms\AdminScript Setup.kxf
$SetupForm = GUICreate("Einstellungen", 300, 500)
$SetupForm_LC1 = GUICtrlCreateLabel("Backup Typ", 20, 16, 100, 20)
$SetupForm_IC1 = GUICtrlCreateCombo ("ntBackup (Bandsicherung)", 130,16,150,20)
GUICtrlSetData(-1,"ntBackup (Sicherung in Datei)|Sicherung in Datei (7zip)",$SetupForm_IC1)
$SetupForm_TestButton = GUICtrlCreateButton("test", 270, 470)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch GUICtrlRead ($SetupForm_IC1)
case "ntBackup (Bandsicherung)"
$config_BackupType = ("ntbt")
case "ntBackup (Sicherung in Datei)"
$config_BackupType = ("ntbf")
case "Sicherung in Datei (7zip)"
$config_BackupType = ("7zip")
EndSwitch
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $SetupForm_TestButton
MsgBox(0, "Test", "BackupTyp: "&GUICtrlRead ($SetupForm_IC1)&@CRLF&"ini Eintrag:"&$config_BackupType )
EndSwitch
WEnd
EndFunc
Source.zip im Anhang (mit der ini Datei)
Verbesserungsvorschläge erwünscht (bevor ich später alles neu coden muss )