Note que esta não é uma solução definitiva, mas algo que pode fazer com que você ou outros estejam bem encaminhados.
Se uma rede é pública ou não, ela é armazenada no registro, que pode ser editada por meio de arquivos em lote. Para uma edição estática, o método mais fácil seria preparar um arquivo .reg e depois mesclá-lo com o registro usando o comando regedit, por exemplo. %código%.
Uma das chaves envolvidas em informar uma rede doméstica de uma rede pública é regedit.exe /s makepublic.reg
, anexada pelo GUID da conexão de rede que você deseja alterar. Os valores importantes aqui parecem ser Category e CategoryType, sendo o primeiro zero para redes públicas e um para redes privadas. Um exemplo 'makepublic.reg':
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\{01234567-89AB-CDEF-0123-456789ABCDEF}]
"Category"=dword:00000000
"CategoryType"=dword:00000000
Infelizmente, mas não surpreendentemente, esses valores não são os únicos definidos pelo Network Center quando um tipo de conexão é alterado para público e, como está, o arquivo .reg é insuficiente; outras chaves precisariam ser adicionadas à lista.