Установите будущие сетевые подключения в Личное местоположение вместо значения по умолчанию в Публичный

3

В Windows Server 2012 и 2012R2 можно ли настроить будущие сетевые подключения на использование профиля Private firewall вместо значения по умолчанию Public?

Я попытался установить все элементы сети на частное в secpol.msc - & GT; Настройки безопасности - & gt; Политики диспетчера списка сетей, но когда я подключаюсь к новой сети, по умолчанию всегда используется Public.

Кроме того, есть ли способ повторно включить диалоговое окно «Установить сетевое расположение», которое представлено в не серверных версиях окон. Это по крайней мере поможет облегчить проблему.

SausageFingers
источник
НЕ ответ, а объяснение: по умолчанию он является общедоступным, потому что он не находится в профиле домена, не является DC, и DNS-запросы (для идентификации сети) не работают, из-за чего сеть находится в сети «Неизвестно». ,
G Koe

Ответы:

2

Эта «особенность» безопасности разработана. Серверы в «новой» или «нераспознанной» сети по умолчанию будут использовать общедоступный профиль. Поскольку он не находится в профиле домена, не является DC и DNS-запросы (для идентификации сети) не работают, он определяет сеть, в которой вы находитесь, как «Неизвестную» сеть, и, таким образом, по умолчанию используется «публичный» профиль.

Вы можете обойти эту проблему, подключив сервер к домену, и в этом случае сетевое расположение будет установлено как «Доменная сеть». Хотя это решение может быть не идеальным или даже невозможным для вас, если вы постоянно подключаетесь к «новым» сетям.

Если вы находитесь в доверенной сети, и это происходит, или этот сервер   это DC, установка службы «Network Location Awareness» на задержку   начало решит эту проблему.

Если ваш сервер «путешествует» по разным сетям или DC отсутствует, вы можете запустить следующий скрипт powershell (Из блог команды windows powershell ) чтобы установить все профили сети как "частные":

# 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)}

Если вы хотите создать запланированное задание для запуска этого скрипта при загрузке, вот отличный учебник: «Используйте планировщик задач Windows для запуска сценария Windows PowerShell» ,

G Koe
источник
Сценарий, который у меня есть, заключается в том, что я настраиваю серверы, которые будут переходить на другие сайты, большинство из которых не имеют DC. Этот скрипт сделает всю работу.
SausageFingers