Definindo Impressoras Padrão no Script de Login?

1

Eu tenho uma configuração de script de login, que remove todas as impressoras antigas e, em seguida, adiciona o conjunto atual de impressoras de rede.

CÓDIGO

Set WSHPrinters = WSHNetwork.EnumPrinterConnections
For LOOP_COUNTER = 0 To WSHPrinters.Count - 1 Step 2
  If Left(WSHPrinters.Item(LOOP_COUNTER +1),2) = "\" Then
    WSHNetwork.RemovePrinterConnection WSHPrinters.Item(LOOP_COUNTER +1),True,True
  End If
Next

'Install Network Printers
WSHNetwork.AddWindowsPrinterConnection "\SERVER\PRINTER1"
WSHNetwork.AddWindowsPrinterConnection "\SERVER\PRINTER2"
WSHNetwork.AddWindowsPrinterConnection "\SERVER\PRINTER3"
WSHNetwork.AddWindowsPrinterConnection "\SERVER\PRINTER4"

Isso está correto, mas parece redefinir a impressora padrão atual na máquina do usuário.

Existe uma maneira de preservar a impressora padrão atual na máquina do usuário?

Esta é a maneira mais sensata de conferir impressoras de rede para usuários no login? Ou existem alternativas ou melhores maneiras de fazer isso?

Qualquer ajuda é muito apreciada.

    
por spelk 10.03.2010 / 08:10

3 respostas

0

Na última vez em que criei scripts, adicionei um grupo para cada impressora no AD - depois adicionei o usuário a qualquer grupo de impressoras que supostamente fosse seu padrão - e no script de logon verificado para essa associação de grupo, definindo o apropriado padrão.

Obviamente, esse ambiente era bem fixo, então isso era fácil de determinar - colocando a responsabilidade de configurar uma impressora padrão nos modelos, em vez do usuário pobre (que ainda podia alterá-la manualmente quando necessário). Uma abordagem mais óbvia pode ser verificar qual é a impressora padrão antes de remover as impressoras e, em seguida (se a impressora ainda existir depois do script), reaplique a configuração padrão da impressora.

Mas, como a TomTom escreve, hoje em dia as impressoras podem ser conectadas usando políticas de grupo - e você não deve ter nenhum dos problemas mencionados de qualquer maneira.

Eu também lembro de fazer um dump de registro da chave de registro Printers e importá-lo estupendamente rápido, se você tem a possibilidade de congelar configurações do sistema (como em um TS) é bem divertido, embora não muito sustentável;)

    
por 10.03.2010 / 10:01
1

Por que usar um script?

Eu implementei configurações de impressora (e unidades mapeadas) usando as extensões de cliente do mecanismo de política de grupo (que foi introduzido há muito tempo e faz parte de todas as atualizações do Windows desde anos).

    
por 10.03.2010 / 08:16
1

Eu uso um exe antigo que veio no kit de recursos do WinNT chamado con2prt.exe.

A melhor maneira de chamá-lo seria pelo seu script de login da VBS da seguinte forma:

'Mapping printers needed by everyone
Set WSHShell = CreateObject("Wscript.Shell")
WSHShell.Run ("\SERVER\SYSVOL\SERVER.local\scripts\map_printers.bat")

E o Map_Printers.bat deve conter

:: Map Printers
: HP 1600
\SERVER\SYSVOL\server.local\scripts\con2prt.exe /cd \SERVER\HP1600
:: Ricoh Aficio 2035e 
\SERVER\SYSVOL\server.local\scripts\con2prt.exe /c \SERVER\RICOH2035
:: Samsung ML-2010
\SERVER\SYSVOL\server.local\scripts\con2prt.exe /c \SERVER\SamsML2010
:: HP BusinessInket 2230
\SERVER\SYSVOL\server.local\scripts\con2prt.exe /c \SERVER\HP2230

O / cd significa definir deafult.

Você pode descobrir todos os comandos executando con2prt.exe /?

Além disso, você pode fazer o download aqui: link

    
por 10.03.2010 / 10:30