Adres klienta RDP jest nieznany podczas łączenia przez bramę


10

Spotkałem showstoppera w moim wspaniałym zadaniu, aby utworzyć GPO drukarki, który mapuje drukarki w sesji TS na podstawie adresu klienta RDP - adres nie jest znany, gdy używasz serwera bramy :(

Kliknij prawym przyciskiem myszy status + w sesji za pośrednictwem bramy usług pulpitu zdalnego:

wprowadź opis zdjęcia tutaj

To samo dotyczy sesji NIE przechodzącej przez bramę usług pulpitu zdalnego:

wprowadź opis zdjęcia tutaj

Czy ktoś wie, czy można się obejść? Czy może jest jakaś nieudokumentowana zmiana rejestru, którą mogę zrobić na serwerze bramy, aby przekazać te informacje?

Odpowiedzi:


2

Wygląda na to, że to niemożliwe. Zamierzam złożyć żądanie funkcji w firmie Microsoft.


1

Ponieważ brama TS jest faktycznie serwerem proxy, dlaczego nie przeszukujesz dzienników serwera proxy ? Filtrowanie dla ostatniego zdarzenia 303 z bramy usług pulpitu zdalnego przez danego użytkownika powinno dostarczyć ci adres IP. Nie znam żadnego nagłówka typu „X-Forwarded-For” w RDP.


Nie jestem pewien, czy wiesz, jak działa kierowanie na poziomie przedmiotu w obiekcie zasad grupy, ale jestem całkiem pewien, że nie ma sposobu, aby zasilić go danymi z pliku dziennika.
pauska

@pauska ah, targetowanie. Myślałem, że piszesz. Brak dalszych pomysłów, przepraszam.
the-wabbit

Wyszukiwanie WQL na GPO? To ... szorstkie, ale może działać.
Patrick

@ Patryk prawie wszystko na temat skryptów Windows jest szorstkie, jeśli nie brzydkie. Nie możemy tego zmienić, więc musimy z tym żyć.
the-wabbit


0

Być może mógłbyś utworzyć skrypt logowania, który mapuje drukarkę na podstawie połączenia RDP? Najpierw utwórz plik „iplist.txt” zawierający adresy IP i działy, dla których chcesz zamapować drukarkę:

192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance

Umieść plik iplist.txt w katalogu, do którego zalogowana osoba będzie miała dostęp do odczytu. Stamtąd możesz użyć tego pliku wsadowego do mapowania drukarki:

@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

Chcesz także upewnić się, że plik logfile.txt zostanie zapisany w lokalizacji, do której zalogowany użytkownik będzie miał dostęp do zapisu.

To może nie być reg hack, którego szukasz, ale może działać jako alternatywa ....


Właśnie zdałem sobie sprawę, że jeśli wiele osób jest podłączonych do komputera za pośrednictwem RDP, spowoduje to mapowanie drukarki dla osoby, której adres IP jest najwyższy na liście połączeń ..... więc może nie działać poprawnie w twoim środowisku :(
matrixx333,

Dzięki za wysiłek, ale chodzi tutaj o to, że adres IP klienta jest „NIEZNANY”, gdy łączysz się przez bramę usług pulpitu zdalnego. Mam już rozwiązanie do mapowania drukarek po ujawnieniu adresu IP klienta (rozszerzenie zasad grupy).
pauska

Przepraszam za nieporozumienie ... pisanie scenariusza było fajne :)
matrixx333,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.