Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Blat - verdecken der Parameter möglich? Zentrale Konfiguration?

Frage Microsoft Windows Tools

Mitglied: tazze

tazze (Level 1) - Jetzt verbinden

28.06.2010 um 23:37 Uhr, 4629 Aufrufe, 10 Kommentare

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
Mitglied: 60730
29.06.2010 um 00:07 Uhr
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ß
Bitte warten ..
Mitglied: tazze
29.06.2010 um 00:32 Uhr
Hi, danke für die schnelle Antwort, nachstehend einfach mal ein Beispiel für ntbackup, welches eine Sicherung nach Wochentagen anlegt:

01.
@echo off & setlocal 
02.
 
03.
rem *** Stop der Datenbank 
04.
net stop "FirebirdGuardianDefaultInstance" 
05.
net stop "FirebirdServerDefaultInstance" 
06.
 
07.
rem *** Wechsel in das Verzeichnis 
08.
cd c:\sicherung 
09.
 
10.
rem *** Aufruf  für Wochentag 
11.
Call c:\sicherung\GetAllDateTimeInfos.bat /s /q 
12.
 
13.
Set Wochentag=%cDoW% 
14.
 
15.
rem *** Löschung der  lokalen Variablen 
16.
Call c:\sicherung\GetAllDateTimeInfos.bat /u 
17.
 
18.
rem *** prameter für ntbackup 
19.
Set "NTPara=backup @C:\sicherung\jobauswahl.bks" 
20.
Set "NTPara=%NTPara% /F s:\Sicherung_%Wochentag%" 
21.
Set "NTPara=%NTPara% /j "Serversicherung" /V:yes /R:no /L:s /M normal" 
22.
 
23.
ntbackup.exe %NTPara% 
24.
 
25.
 
26.
rem *** Kopie der aktuellen Log-Datei  von ntbackup 
27.
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 
28.
copy "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\%Neueste%" "C:\temp\logfile-%computername%.txt" 
29.
set error=%errorlevel% 
30.
 
31.
IF %error% == 4 goto error4 
32.
IF %error% == 3 goto error3 
33.
IF %error% == 2 goto error2 
34.
IF %error% == 1 goto error1 
35.
IF %error% == 0 goto error0 
36.
 
37.
 
38.
:error4 
39.
echo "Hier ist error=4" 
40.
Blat -install SERVER. email@email.de 
41.
Blat -body "Sicherung fehlerhaft"  -to Mailempfänger  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, FEHLERHAFT!"  -attach "C:\temp\logfile-%computername%.txt" 
42.
goto eof 
43.
 
44.
 
45.
:error3 
46.
echo "Hier ist error=3" 
47.
Blat -install SERVER. email@email.de 
48.
Blat -body "sicherung fehlerhaft (abgebrochen)"  -to Mailempfänger  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, FEHLERHAFT!" -attach "C:\temp\logfile-%computername%.txt" 
49.
goto eof 
50.
 
51.
:error2 
52.
echo "Hier ist error=2" 
53.
Blat -install SERVER. email@email.de 
54.
Blat -body "sicherung fehlerhaft (Dateizugriffskonflikt)" -to Mailempfänger  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, FEHLERHAFT!" -attach "C:\temp\logfile-%computername%.txt" 
55.
goto eof 
56.
 
57.
:error1 
58.
echo "Hier ist error=1" 
59.
Blat -install SERVER. email@email.de 
60.
Blat -body "sicherung fehlerhaft (keine Dateien zum sichern gefunden)"  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, FEHLERHAFT!" -attach "C:\temp\logfile-%computername%.txt" 
61.
goto eof 
62.
 
63.
:error0 
64.
echo "Hier ist error=0. Sicherung erfolgreich" 
65.
Blat -install SERVER. email@email.de 
66.
Blat -body "sicherung erfolgreich!" -to Mailempfänger  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, ERFOLGREICH!" -attach "C:\temp\logfile-%computername%.txt" 
67.
goto eof 
68.
 
69.
rem *** Start der Datenbank 
70.
:eof 
71.
net start "FirebirdGuardianDefaultInstance" 
72.
echo "hier ist eof" 
73.
pause
Zugegeben, das meiste ist nicht von mir, versuche nur das ganze etwas anzupassen.
Was mich vor allem stört, ist der aufruf von Blat mit mehrfach genannten Paramentern. Kann man das nicht optimieren? Wenn ja, wie?

tausend Dank!

viele Grüße, Tazze
Bitte warten ..
Mitglied: bastla
29.06.2010 um 02:03 Uhr
Hallo tazze!

Etwas gestrafft:
01.
@echo off & setlocal 
02.
 
03.
rem *** Stop der Datenbank 
04.
net stop "FirebirdGuardianDefaultInstance" 
05.
net stop "FirebirdServerDefaultInstance" 
06.
 
07.
rem *** Wechsel in das Verzeichnis 
08.
cd /d c:\sicherung 
09.
 
10.
rem *** Aufruf  für Wochentag 
11.
Call GetAllDateTimeInfos.bat /s /q 
12.
 
