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
fonte
Respostas:
https://drive.google.com/open?id=0ByhxkwJBdusDczU2MXhrYldfLUU
O objetivo deste script é instalar uma impressora em um computador remoto sem visitar o local.
Eu costumo fazer uma lista de 25 e copiar e colar em uma janela de comando administrativo e deixá-los executar.
Referindo-se ao item 3 acima de 32/64 bits. Meu script assume 64 bits e, se isso falhar, ele volta para a instalação de 32 bits.
A instalação de uma impressora precisará de direitos de administrador; é melhor você fazê-lo do que permitir que um usuário faça isso.
Para evitar erros, excluo qualquer porta / impressora existente com o mesmo nome e a recrio.
O nome de usuário e a senha são credenciais de domínio, não locais. Talvez isso lhe dê um ponto de partida. Pode ser necessário modificar o código para adicionar as informações do driver da impressora na linha de comando. Eu tenho principalmente a mesma impressora, então eu a codifiquei. Além disso, o próprio nome da impressora poderia ser um parâmetro, eu nunca o fiz.
Estou apenas ajustando o código.
fonte