Parece que isso não é possível. Vou arquivar uma solicitação de recurso com a Microsoft.
Eu me deparei com um showstopper na minha magnífica tarefa de criar um GPO de impressora que mapeia impressoras dentro da sessão TS com base no endereço do cliente RDP - o endereço não é conhecido ao usar um servidor de gateway: (
Clique com o botão direito + status em uma sessão por meio do gateway RD:
AmesmacoisaemumasessãoqueNÃOestápassandopelogatewaydoRD:
Alguém sabe se é possível se locomover? Há talvez algum tipo de alteração de registro não documentada que eu possa fazer no servidor de gateway para transmitir essas informações?
Como o gateway TS é efetivamente um proxy, por que você não consulta os registros do proxy ? A filtragem do último evento 303 do Gateway de Área de Trabalho Remota pelo usuário em questão deve fornecer o IP. Não tenho conhecimento de nenhum cabeçalho "X-Forwarded-For" no RDP.
Eu vi isso, eu não sei se isso ajuda, mas queria passá-lo apenas no caso.
Talvez você possa criar um script de logon que mapeie a impressora com base na conexão RDP? Primeiro, crie um arquivo "iplist.txt" que contenha os endereços IP e os departamentos para os quais você deseja mapear a impressora:
192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance
Coloque o arquivo iplist.txt em um diretório no qual a pessoa que estiver efetuando login terá acesso de leitura. A partir daí, você pode usar esse arquivo em lotes para mapear a impressora:
@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
Você também deseja certificar-se de que o logfile.txt seja gravado em um local no qual o login do usuário terá acesso de gravação.
Pode não ser o regateio que você está procurando, mas pode funcionar como uma alternativa ...