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

1763
SausageFingers

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

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

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

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

1 ответ на вопрос

2
G Koe

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

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

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

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

# 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]"")) $connections = $networkListManager.GetNetworkConnections()  # Set network location to Private for all networks $connections | % {$_.GetNetwork().SetCategory(1)} 

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

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