Bei einem Kunden haben wir leider die Situation, das es nur das eine Administrator-Konto gibt, dieses aber von mehreren Leuten verwendet wird (von uns, dem hauseigenen Admin des Kunden, einem freiberuflichen Entwickler der beim Kunden sitzt, einem “Verantwortlichen” und einer Mitarbeiterin aus der Buchhaltung).

Grundsätzlich bin ich kein Freund davon, das z.B. normale Mitarbeiter bzw. Anwender per Remotedesktopverbindung auf einen Server zugreifen. In der Vergangeheit gab das (auch bei anderen Kunden) teils böse Geschichten. Dabei geht es um nichts persönliches, sondern schlicht um die Fachkompetenz. Ein Beispiel: Einen PC mal neu starten ist im Tagesbetreib nicht weiter tragisch, einen Server an dem x Benutzer arbeiten hingegen schon, von den Eigenarten mancher Anwendung ganz zu schweigen.

Zurück zum Thema: Jedenfalls kommt es des öfteren vor, das man sich gegenseitig die RDP-Sitzung klaut. Nicht schön, vor allem, wenn man gerade am Tippen ist. Die saubere Lösung wäre unterschiedliche Admin-Konten zu verwenden. Eigentlich kein Ding, aber selbst nach jahrelangen Hick-Hack möchte man das aus unbekanntem Grund nicht.

Mit folgendem Skript kann man prüfen, ob gerade auf einem angegebennen Server der Administrator verbunden oder getrennt ist und von welchem Computer aus die letzte Verbindung aufgebaut wurde:

@echo off

title Ist der Administrator verbunden?

rem Konfiguration

 set server=
 set sid=

rem Sitzungen abfragen

 echo.
 echo Verbindungsstatus:
 echo.
 query session /server:%server% | find /i "Administrator"
 echo.

echo --------------------------------------------------------------------------------

rem Clientname des Administrator-PCs abfragen

 echo.
 echo Computername, von dem aus zuletzt der Administrator angemeldet war:
 echo.
 reg query "\\%server%\HKEY_USERS\%sid%\Volatile Environment\1" /v Clientname | find /i "Clientname"
 echo.

echo --------------------------------------------------------------------------------

echo.
pause

Damit das Ganze funktioniert, muss in den Variablen des Skripts der Server und die SID des Administrators eingetragen sein, der Dienst “Remoteregistrierung” auf dem Ziel-Server muss laufen, ferner muss man als Administrator irgendwie von dem Server authentifiziert worden sein (z.B. “net use…”). Das Ergebnis sind dann so aus:

Das Ganze ist eine quick&dirty-Lösung von mir und hat mir heute im Laufe des Tages bereits mehrfach geholfen. So konnte immer die Zeit, wo kein anderer per RDP aktiv war genutzt werden, ohne das man sich in die Quere gekommen ist.