Defina conexões de rede futuras com o local privado, em vez de usar como padrão Public

3

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 o perfil Público?

Eu tentei definir todos os itens da rede como Particular em secpol.msc - > Configurações de segurança - > Diretivas do Network List Manager, mas sempre que eu conecto uma nova rede, sempre é padronizado como Público.

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

    
por SausageFingers 05.03.2014 / 13:08

1 resposta

2

Esse "recurso" de segurança é por design. Servidores em uma rede "nova" ou "não reconhecida" serão padronizados para o perfil público. Porque não está em um perfil de domínio, não é um DC e pesquisas de DNS (para identificar a rede) estão falhando, ele define a rede que você está como uma rede "Desconhecido" e, portanto, padrão 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 redes "novas".

If you are on a trusted network and this is happening or this server is a DC, setting the service "Network Location Awareness" to delayed start will resolve this issue.

Se o seu servidor estiver "viajando" para redes diferentes ou um DC não estiver presente, você poderá executar o seguinte script powershell (Do windows blog do time do 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 ".

    
por 13.03.2014 / 23:00