Die RDP-Client-Adresse ist bei der Verbindung über ein Gateway unbekannt

10

Ich bin bei meiner großartigen Aufgabe, ein Drucker-Gruppenrichtlinienobjekt zu erstellen, das Drucker innerhalb der TS-Sitzung basierend auf der RDP-Client-Adresse zuordnet, auf einen Showstopper gestoßen - die Adresse ist bei Verwendung eines Gateway-Servers nicht bekannt :(

Klicken Sie mit der rechten Maustaste auf + Status einer Sitzung über das RD-Gateway:

Geben Sie hier die Bildbeschreibung ein

Dasselbe gilt für eine Sitzung, die NICHT über das RD-Gateway läuft:

Geben Sie hier die Bildbeschreibung ein

Weiß jemand, ob dies möglich ist, um herumzukommen? Gibt es möglicherweise eine undokumentierte Registrierungsänderung, die ich auf dem Gateway-Server vornehmen kann, um diese Informationen weiterzugeben?

pauska
quelle

Antworten:

2

Sieht so aus, als wäre das nicht möglich. Ich werde eine Funktionsanfrage bei Microsoft einreichen.

pauska
quelle
1

Da das TS-Gateway praktisch ein Proxy ist, fragen Sie die Protokolle des Proxys nicht ab . Das Filtern nach dem letzten Ereignis 303 vom Remotedesktop-Gateway durch den betreffenden Benutzer sollte Ihnen die IP liefern. Mir ist kein Header im "X-Forwarded-For" -Stil in RDP bekannt.

the-wabbit
quelle
Ich bin mir nicht sicher, ob Sie wissen, wie das Targeting auf Elementebene in einem Gruppenrichtlinienobjekt funktioniert, aber ich bin mir ziemlich sicher, dass es keine Möglichkeit gibt, es mit Daten aus einer Protokolldatei zu versorgen.
Pause
@pauska ah, zielen. Ich dachte du machst Skripte. Keine weiteren Ideen dann, sorry.
The-Wabbit
WQL-Suche auf dem Gruppenrichtlinienobjekt? Es ist ... rau, könnte aber funktionieren.
Patrick
@Patrick Fast alles an Windows-Skripten ist rau, wenn nicht hässlich. Wir können es nicht ändern, also müssen wir damit leben.
The-Wabbit
0

Vielleicht könnten Sie ein Anmeldeskript erstellen, das den Drucker basierend auf der RDP-Verbindung zuordnet? Erstellen Sie zunächst eine "iplist.txt" -Datei, die die IP-Adressen und Abteilungen enthält, für die Sie den Drucker zuordnen möchten:

192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance

Legen Sie die Datei iplist.txt in einem Verzeichnis ab, auf das die angemeldete Person Lesezugriff hat. Von dort aus können Sie diese Batchdatei verwenden, um den Drucker zuzuordnen:

@echo off

netstat -na | find "3389" | find "ESTABLISHED" > logfile.txt

for /f "tokens=1,2 delims=," %%a in (iplist.txt) do (

    for /f %%i in ('findstr %%a logfile.txt') do (
        set ip_addr=%%a
    )

    if "%ip_addr%" == "%%a" (
        if "%%b" == "Marketing" (
            rundll32 printui.dll,PrintUIEntry /in /q /n \\print_server\marketing_ptr
            REM Set as default:
            rundll32 printui.dll,PrintUIEntry /y /q /n
            goto :end )
        if "%%b" == "Sales" (
            rundll32 printui.dll,PrintUIEntry /in /q /n \\print_server\sales_ptr
            REM Set as default:
            rundll32 printui.dll,PrintUIEntry /y /q /n
            goto :end ) 
        if "%%b" == "Finance" (
            rundll32 printui.dll,PrintUIEntry /in /q /n \\print_server\finance_ptr
            REM Set as default:
            rundll32 printui.dll,PrintUIEntry /y /q /n
            goto :end ) )
)

:end 

del logfile.txt

Sie möchten auch sicherstellen, dass logfile.txt an einen Speicherort geschrieben wird, auf den der Benutzer, der sich anmeldet, Schreibzugriff hat.

Es ist vielleicht nicht der Reg-Hack, den Sie suchen, aber es könnte als Alternative funktionieren ...

Matrixx333
quelle
Ich habe gerade festgestellt, dass, wenn mehrere Personen über RDP mit dem Computer verbunden sind, der Drucker der Person zugeordnet wird, deren IP-Adresse die höchste in der Liste der Verbindungen ist. Daher funktioniert dies möglicherweise in Ihrer Umgebung nicht ordnungsgemäß :(
Matrixx333
Vielen Dank für die Mühe, aber der Punkt hier ist, dass die Client-IP "UNBEKANNT" ist, wenn Sie eine Verbindung über ein RD-Gateway herstellen. Ich habe bereits eine Lösung für die Zuordnung der Drucker, wenn die Client-IP angezeigt wird (Gruppenrichtlinienerweiterung).
Pause
Ich entschuldige mich für das Missverständnis ... trotzdem hat das Schreiben des Skripts Spaß gemacht :)
matrixx333