Eu também estou procurando uma solução para isso e descobri o que considero ser uma solução aceitável.
Você pode usar o Agendador de Tarefas para executar um arquivo em lotes que definirá sua impressora padrão. Você pode configurar a tarefa para ser executada automaticamente quando você se conectar a uma rede sem fio específica.
Eu configurei duas tarefas - uma para o trabalho e outra para o lar. Ele altera com sucesso a impressora padrão automaticamente sem indicação visível (não requer interação do usuário e nenhuma janela aparece ou nada).
O processo completo seria o seguinte:
Primeiro, vá para o Visualizador de Eventos em Ferramentas Administrativas e, em Logs de Aplicativos e Serviços, navegue até Microsoft ... Windows ... WLAN-AutoConfig ... Operacional. Examine cada entrada no log até encontrar uma que diga "O serviço de Configuração Automática da WLAN foi conectado com êxito a uma rede sem fio" e, em seguida, examine a ID do Evento (provavelmente 8001). Na tela em algum lugar, você deve encontrar o SSID da rede específica à qual a entrada de registro se refere. Para cada rede em que você gostaria que a impressora padrão fosse ativada, encontre a entrada de log e faça isso:
Acima, à direita, em Ações, role para baixo e clique em "Anexar tarefa a este evento" - não confunda com "Anexar uma tarefa a este registro", siga o Assistente de tarefas, nomeie-o como quiser, quando Vá para Ação, selecione 'Iniciar um programa', aponte para o arquivo de lote, clique em Avançar e na tela Concluir, marque a caixa 'Abrir a caixa de diálogo Propriedades para esta tarefa quando clicar em Concluir' Na caixa de diálogo Propriedades, em Segurança Opções, selecione "Executar se o usuário está conectado ou não" e marque a caixa para "Executar com privilégios mais altos" (ele solicitará a senha da conta de usuário posteriormente). Vá para a aba 'Triggers' e selecione 'Edit', mude as configurações de Basic para Custom e clique em 'New Event Filter', clique na aba 'XML', marque a caixa 'Edit query manually' e cole no seguinte:
<QueryList>
<Query Id="0" Path="Microsoft-Windows-WLAN-AutoConfig/Operational">
<Select Path="Microsoft-Windows-WLAN-AutoConfig/Operational">*[System[Provider[@Name='Microsoft-Windows-WLAN-AutoConfig'] and (EventID=8001)]]and *[EventData[Data[@Name='SSID']='YOUR NETWORK NAME']]</Select>
</Query>
</QueryList>
Certifique-se de que o EventID esteja correto e coloque o SSID apropriado com aspas simples. Clique em OK e, em seguida, verifique se a caixa "Ativado" está marcada e clique em OK novamente. Em seguida, vá para a guia "Condições" e certifique-se de que a caixa esteja desmarcada para "Iniciar a tarefa somente se o computador estiver em alimentação CA" - NÃO tente usar a configuração em "Rede", onde diz "Iniciar somente se as seguintes rede está disponível '- isso não funcionará. Clique em OK e você está pronto para este.
Repita o processo para cada rede sem fio na qual você deseja ter uma impressora padrão diferente - cada um precisará do seu próprio arquivo de lote e da tarefa agendada correspondente. Espero ter me lembrado de todos os detalhes! Me avise: -)