Возможно, вы могли бы создать сценарий входа, который отображает принтер на основе RDP-соединения? Сначала создайте файл «iplist.txt», который содержит IP-адреса и отделы, для которых вы хотите сопоставить принтер:
192.168.0.173,Marketing
192.168.1.173,Sales
192.168.2.173,Finance
Поместите файл iplist.txt в каталог, к которому входящий пользователь получит доступ для чтения. Оттуда вы можете использовать этот пакетный файл для сопоставления принтера:
@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
Вы также хотите убедиться, что logfile.txt будет записан в место, в которое пользователь, вошедший в систему, получит доступ для записи.
Это может быть не так, как вы ищете, но это может работать как альтернатива ....