Limpar o cache do driver de impressão no Windows 7 com script PowerShell

5

[Antecedentes]

Temos tido problemas com os nossos clientes de rede que, de repente, não conseguem imprimir. Eles recebem um erro estranho com um código hexadecimal. Determinamos que algo no driver estava bagunçado e resolvemos o problema limpando o cache do driver e reinstalando o driver. Isso acontece com computadores aleatórios de vez em quando. Estamos assumindo que este é um bug com o driver Dell 2330dn mais recente, já que é o único modelo que tem esse problema.

[Problema]

O que estamos procurando é escrever um script Powershell que limpe o cache do driver e faça o download do driver novamente. Eu vejo uma tonelada de scripts lá fora para gerenciar filas, servidores e portas, mas nada para o gerenciamento de cache do driver local.

[Solução alternativa atual]

Como temos que fazer isso manualmente, vou escrever as etapas para que você saiba o que queremos que esse script replique.

  1. Desativar o spooler de impressão
  2. Reiniciar máquina
  3. Excluir o conteúdo de: C: \ windows \ system32 \ spool \ drivers \ w32x86
  4. Ative o spooler de impressão e inicie o serviço.
  5. Exclua o objeto de impressora de rede e adicione novamente a impressora de rede fora do servidor.

[Pedido]

Eu sou bom o suficiente com o powershell para traduzir a solução acima em um par de scripts. Eu gostaria de encontrar uma solução mais elegante do que a minha solução atual.

Alguma sugestão?

    
por Doltknuckle 20.01.2012 / 18:23

1 resposta

2

Só porque você está usando o PowerShell, isso não significa que você não pode usar comandos antigos como sc stop/start servicename , net use , etc.

Se você realmente precisa de um reinício do sistema, provavelmente precisará de dois scripts separados.

Qual é o problema com a exclusão do conteúdo do diretório do driver da impressora? Ou você quis dizer algo mais por "gerenciamento de arquivos"?

    
por 26.03.2012 / 23:23