Como excluir impressoras inexistentes no Windows?

2

Algumas impressoras de rede foram removidas do servidor de impressão e desejo removê-las automaticamente por um script (por exemplo, usando objPrinter.delete_ in vbs) de qualquer cliente que ainda esteja fazendo referência a elas; de preferência, gostaria de saber realmente quais impressoras estou excluindo nesses casos e conectar automaticamente uma impressora substituta apropriada. Isso não seria difícil se eu pudesse ler a lista dessas impressoras extintas em primeiro lugar.

A situação na GUI é que as impressoras ainda são exibidas em "Dispositivos e impressoras" com o símbolo da impressora mostrando apenas o ícone padrão da impressora, sendo esmaecido e um triângulo de aviso amarelo ao lado. Mas a impressora não não é listada, por exemplo pela consulta WMI " SELECT * FROM Win32_Printer ". Existe alguma outra consulta que seria bem sucedida para isso?

    
por Hagen von Eitzen 31.12.2015 / 09:15

1 resposta

3

Para excluir uma impressora de rede através da linha de comando e sem GUI, é possível através da atualização do registro.

As duas chaves de registro a seguir contêm definições de impressora instaladas:

HKEY_CURRENT_USER\Printers\Connections
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Providers\LanMan Print Services\Servers\Printers

Você precisa encontrar os nomes das sub-chaves acima que contêm as impressoras de rede que você deseja excluir. Depois de saber seus nomes, isso também torna-se um método para verificar se uma determinada impressora está atualmente instalada. Exclua as subchaves e reinicialize para verificar se a impressora permanece excluída.

Existem alguns pontos importantes aqui:

  1. O serviço Spooler de Impressão pode precisar ser interrompido.
  2. A fila da impressora deve estar vazia, encontrada na pasta %código%. Você não pode remover uma impressora se tiver itens na fila de impressão. Veja também o artigo Como para forçar a limpeza da fila de impressão no Windows .
  3. A maneira GUI de excluir uma impressora é executada como Administrador C:\Windows\System32\spool\PRINTERS\ , selecione a impressora, clique no botão Remover, verifique "Remover driver e pacote de driver" e clique em OK.

Mais alguns detalhes podem ser encontrados no artigo Corrigir por não poder remover ou excluir a impressora de rede no Windows .

    
por 04.01.2016 / 11:01