Defina futuras conexões de rede para local privado em vez de padrão para público

Defina futuras conexões de rede para local privado em vez de padrão para público

No Windows Server 2012 e 2012R2, é possível definir futuras conexões de rede para usar o perfil de firewall Privado em vez de usar como padrão o perfil Público?

Tentei definir todos os itens de rede como Privados em secpol.msc-> Configurações de segurança -> Políticas do Gerenciador de Lista de Rede, mas sempre que conecto uma nova rede, o padrão é sempre Público.

Como alternativa, existe uma maneira de reativar a caixa de diálogo "Definir local de rede" apresentada em versões do Windows que não sejam de servidor. Isso pelo menos ajudaria a aliviar o problema.

Responder1

Esse "recurso" de segurança ocorre intencionalmente. Os servidores em uma rede "nova" ou "não reconhecida" terão como padrão o perfil público. Como não está em um perfil de domínio, não é um DC e as pesquisas de DNS (para identificar a rede) estão falhando, ele define a rede em que você está como uma rede "Desconhecida" e, portanto, padronizando para o perfil "público".

Você poderia contornar esse problema associando o servidor a um domínio e, ao fazer isso, definiria o local da rede como “Rede de domínio”. Embora esta solução possa não ser ideal ou mesmo possível para você se você se conectar constantemente a "novas" redes.

Se você estiver em uma rede confiável e isso estiver acontecendo ou se este servidor for um DC, configurar o serviço "Reconhecimento de local de rede" para início atrasado resolverá esse problema.

Se o seu servidor estiver "viajando" para redes diferentes ou um DC não estiver presente, você poderá executar o seguinte script do PowerShell (doblog da equipe do windows powershell) para definir todos os perfis de rede como "privados":

# Skip network location setting for pre-Vista operating systems
if([environment]::OSVersion.version.Major -lt 6) { return }

# Skip network location setting if local machine is joined to a domain.
if(1,3,4,5 -contains (Get-WmiObject win32_computersystem).DomainRole) { return }

# Get network connections
$networkListManager = [Activator]::CreateInstance([Type]::GetTypeFromCLSID([Guid]"{DCB00C01-570F-4A9B-8D69-199FDBA5723B}"))
$connections = $networkListManager.GetNetworkConnections()

# Set network location to Private for all networks
$connections | % {$_.GetNetwork().SetCategory(1)}

Se você deseja criar uma tarefa agendada para executar este script na inicialização, aqui está um ótimo tutorial:"Use o Agendador de Tarefas do Windows para executar um script do Windows PowerShell".

informação relacionada