Назад | Перейти на главную страницу

Установить принтер RDS по умолчанию по сеансу / клиенту

У нас есть сервер Multipoint 2012 с RDS для немых терминалов, установленный по всему нашему предприятию. Клиенты названы по месту нахождения. Каждое место использует свой собственный принтер. В связи с тем, что клиентов больше, чем пользователей, у нас будет пользователь, входящий в систему из разных мест.

Я разработал сценарий VBS, который запускается в сеансе RDS, чтобы установить принтер по умолчанию в зависимости от того, где находится клиент. Код работает хорошо. Однако, когда пользователь также входит в систему из разных мест, все сеансы для этого пользователя получают новый принтер по умолчанию. Это привело к тому, что люди повсюду гоняются за документами.

Могу ли я что-нибудь сделать, чтобы изменить принтер по умолчанию только для текущего сеанса, а не для всего профиля пользователя?

Вот мой сценарий:

Dim ClientName
Dim Shell
Dim WSHNetwork

Set Shell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

ClientName = LCase(Shell.ExpandEnvironmentStrings("%ClientName%"))

Set WSHNetwork = CreateObject("WScript.Network")

If InStr(ClientName, "inspection") > 0 Then

    WSHNetwork.SetDefaultPrinter "[INSPECTION_PRINTER_NAME]"

ElseIf InStr(ClientName, "tooling") > 0 Then

    WSHNetwork.SetDefaultPrinter "[TOOLING_PRINTER_NAME]"

ElseIf InStr(ClientName, "assembly") > 0 Then

    WSHNetwork.SetDefaultPrinter "[ASSEMBLY_PRINTER_NAME]"

ElseIf InStr(ClientName, "lathe") > 0 Then

    WSHNetwork.SetDefaultPrinter "[LATHE_PRINTER_NAME]"

End If

Если нет возможности сделать именно то, что я пытаюсь сделать, я открыт для предложений сделать что-то по-другому.