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