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.