Trabalho para uma empresa que possui aproximadamente 3.000 computadores e aproximadamente 1.500 impressoras. Atualmente, o método para instalar uma impressora é bastante manual, e estamos olhando para automatizar o processo. Existem certas restrições que se aplicam a esta pergunta:
- Deve funcionar no Windows 7 e Windows 10
- A solução não pode ser um servidor de impressão
Além disso, tenho algumas preferências pessoais quanto à solução:
- De preferência, não requer direitos administrativos para o PC
- De preferência, pode ser gerenciado remotamente, ou seja, uma alteração em um modelo de impressora pode ser replicada para todos os usuários no domínio
- De preferência, é necessário pouco script, pois planejamos fazer com que os usuários finais operem essa ferramenta.
O processo atual que estamos usando é executar o seguinte comando (ou criar um script em lote), mas essa definitivamente não é uma solução válida:
rundll32 printui.dll,PrintUIEntry /ia /m "Kyocera FS-4100DN KX" /f "\\share\xfer\PRTscript\_drivers\KXDriver\32bit\OEMsetup.inf"
Esta não é uma solução válida como:
- Não podemos replicar alterações nos clientes (a menos que alojemos o 'script' em um compartilhamento
- Requer direitos administrativos para instalar as impressoras
- É uma tarefa manual e não consegue distinguir 32 de 64 bits (ou pelo menos, deve atender a ambos)
Agora, eu sei que podemos usar a opção Diretivas de Grupo para implantar impressoras, mas isso depende de duas coisas:
- A OU da empresa (ou pelo menos, grupo de segurança) está correta e;
- Os PCs em questão estão recebendo a Diretiva de Grupo ( deveriam )
E sim, eu sei que a Diretiva de Grupo corresponde a todos os meus requisitos E preferências, mas só quero examinar minhas opções antes de precisar arrumar minha UO (e sub-UO, grupos de segurança e políticas existentes) - no final, o GPO seria o solução mais sábia, mas quero uma ferramenta de curto prazo enquanto trabalho nisso.
Então, talvez, pensei, poderíamos usar um script simples do Visual Basic - mas, novamente, isso requer muita edição manual e a única maneira de pensar em automatizar isso seria implantar por meio da Diretiva de Grupo:
Set WshNetwork = CreateObject("WScript.Network")
PrinterPath = "\\Server\Printer"
PrinterDriver = "PrinterDriver"
WshNetwork.AddWindowsPrinterConnection PrinterPath, PrinterDriver
WshNetwork.SetDefaultPrinter "\\Server\Printer"
A próxima teoria que posso descartar seria usar o PrintBRM