Também tenho procurado uma solução para isso e descobri o que considero 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 definir a tarefa para ser executada automaticamente quando se conectar a uma rede sem fio específica.
Eu configurei duas tarefas - uma para o trabalho e outra para casa. Ele altera com êxito a impressora padrão automaticamente, sem indicação visível (não requer interação do usuário e nenhuma janela é exibida).
O processo completo seria o seguinte:
Primeiro, vá para Visualizar Eventos em Ferramentas Administrativas e, em Logs de Aplicativos e Serviços, navegue até Microsoft ... Windows ... WLAN-AutoConfig ... Operational. Examine cada entrada do log até encontrar uma que diga "O serviço WLAN AutoConfig foi conectado com êxito a uma rede sem fio" e, em seguida, verifique a ID do evento (provavelmente 8001). Nessa tela, em algum lugar, você poderá encontrar o SSID da rede específica à qual a entrada de log se refere. Para cada rede em que você deseja ativar a impressora padrão, localize a entrada de log e faça o seguinte:
À direita, em Ações, role para baixo e clique em 'Anexar tarefa a este evento' - para não confundir com 'Anexar uma tarefa a este log', siga o Assistente de tarefas, atribua o nome que desejar ao chegar em Ação , selecione 'Iniciar um programa', aponte para seu arquivo em lotes, clique em Avançar e, na tela Concluir, marque a caixa 'Abrir a caixa de diálogo Propriedades para esta tarefa quando eu clicar em Concluir' Na caixa de diálogo Propriedades, em Opções de segurança, selecione 'Executar se o usuário estiver conectado ou não' e marque a caixa 'Executar com privilégios mais altos' (ele solicitará a senha da conta do usuário posteriormente). Vá para a guia 'Triggers' e selecione 'Edit', alterne as configurações de Basic para Custom e clique em 'New Event Filter' e clique na guia 'XML', marque a caixa '
<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>
Verifique se o EventID está correto e insira o SSID apropriado com aspas simples. Clique em OK e verifique se a caixa 'Ativado' está marcada e clique em OK novamente. Em seguida, vá para a guia 'Condições' e verifique se a caixa está desmarcada como 'Iniciar a tarefa apenas se o computador estiver com energia CA' - NÃO tente usar a configuração em 'Rede', onde diz 'Iniciar apenas se o seguinte rede está disponível '- isso não funcionará. Clique em OK e pronto para este.
Repita o processo para cada rede sem fio na qual você deseja ter uma impressora padrão diferente - cada uma precisará de seu próprio arquivo em lotes e da tarefa agendada correspondente. Espero que eu lembrei de todos os detalhes! Avise-se me :-)