RDP Session wird nicht sauber beendet
Hallo liebe Forumgemeinde,
mein erster Beitrag....
User melden sich auf einem Win Server 2000 per rdp Session an. Automatisch wird beim anmelden eine Datenbank (Access) gestartet. Access wird über eine Batchdatei gestartet, die sich wiederum auf dem Server befindet. Im RDP Client, unter der Registerkarte "Programme" wiederum ist der Pfad zu der entsprechenden Batch eingetragen.
Wenn die User Access schließen wird auch automatisch die RDP Session abgemeldet.
Funktioniert auch alles einwandfrei.
Künftig sollen aber aus der DB heraus PDF Files mit dem Programm Free PDF XP erstellt werden. Damit Free PDF funktioniert, muss aber noch das Programm "fpassist.exe" gestartet werden.
Problem ist dann aber, dass die RDP Session nicht beendet wird, wenn der User Access schließt. Die Session versucht sich zwar normal abzumelden, bleibt dann aber hängen und der User sieht nur noch den Desktop des Servers und es geht nicht mehr weiter.
Irgendwie müsste ich es also einrichten, dass auch noch "fpassist.exe" beendet wird. Nur habe ich da keine Ahnung wie ich das machen sollen.
Könnt ihr helfen?
Grüße
Easyrider
mein erster Beitrag....
User melden sich auf einem Win Server 2000 per rdp Session an. Automatisch wird beim anmelden eine Datenbank (Access) gestartet. Access wird über eine Batchdatei gestartet, die sich wiederum auf dem Server befindet. Im RDP Client, unter der Registerkarte "Programme" wiederum ist der Pfad zu der entsprechenden Batch eingetragen.
Wenn die User Access schließen wird auch automatisch die RDP Session abgemeldet.
Funktioniert auch alles einwandfrei.
Künftig sollen aber aus der DB heraus PDF Files mit dem Programm Free PDF XP erstellt werden. Damit Free PDF funktioniert, muss aber noch das Programm "fpassist.exe" gestartet werden.
Problem ist dann aber, dass die RDP Session nicht beendet wird, wenn der User Access schließt. Die Session versucht sich zwar normal abzumelden, bleibt dann aber hängen und der User sieht nur noch den Desktop des Servers und es geht nicht mehr weiter.
Irgendwie müsste ich es also einrichten, dass auch noch "fpassist.exe" beendet wird. Nur habe ich da keine Ahnung wie ich das machen sollen.
Könnt ihr helfen?
Grüße
Easyrider
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87399
Url: https://administrator.de/contentid/87399
Ausgedruckt am: 05.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Es währe möglich Access in der Batchdatei mit: start /wait "(Access...)" zu starten, wobei die Batchdatei noch aktiv bleibt und in der nächsten Zeile zu schreiben: shutdown.exe -l
Dadurch wird der User nachdem Access beendet wurde automatisch abgemeldet. Alle von ihm gestarteten Prozesse werden Terminiert. Zu beachten ist hierbei jedoch, dass die Anwendung shutdown.exe nicht Teil von Windows 2000 ist. Man könnte sie jedoch aus Windows XP entnehmen und in den gleichen Pfad unter Windows 2000 wieder einfügen. Zu finden ist die Datei unter: %systemroot%\system32\shutdown.exe
Beispiel.cmd-----
rem Free PDF starten
fpassist.exe
rem Access starten und auf beendung warten...
start /wait "%programfiles%\Microsoft Office\Office11\Access.exe -...."
rem User abmelden sobald Access beendet wurde
shutdown.exe -l
End-of-File-----
Gruß
ibwerner
Dadurch wird der User nachdem Access beendet wurde automatisch abgemeldet. Alle von ihm gestarteten Prozesse werden Terminiert. Zu beachten ist hierbei jedoch, dass die Anwendung shutdown.exe nicht Teil von Windows 2000 ist. Man könnte sie jedoch aus Windows XP entnehmen und in den gleichen Pfad unter Windows 2000 wieder einfügen. Zu finden ist die Datei unter: %systemroot%\system32\shutdown.exe
Beispiel.cmd-----
rem Free PDF starten
fpassist.exe
rem Access starten und auf beendung warten...
start /wait "%programfiles%\Microsoft Office\Office11\Access.exe -...."
rem User abmelden sobald Access beendet wurde
shutdown.exe -l
End-of-File-----
Gruß
ibwerner
Nur noch dazu eine Frage:
Kann man damit jede beliebige Datei/Programm auf einem Server öffnen und automatisch schließen lassen?
Wir haben hier denn Fall, dass wir nur ein Programm auf einem virtuellen Server (linux) auf einem Windows 2003 Server (DC) von jedem Arbeitsplatz aus starten wollen.
Gruß
tobman112
Kann man damit jede beliebige Datei/Programm auf einem Server öffnen und automatisch schließen lassen?
Wir haben hier denn Fall, dass wir nur ein Programm auf einem virtuellen Server (linux) auf einem Windows 2003 Server (DC) von jedem Arbeitsplatz aus starten wollen.
Gruß
tobman112
Um Programme aus dem Netzwerk auszuführen müssen diese, bzw. der Freigabeordner, um in einer Batch-Datei geladen zu werden, als Netzwerklaufwerk eingebunden werden. (ich gehe mal davon aus, dass ein Linux-Server mit einem Samba-Share verwendet wird.
Beispiel:
run_net.cmd---
rem Befehlszeilen werden nicht angezeigt
@echo off
rem Hier Netzwerkpfad eintragen
set netPath="\\server\freigabe"
set AppName="Anwendung.exe"
rem Hier Netzlaufwerksbuchstabe eintragen (z.B. P
set driveLetter="P:"
rem Befehl zum Einbinden des Netzlaufwerks
net use %driveLetter% %netPath%
rem hier könnten noch andere Programme ausgeführt werden
rem Programm starten und auf beenden warten
start /wait %driveLetter%\%AppName%
rem ODER:
rem programm Starten
start %driveLetter%\%AppName%
rem und jetzt andere anwendungen ausführen
rem und dann programm wieder schließen (prozess killen)
taskkill /f /im %AppName%
rem Netzlaufwerk wieder löschen
net use %driveLetter% /delete
---end-of-file---
ANMERKUNG:
Mit der Anweisung "start" lassen sich auch Dateien öffnen.
z.B.: "start /wait %windir%\setuplog.txt"
WICHTIG:
Der momentan angmeldete User muss über Zugriffsberechtigungen auf die Freigabe verfügen!
Sollte dies nicht der Fall sein, so muss die Zeile "net use %driveLetter% %netPath%" in
"net use %driveLetter% %netPath% [kennwort] /user:"[benutzername@domain]" (Die -Klammern sagen nur aus, dass diese Werte ersetzt werden sollen) geändert werden.
Falls es nicht erwünscht ist, dass das Passwort klar lesbar in der Batchdatei zu lesen ist, so kann man auch schreiben:
"net use %driveLetter% %netPath% /user:"[benutzername@domain]", wobei der User in diesem Fall in der Konsole nach dem Kennwort gefragt wird.
Beispiel:
run_net.cmd---
rem Befehlszeilen werden nicht angezeigt
@echo off
rem Hier Netzwerkpfad eintragen
set netPath="\\server\freigabe"
set AppName="Anwendung.exe"
rem Hier Netzlaufwerksbuchstabe eintragen (z.B. P
set driveLetter="P:"
rem Befehl zum Einbinden des Netzlaufwerks
net use %driveLetter% %netPath%
rem hier könnten noch andere Programme ausgeführt werden
rem Programm starten und auf beenden warten
start /wait %driveLetter%\%AppName%
rem ODER:
rem programm Starten
start %driveLetter%\%AppName%
rem und jetzt andere anwendungen ausführen
rem und dann programm wieder schließen (prozess killen)
taskkill /f /im %AppName%
rem Netzlaufwerk wieder löschen
net use %driveLetter% /delete
---end-of-file---
ANMERKUNG:
Mit der Anweisung "start" lassen sich auch Dateien öffnen.
z.B.: "start /wait %windir%\setuplog.txt"
WICHTIG:
Der momentan angmeldete User muss über Zugriffsberechtigungen auf die Freigabe verfügen!
Sollte dies nicht der Fall sein, so muss die Zeile "net use %driveLetter% %netPath%" in
"net use %driveLetter% %netPath% [kennwort] /user:"[benutzername@domain]" (Die -Klammern sagen nur aus, dass diese Werte ersetzt werden sollen) geändert werden.
Falls es nicht erwünscht ist, dass das Passwort klar lesbar in der Batchdatei zu lesen ist, so kann man auch schreiben:
"net use %driveLetter% %netPath% /user:"[benutzername@domain]", wobei der User in diesem Fall in der Konsole nach dem Kennwort gefragt wird.