← Voltar às notas de campoNota de campo 05 — Automatização de uma impressora virtual

A impressora era virtual. Os problemas, não.

Automatização da instalação de uma impressora virtual

Uma implementação mal sucedida que, afinal, escondia vários problemas distintos sob a mesma etiqueta de «impressora».

ContextoOrganização britânica de normas profissionais
FunçãoResponsável técnico sénior
Em detalheEstudo de caso técnico com dados sensíveis removidos, disponível em PDF, em inglês.

A situação

Uma instalação anterior tinha deixado os PCs híbridos com o driver errado, enquanto os dispositivos geridos na cloud precisavam de uma forma de instalação a pedido pelo próprio utilizador. A «impressora» era uma fila de impressão virtual, não um equipamento convencional, e a ligação final tinha de existir no perfil do utilizador com sessão iniciada, embora a instalação do driver tivesse de ser feita em contexto SYSTEM.

O que encontrei

Não havia apenas um estado incorreto a corrigir. Alguns dispositivos precisavam de remover uma fila de impressão local com falha, os PCs híbridos precisavam de receber automaticamente o driver correto e os dispositivos geridos na cloud precisavam de um processo de instalação a pedido no Company Portal. A deteção também tinha de verificar separadamente o driver instalado no equipamento e a ligação à impressora no perfil do utilizador.

O que alterei

Dividi o trabalho em componentes específicos: limpeza de todo o parque de equipamentos, correção automática do driver nos PCs híbridos e instalação a pedido nos dispositivos geridos na cloud. O script principal fazia uma transição controlada entre os contextos SYSTEM e USER através de uma tarefa agendada, enquanto scripts de deteção separados verificavam separadamente o driver e a ligação do utilizador. Nos pequenos pacotes Win32, mantive os ficheiros do driver dentro do próprio pacote, em vez de acrescentar outra cadeia de dependências.

O resultado

A configuração mista e parcialmente falhada deu lugar a um modelo de instalação controlado. Os PCs híbridos afetados receberam automaticamente a correção do driver, os utilizadores de dispositivos geridos na cloud puderam instalar a fila de impressão virtual a pedido e os registos, a limpeza e a deteção independente facilitaram o diagnóstico e o suporte.

O que faria de forma diferente

A separação das funções continua a fazer sentido. A pequena melhoria que faria é estrutural: manter os ficheiros do driver numa subpasta Drivers dedicada e localizar essa pasta através de $PSScriptRoot. A lógica seria a mesma, mas o pacote ficaria um pouco mais organizado.

Quer saber mais?

O estudo de caso completo inclui os detalhes de implementação, o diagnóstico e a documentação técnica que sustentam esta nota de campo. O PDF está em inglês.