L'adresse du client RDP est inconnue lors de la connexion via une passerelle


10

Je suis tombé sur un showstopper dans ma magnifique tâche de créer un GPO d'imprimante qui mappe les imprimantes à l'intérieur de la session TS en fonction de l'adresse du client RDP - l'adresse n'est pas connue lors de l'utilisation d'un serveur de passerelle :(

Clic droit + état sur une session via la passerelle RD:

entrez la description de l'image ici

Même chose sur une session ne passant pas par la passerelle RD:

entrez la description de l'image ici

Est-ce que quelqu'un sait si cela est possible de se déplacer? Y a-t-il peut-être une sorte de modification de registre non documentée que je peux faire sur le serveur de passerelle pour transmettre ces informations?

Réponses:


2

On dirait que ce n'est pas possible. Je vais déposer une demande de fonctionnalité auprès de Microsoft.


1

Étant donné que la passerelle TS est effectivement un proxy, pourquoi ne pas interroger les journaux du proxy ? Le filtrage du dernier événement 303 à partir de la passerelle Bureau à distance par l'utilisateur en question devrait vous fournir l'adresse IP. Je ne connais aucun en - tête de style "X-Forwarded-For" dans RDP.


Je ne sais pas si vous savez comment fonctionne le ciblage au niveau de l'élément dans un objet de stratégie de groupe, mais je suis assez convaincu qu'il n'y a aucun moyen de l'alimenter avec les données d'un fichier journal.
pauska

@pauska ah, ciblage. Je pensais que tu écrivais. Aucune autre idée alors, désolé.
le-wabbit

Recherche WQL sur le GPO? C'est ... rude, mais ça pourrait marcher.
Patrick

@Patrick presque tout sur les scripts Windows est rude, sinon moche. Nous ne pouvons pas le changer, nous devons donc vivre avec.
the-wabbit


0

Peut-être pourriez-vous créer un script de connexion qui mappe l'imprimante en fonction de la connexion RDP? Créez d'abord un fichier "iplist.txt" qui contient les adresses IP et les services pour lesquels vous souhaitez mapper l'imprimante:

192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance

Placez le fichier iplist.txt dans un répertoire auquel la personne qui se connectera aura accès en lecture. De là, vous pouvez utiliser ce fichier de commandes pour mapper l'imprimante:

@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

Vous voulez également vous assurer que logfile.txt est écrit dans un emplacement auquel l'utilisateur se connectant aura accès en écriture.

Ce n'est peut-être pas le reg hack que vous recherchez, mais cela pourrait fonctionner comme une alternative ....


Je viens de réaliser que si plusieurs personnes sont connectées à l'ordinateur via RDP, cela mappera l'imprimante pour la personne dont l'adresse IP est la plus élevée dans la liste des connexions ..... donc cela pourrait ne pas fonctionner correctement dans votre environnement :(
matrixx333

Merci pour l'effort, mais le point ici est que l'adresse IP du client est "INCONNUE" lorsque vous vous connectez via une passerelle RD. J'ai déjà une solution pour mapper les imprimantes lorsque l'IP du client est révélée (extension de stratégie de groupe).
pauska

Je m'excuse pour le malentendu ... quand même, écrire le script était amusant :)
matrixx333
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.