La dirección del cliente RDP es desconocida cuando se conecta a través de una puerta de enlace

10

Me encontré con un gran éxito en mi magnífica tarea de crear un GPO de impresora que asigna impresoras dentro de la sesión de TS en función de la dirección del cliente RDP; la dirección no se conoce cuando se utiliza un servidor de puerta de enlace :(

Haga clic derecho + estado en una sesión a través de la puerta de enlace RD:

ingrese la descripción de la imagen aquí

Lo mismo en una sesión que NO pasa por la puerta de enlace RD:

ingrese la descripción de la imagen aquí

¿Alguien sabe si esto es posible moverse? ¿Hay algún tipo de cambio de registro indocumentado que pueda hacer en el servidor de puerta de enlace para transmitir esta información?

pauska
fuente

Respuestas:

2

Parece que esto no es posible. Voy a presentar una solicitud de función con Microsoft.

pauska
fuente
1

Dado que la puerta de enlace de TS es efectivamente un proxy, ¿por qué no consulta los registros del proxy ? El filtrado del último evento 303 desde Remote Desktop Gateway por parte del usuario en cuestión debería proporcionarle la IP. No conozco ningún encabezado de estilo "X-Fordered-For" en RDP.

el wabbit
fuente
No estoy seguro si sabe cómo funciona la orientación a nivel de elemento en un GPO, pero estoy bastante seguro de que no hay ninguna forma de alimentarlo con datos de un archivo de registro.
pauska
@pauska ah, apuntando. Pensé que estabas escribiendo guiones. No hay más ideas entonces, lo siento.
the-wabbit
Búsqueda de WQL en el GPO? Es ... áspero, pero podría funcionar.
Patrick
@Patrick casi todo lo relacionado con los scripts de Windows es difícil, si no feo No podemos cambiarlo, así que tenemos que vivir con eso.
the-wabbit
0

¿Quizás podría crear un script de inicio de sesión que asigne la impresora en función de la conexión RDP? Primero cree un archivo "iplist.txt" que contenga las direcciones IP y los departamentos para los que desea asignar la impresora:

192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance

Coloque el archivo iplist.txt en un directorio al que la persona que inicie sesión tendrá acceso de lectura. Desde allí, puede usar este archivo por lotes para asignar la impresora:

@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

También debe asegurarse de que logfile.txt se escriba en una ubicación a la que el usuario que inicie sesión tenga acceso de escritura.

Puede que no sea el truco que estás buscando, pero podría funcionar como una alternativa ...

matrixx333
fuente
Me acabo de dar cuenta de que si hay varias personas conectadas a la computadora a través de RDP, esto asignará la impresora a la persona cuya dirección IP es la más alta en la lista de conexiones ... por lo que podría no funcionar correctamente en su entorno :(
matrixx333
Gracias por el esfuerzo, pero el punto aquí es que la IP del cliente es "DESCONOCIDA" cuando se conecta a través de una puerta de enlace RD. Ya tengo una solución para asignar las impresoras cuando se revela la IP del cliente (extensión de política de grupo).
pauska
Pido disculpas por el malentendido ... aún así, escribir el guión fue divertido :)
matrixx333