Seite 1 von 1
tasklist
Verfasst: Mittwoch 4. November 2015, 11:53
von rfbdoc
Vor dem kopieren der PraxisDB auf den lokalen Arbeitsplatz mittels robocopy per batch möchte ich auf dem Server übprüfen, ob sich die Datenbank im Sicherungsmodus befindet.
Dazu möchte ich remote den Befehl "tasklist" anwenden, denkbar wäre dabei die Syntax
tasklist /S ServerName /u UserName /p Passwort | find /I TmAdmin.exe
Abhängig vom errorlevel soll dann in der Batch die entsprechende Sprungmarke aufgerufen werden.
Leider scheitere ich auch bei ausgeschalter Firewall am Zugriff auf den Server (Win7pro)
Es erscheint die Meldung Fehler: Anmeldung fehlgeschlagen: Unbekannter Benutzername oder falsches Kennwort
An der fehlerhaften Eingabe des Benuzternamens/Kennwort kanne es eigentlich nicht liegen, da ich dies korrekt eingegeben habe. Firwall ausgeschaltet ändert nichts. Die aufrufende Batchdatei hat Administratorrechte.
Re: tasklist
Verfasst: Mittwoch 4. November 2015, 12:20
von PlanB
Eine ausgeführte TMAdmin ist kein Indikator dafür, ob sich eine Datenbank im Sicherungsmodus befindet.
Die einfachste Methode wäre an der zu prüfenden Station tmwinadmin (gui) ausgeführt wird.
TMWinAdmin [/beginBackup] [/endBackup] [/backupstatus] [/listProcesses]
[/listClients] [/correctdictname] [/cachePraxisDB] [/server=servername]
[/logfile=logfile]
/beginBackup bereitet die Datenbanken fuer ein Backup vor
/endBackup leitet das Ende des Backup ein
/backupstatus zeigt den Backup-Zustand der Datenbanken an
/listProcesses zeigt die aktuellen Prozesse des Servers an
/listClients zeigt die mit dem Server verbundenen Clients an
/correctdictname korrigiert die Dictionary Eintraege der Datenbanken
/cachePraxisDB laedt die Datenbank PraxisDB in den Windows-Systemcache
Optional:
/server=servername Name des Datenbankservers
/logfile=logfile Pfad + Name des Logfiles
oder tmadmin /server="Servername" /backupstatus
Re: tasklist
Verfasst: Mittwoch 4. November 2015, 17:42
von rfbdoc
Danke für die Antwort.
Den TmAdmin Schalter /backupstatus kannte ich bisher nicht
Der Befehl C:\turbomed\Programm\TMAdmin /Backupstatus /Server=server1 gibt mir je nach Backupstatus die
Antwort zurück:
Externer Backupmodus laeuft nicht
oder
Externer Backupmodus laeuft
Läßt sich der Inhalt der Antwort in der Batch z.B. als If-Verzweigung weiter verabeiten ?
Re: tasklist
Verfasst: Donnerstag 5. November 2015, 12:37
von PlanB
Leider gibt %ErrorLevel% immer 0 zurück.
Es gibt aber Möglichkeiten den Stream abzufangen und den String abzufragen, aber ob das mit Batch möglich ist..
Re: tasklist
Verfasst: Donnerstag 5. November 2015, 13:16
von rfbdoc
errorlevel hatte ich auch schon mit obigem Resultat getestet.
Mal sehen ob sich das Problem irgendwie lösen läßt.
Danke für Ihre Antwort.
Re: tasklist
Verfasst: Donnerstag 5. November 2015, 14:39
von McLeod
Am einfachsten wäre es wohl, die Ausgabe von tmadmin /backupstatus in eine Datei umzuleiten und dann zu mit findstr prüfen oder direkt an findstr zu pipen.
Re: tasklist
Verfasst: Donnerstag 5. November 2015, 14:42
von McLeod
Soll natürlich "...und dann mit findstr zu prüfen..." heißen.
Re: tasklist
Verfasst: Donnerstag 5. November 2015, 14:57
von PlanB
Habe es mal durchgetestet,
tmadmin [..] > test.txt
findstr /m "nicht" test.txt
errorlevel
1 = im Backupmodus
0 = normal
Ich habe das damals per VB.net realisiert, da leuchtet dann ein grünes Lämpchen wenn der Backup-Modus läuft

Re: tasklist
Verfasst: Donnerstag 5. November 2015, 18:39
von rfbdoc
Guter Plan B !
Das hilft mir weiter !
Vielen Dank