按会话/客户端设置 RDS 默认打印机

按会话/客户端设置 RDS 默认打印机

我们在整个设施内都安装了一台运行 RDS 的 Multipoint 2012 服务器,用于哑终端。客户端按其位置命名。每个位置使用自己的打印机。由于客户端比用户多,我们将让用户从多个位置登录。

我开发了一个在 RDS 会话上运行的 VBS 脚本,用于根据客户端所在的位置设置默认打印机。该代码运行良好。但是,当用户也从不同位置登录时,该用户的所有会话都会获得新的默认打印机。这导致人们到处寻找文件。

我可以做些什么来仅更改当前会话的默认打印机而不是整个用户配置文件的默认打印机?

这是我的脚本:

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

如果没有办法完全实现我所尝试的事情,我愿意接受以不同方式做事的建议。

相关内容