Windows: Per Variable feststellen das man per RDP verbunden ist und den Clientnamen ermitteln

Möchte man per Skript ermitteln, ob man an der Konsole oder mittels RDP an Windows angemeldet ist und/oder möchte man in Erfahrung bringen von welchem RDP-Client aus, geht dies ganz einfach mittels einer Variablen.

Ist man per RDP, ganz gleich ob vollwertiger Desktop oder als RemoteApp verbunden, wird die Variable “CLIENTNAME” gesetzt. Diese existiert nur, wenn die Verbindung mittels RDP erfolgt und sie enthält den Hostnamen des zugreifenden Computers. Ein Beispiel:

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\Administrator>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
CLIENTNAME=PC05

Dies bietet Möglichkeiten um z.B. Skript-gesteuert bestimmte Aktionen auslösen zu können, wenn man per Remotedesktop oder von einem bestimmten Client aus zugreift. Für eine Fehlersuche kann dies ebenfalls hilfreich sein.

Um auf das Vorhandensein dieser Variablen per Batch-Skript zu prüfen, kann man folgenden Code verwenden:

@echo off

verify other 2>nul
setlocal enableextensions
if defined CLIENTNAME (echo true) else (echo false)
endlocal

In Abhängigkeit ob diese Variable vorhanden ist oder nicht können weitere Befehle ausgeführt werden.

Quelle

Rob van der Woude’s Scripting Pages – Batch How To … Verify if Variables are Defined

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.