Blat - verdecken der Parameter möglich? Zentrale Konfiguration?
Blat ohne direkte Nennung von Benutzer und Passwort in der Batch-Datei
Hallo!
ich verwende hier Blat, ein gutes Tool zum Versand von eMails, funktioniert auch recht gut.
Frage ist nun, ob ich gerade in Batchdateien die Syntax von Blat etwas "optimieren" kann, z.b. beim Abfragen von Errorleveln.
Gibt es eine Möglichkeit, eine zentrale Datei für Blat zu verwenden, wo z.B. der Username, die Empfängereimailadresse, das Passwort etc. hinterlegt ist, so dass ich es nicht jedesmal neu angeben muss?
Falls ja, wie genau funktioniert das? Anleitung oder Beispiel wäre super!!!
Wir verwenden hier nen Server 2003 Standard.
Tausend Dank!
Viele Grüße, Tazze
Hallo!
ich verwende hier Blat, ein gutes Tool zum Versand von eMails, funktioniert auch recht gut.
Frage ist nun, ob ich gerade in Batchdateien die Syntax von Blat etwas "optimieren" kann, z.b. beim Abfragen von Errorleveln.
Gibt es eine Möglichkeit, eine zentrale Datei für Blat zu verwenden, wo z.B. der Username, die Empfängereimailadresse, das Passwort etc. hinterlegt ist, so dass ich es nicht jedesmal neu angeben muss?
Falls ja, wie genau funktioniert das? Anleitung oder Beispiel wäre super!!!
Wir verwenden hier nen Server 2003 Standard.
Tausend Dank!
Viele Grüße, Tazze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145844
Url: https://administrator.de/forum/blat-verdecken-der-parameter-moeglich-zentrale-konfiguration-145844.html
Ausgedruckt am: 23.12.2024 um 10:12 Uhr
10 Kommentare
Neuester Kommentar
Servus,
natürlich geht das - denn innerhalb von "Batch" oder anderen Scriptsprachen kann man sehr vieles automatisieren.
Das nennt man dann aber eigentlich "Variablen" und die sind - wie der name schon sagt - variabel.
Ohne deine Batch zu kennen, kann man die nicht optimieren. Von daher nur diese zeilen und damit die Aufforderung - schreib Sie hier nieder.
Am besten in / zwischen <code> </code> Blöcke.
Gruß
natürlich geht das - denn innerhalb von "Batch" oder anderen Scriptsprachen kann man sehr vieles automatisieren.
Das nennt man dann aber eigentlich "Variablen" und die sind - wie der name schon sagt - variabel.
Ohne deine Batch zu kennen, kann man die nicht optimieren. Von daher nur diese zeilen und damit die Aufforderung - schreib Sie hier nieder.
Am besten in / zwischen <code> </code> Blöcke.
Gruß
Hallo tazze!
Etwas gestrafft:
Grüße
bastla
Etwas gestrafft:
@echo off & setlocal
rem *** Stop der Datenbank
net stop "FirebirdGuardianDefaultInstance"
net stop "FirebirdServerDefaultInstance"
rem *** Wechsel in das Verzeichnis
cd /d c:\sicherung
rem *** Aufruf für Wochentag
Call GetAllDateTimeInfos.bat /s /q
Set Wochentag=%cDoW%
rem *** Löschung der lokalen Variablen
Call GetAllDateTimeInfos.bat /u
rem *** prameter für ntbackup
Set "NTPara=backup @C:\sicherung\jobauswahl.bks"
Set "NTPara=%NTPara% /F s:\Sicherung_%Wochentag%"
Set "NTPara=%NTPara% /j "Serversicherung" /V:yes /R:no /L:s /M normal"
ntbackup.exe %NTPara%
set error=%errorlevel%
rem *** Kopie der aktuellen Log-Datei von ntbackup
for /f %%i in ('dir /b /od "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\*.log"') do set Neueste=%%i
copy "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\%Neueste%" "C:\temp\logfile-%computername%.txt"
IF %error% == 4 call :MailIt "Sicherung fehlerhaft" "Sicherung Server, FEHLERHAFT!"
IF %error% == 3 call :MailIt "Sicherung fehlerhaft (abgebrochen)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 2 call :MailIt "Sicherung fehlerhaft (Dateizugriffskonflikt)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 1 call :MailIt "Sicherung fehlerhaft (keine Dateien zum sichern gefunden)" "Sicherung Server, FEHLERHAFT!"
IF %error% == 0 call :MailIt "Sicherung erfolgreich!" "Sicherung Server, ERFOLGREICH!"
rem *** Start der Datenbank
net start "FirebirdGuardianDefaultInstance"
echo "hier ist eof"
pause
goto :eof
:MailIt
echo %~1 - %~2
Blat -install SERVER. email@email.de
Blat -body %1 -to Mailempfänger -server Mailserver -u Absender -pw Passwort -timestamp -log blatSMTPlog.txt -subject %2 -attach "C:\temp\logfile-%computername%.txt"
goto :eof
bastla
Hallo Tazze,
du kannst mit Blat auch mehrere Profile mit kompletten Login Daten in der Registry ablegen (Mail-Account und Passwort verschlüsselt).
Die landen dort in [HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat] sind dann also für alle User nutzbar.
Wer darauf Zugriff hat, kann das auch auslesen und ggfs missbrauchen. Du verlagerst also nur ein Risiko von der Batch in die Registry.
Die Syntax von z.Bsp -installsmtp weicht etwas von der normalen Kommandozeile ab, die Reihenfolge ist wichtig da die Argumente nicht bennant sind.
(Die drei - stehen für die Defaultwerte von Try=1, Port=25, Profil=Standard)
Wenn die Daten einmal in der Registry sind, kannst du das Standard Profil einfach nutzen mit:
Nach einmaliger Anwendung muss das -InstallSMTP aus der Batch natürlich raus.
Gruß
LotPings
du kannst mit Blat auch mehrere Profile mit kompletten Login Daten in der Registry ablegen (Mail-Account und Passwort verschlüsselt).
Die landen dort in [HKEY_LOCAL_MACHINE\SOFTWARE\Public Domain\Blat] sind dann also für alle User nutzbar.
Wer darauf Zugriff hat, kann das auch auslesen und ggfs missbrauchen. Du verlagerst also nur ein Risiko von der Batch in die Registry.
Die Syntax von z.Bsp -installsmtp weicht etwas von der normalen Kommandozeile ab, die Reihenfolge ist wichtig da die Argumente nicht bennant sind.
(Die drei - stehen für die Defaultwerte von Try=1, Port=25, Profil=Standard)
Blat -installSMTP Mailserver email@email.de - - - Absender Passwort
Blat -body "sicherung erfolgreich!" -to Mailempfänger -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, ERFOLGREICH!" -attach "C:\temp\logfile-%computername%.txt"
Gruß
LotPings
Zitat von @tazze:
die drei Querstriche (-) muss ich die so eingeben oder mit Inhalten füllen? Gleich mal testen....
Das kannst du halten wie du willst,die drei Querstriche (-) muss ich die so eingeben oder mit Inhalten füllen? Gleich mal testen....
wenn du ein Profil angibst, musst du es natürlich auch später mit
-profile Profname
ansprechen.Ich würde es der Einfachheit halber bei den defaults mit 3 mal - - - belassen.
Gruß
LotPings
Hallo tazze!
Grüße
bastla
Die Zeilen 38 - 40 lassen sich doch auch löschen, weil hier ja das script zu ende ist?
38 und 39 sind entbehrlich - die Zeile 40 wird aber benötigt, da hier das "Hauptprogramm" endet (ansonsten würde das "Mail"-Unterprogramm ein zweites Mal ausgeführt).Wusste gar nicht, dass man mit Call auch Befehle ausführen kann, die nicht in außerhalb liegenden batchen liegen, dachte immer, dass man damit nur diese aufrufen kann....
Unter DOS war das so, mit der CMD-Shell ist einiges mehr möglich - eben auch ein Unterprogrammaufruf (wobei sich dieses Unterprogramm dabei vergleichbar wie ein externer Batch verhält und zB auch Übergabeparameter als %1, %2, etc verwenden kann).Weisßt du zufällig, ob es auch höhere Errorlevels als 4 gibt, die ich mit nt backup abfragen muss /sollte? Werde bei Tante google da nicht wirklich fündig.
Sorry - damit kann ich auch nicht dienen ...Grüße
bastla