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 ao qual a pessoa que está acessando terá acesso de leitura. A partir daí, você pode usar este 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 ao qual o usuário conectado terá acesso de gravação.
Pode não ser o registro que você está procurando, mas poderia funcionar como uma alternativa ....