13.
Set Wochentag=%cDoW% 
14.
 
15.
rem *** Löschung der  lokalen Variablen 
16.
Call GetAllDateTimeInfos.bat /u 
17.
 
18.
rem *** prameter für ntbackup 
19.
Set "NTPara=backup @C:\sicherung\jobauswahl.bks" 
20.
Set "NTPara=%NTPara% /F s:\Sicherung_%Wochentag%" 
21.
Set "NTPara=%NTPara% /j "Serversicherung" /V:yes /R:no /L:s /M normal" 
22.
 
23.
ntbackup.exe %NTPara% 
24.
set error=%errorlevel% 
25.
 
26.
rem *** Kopie der aktuellen Log-Datei  von ntbackup 
27.
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 
28.
copy "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\Windows NT\NTBackup\data\%Neueste%" "C:\temp\logfile-%computername%.txt" 
29.
 
30.
IF %error% == 4 call :MailIt "Sicherung fehlerhaft" "Sicherung Server, FEHLERHAFT!" 
31.
IF %error% == 3 call :MailIt "Sicherung fehlerhaft (abgebrochen)" "Sicherung Server, FEHLERHAFT!" 
32.
IF %error% == 2 call :MailIt "Sicherung fehlerhaft (Dateizugriffskonflikt)" "Sicherung Server, FEHLERHAFT!" 
33.
IF %error% == 1 call :MailIt "Sicherung fehlerhaft (keine Dateien zum sichern gefunden)" "Sicherung Server, FEHLERHAFT!" 
34.
IF %error% == 0 call :MailIt "Sicherung erfolgreich!" "Sicherung Server, ERFOLGREICH!" 
35.
 
36.
rem *** Start der Datenbank 
37.
net start "FirebirdGuardianDefaultInstance" 
38.
echo "hier ist eof" 
39.
pause 
40.
goto :eof 
41.
 
42.
:MailIt 
43.
echo %~1 - %~2 
44.
Blat -install SERVER. email@email.de  
45.
Blat -body %1  -to Mailempfänger  -server Mailserver -u Absender -pw Passwort  -timestamp -log blatSMTPlog.txt -subject %2  -attach "C:\temp\logfile-%computername%.txt" 
46.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: LotPings
29.06.2010 um 09:42 Uhr
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)
Blat -installSMTP Mailserver email@email.de - - - Absender Passwort 
Wenn die Daten einmal in der Registry sind, kannst du das Standard Profil einfach nutzen mit:
Blat -body "sicherung erfolgreich!" -to Mailempfänger -timestamp -log blatSMTPlog.txt -subject "Sicherung Server, ERFOLGREICH!" -attach "C:\temp\logfile-%computername%.txt" 
Nach einmaliger Anwendung muss das -InstallSMTP aus der Batch natürlich raus.

Gruß
LotPings
Bitte warten ..
Mitglied: tazze
29.06.2010 um 18:34 Uhr
Hi Bastla + LotPings

wow... , die beiden Antworten waren genau das, wonach ich suchte.

eine Unklarheit noch:

01.
Blat -installSMTP Mailserver email@email.de - - - Absender Passwort 
die drei Querstriche (-) muss ich die so eingeben oder mit Inhalten füllen? Gleich mal testen....

herzlichen Dank nochmals!
Bitte warten ..
Mitglied: tazze
29.06.2010 um 18:53 Uhr
Hi, jetzt muss ich doch noch mal fragen (sorry, dau....)

in Zeile 43:
01.
echo %~1 - %~2 
das ist mir nicht ganz klar.... hier werden die Werte aus Zeile 30 - 34 übergeben, ja nach Fall. Aber die Syntax sieht für mich sehr ungewöhnlich aus

danke nochmals!
Tazze
Bitte warten ..
Mitglied: bastla
29.06.2010 um 19:01 Uhr
Hallo Tazze!

Die Schreibweise mit Tilde ("~") sorgt einfach dafür, dass die übergebenen Parameter ohne die umgebenden Anführungszeichen ausgegeben werden ...

Grüße
bastla
Bitte warten ..
Mitglied: LotPings
29.06.2010 um 19:08 Uhr
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,
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
Bitte warten ..
Mitglied: tazze
29.06.2010 um 20:51 Uhr
Hoi,
Thanks!

ich hatte das letzte mal mit Batch-Geschichten zu Zeiten von MS-Dos 5 und 6.x zu tun.
Insofern ist es schon spannend für mich, was du aus dem Script gemacht hast.

Die Zeilen 38 - 40 lassen sich doch auch löschen, weil hier ja das script zu ende ist?
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....

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.

Mal wieder was gelernt.
Danke!
c-u
Tazze
Bitte warten ..
Mitglied: bastla
29.06.2010 um 21:02 Uhr
Hallo tazze!
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
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Netzwerk
Kein RDP über VPN per MS-TSC möglich (9)

Frage von survial555 zum Thema Windows Netzwerk ...

Microsoft
Keine Anmeldung mehr möglich (Server 2012 R2) (4)

Frage von Shnuuu zum Thema Microsoft ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...