Script do PowerShell para reinstalar a impressora, defina como padrão se fosse padrão

1

Temos uma impressora no trabalho que está nos dando problemas. Tentamos algumas soluções diferentes, mas quando um usuário vai imprimir nesta impressora, o Windows 7 algumas vezes exibe algo como:

Windows needs to download and install a software driver from the ... computer

No entanto, o PC já tem o driver correto. Eu tentei alterar algumas configurações na nossa política de grupo de acordo com as soluções que surgiram quando eu procurei esse problema, mas até agora nada funcionou. Por enquanto eu acho que seria melhor apenas ter o Windows reinstalar a impressora toda vez que o usuário fizer login.

Eu quero que a impressora seja definida para a impressora padrão somente se o usuário já tiver configurado para ser a impressora padrão. Como posso fazer isso no PowerShell?

    
por 0xDECAFBAD 16.07.2012 / 17:16

1 resposta

0

Isso pode ser obtido usando o WMI usando o Win32_Printer classe. Abaixo está um exemplo usando o powershell, você pode fazer isso em vbscript também.

Você pode adaptar o script abaixo às suas próprias necessidades. O exemplo assume que o driver é chamado "TOSHIBA e-STUDIO3510cSeriesPCL6"

$driver_name = 'TOSHIBA e-STUDIO3510cSeriesPCL6'

$printers = Get-WmiObject -Class win32_printer -Filter "DriverName='$driver_name'"

foreach ($printer in $printers) { 

    $printer.Delete()

    $return_status = (Invoke-WmiMethod -Class win32_printer -Name AddPrinterConnection -ArgumentList $printer.Name).ReturnStatus

    If ($return_status -eq 0 -and $printer.Default) { 

        (Get-WmiObject -Class win32_printer -Filter "Name='$($printer.Name)'").SetDefault() 
    }
}

O que o script faz é consultar quais impressoras estão usando um determinado driver e reinstalá-las, mantendo o status padrão da impressora, se necessário.

    
por 05.05.2013 / 18:25