Definir impressora padrão RDS por sessão / cliente

2

Temos um servidor Multiponto 2012 rodando o RDS para terminais burros instalados em nossas instalações. Os clientes são nomeados por sua localização. Cada local usa sua própria impressora. Devido ao fato de haver mais clientes do que usuários, teremos um usuário logado de vários locais.

Desenvolvi um script VBS que é executado na sessão do RDS para definir a impressora padrão, dependendo de onde o cliente está. O código funciona bem. No entanto, quando um usuário também faz login de locais diferentes, todas as sessões desse usuário obtêm a nova impressora padrão. Isso levou as pessoas a perseguir a papelada em todo o lugar.

Existe algo que eu possa fazer para alterar somente a impressora padrão para a sessão atual e não para o perfil de usuário inteiro?

Aqui está o meu script:

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

Se não houver como fazer exatamente o que estou tentando, estou aberto a sugestões sobre como fazer algo diferente.

    
por Pratt Hinds 08.08.2013 / 14:54

0 respostas