Это касается работы на машинах перед присоединением машины к домену, и хотя я бы хотел положиться на GPO, в настоящее время это не вариант.
В среде, в которой я работаю, политика брандмауэра заключается в использовании стороннего приложения брандмауэра из Total Endpoint Solution, поэтому мне нужно отключить верхнюю часть брандмауэра Windows по умолчанию для предотвращения конфликтов. Я делаю это с помощью сценария, который запускаю в конце процесса воображения или вручную в системах, которые я не повторно создавал. Некоторое время мне удавалось справляться с этим, используя:
netsh advfirewall set allprofiles state off
Однако по какой-то причине это перестало работать. Итак, я обнаружил, что мне нужно очистить локальную политику безопасности (вручную):
Local Security Policy MSC > Windows Firewall with Advanced Security
Right-Click Windows Firewall with Advanced Security - Local Group Policy Object
Clear Policy
Это был сценарий, который я использовал, чтобы не делать это вручную:
secedit /configure /db reset /cfg securityprofile
Комбинация обоих шагов работала около месяца, затем по непонятной причине перестала работать.
Я начал тестировать взлом реестра, чтобы добиться того, что мне было нужно, и это дает смешанные результаты. У меня есть два набора ключей с профилями, которые мне нужно изменить; для локальных профилей:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile]
"EnableFirewall"=dword:00000000
Для профилей домена:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]
"EnableFirewall"=dword:00000000
Проблема, с которой я столкнулся, заключается в том, что локальный профиль продолжает восстанавливать исходные настройки с включенным брандмауэром. Я пробовал:
Результат на старой машине, использованной для тестирования) готово
а) Примените взлом реестра локальной политики
Результат на старой машине, использованной для тестирования) готово
а) используйте secedit для очистки локальной политики безопасности
Результат на старой машине, использованной для тестирования) готово
а) используйте secedit для очистки локальной политики безопасности
Моя цель - отключить брандмауэр Windows с помощью сценария / автоматизации. Есть предположения?
Примечание: это необходимо до присоединения машин к домену. Если я вручную удалю локальную политику безопасности из MSC, то взлом реестра сработает. netsh
по-прежнему не будет работать, и мне не нужно вручную очищать политику для каждой машины с образами.
Я хотел бы предисловие к этому, сказав, что я настоятельно призываю всех, кто отключает свой брандмауэр Windows, потратить время, чтобы понять, как он работает и как управлять им через GPO, вместо того, чтобы сразу его отключать. Нет причин отключать межсетевой экран на основе хоста. Microsoft делает отличные инструменты для управления правилами брандмауэра, вы должны их использовать.
Эта статья TechNet описывает правильный способ отключения брандмауэра Windows. Не выключайте службу, как вам говорили другие, это приведет к тому, что ваш сервер перейдет в неподдерживаемую конфигурацию и вызовет нестабильность в различных сценариях, которые трудно устранить.
Из статьи TechNet синтаксис netsh следующий:
набор netsh advfirewall профили состояние выключено
где допустимые значения для профили являются: AllProfiles, CurrentProfile, DomainProfile, PrivateProfile или PublicProfile.
Похоже, вы уже пробовали эту точную команду, но она не работает. Вы также добавили ключи реестра, которыми манипулирует эта команда. Исходя из того факта, что раньше это работало, а теперь нет, и что эти машины не присоединены к домену в то время, когда вы это делаете, можно сделать только один вывод:
Что-то в вашем изображении преобладает над этим. Конец истории. Поскольку у нас нет вашего изображения, на которое можно было бы взглянуть, мы действительно не можем предложить вам какое-либо конкретное исправление, кроме как «вы делаете это правильно, и если это не сработает, что-то в вашем изображении неправильно настроено»
Честно говоря, если тебе нужно бежать secedit /configure /db reset /cfg securityprofile
на ваших изображениях вместе со всем этим другим, вам может быть лучше создать новое изображение со всем, как вы этого хотите.
Errr, приведите в порядок свои GPO и отключите его там. Или, по крайней мере, создайте новый объект групповой политики наверху стека (наивысший приоритет) и отключите брандмауэр. Затем вернитесь и приведите в порядок другие объекты групповой политики позже. Политика локальной безопасности переопределяется объектами групповой политики, и первая область реестра, в которую вы пишете, предназначена специально для обработки объектов групповой политики.
Краткий ответ ... Групповая политика. Длинный ответ ... Групповая политика. (Прости!)
Нашел проблему. MDT применял локальную групповую политику в конце своей последовательности задач после установки моего образа, который отключал доступ к любым изменениям в локальной политике безопасности даже администраторам (с помощью команд командной строки, реестра и т. Д.). Это странно, поскольку это политика по умолчанию, которая поставляется с MDT. Тем не менее, удаление этой последовательности задач позволяет мне отключить брандмауэр с помощью netseh:
netsh advfirewall set allprofiles state off
В качестве примечания; Я согласен со всеми, что вы не должны отключать службу брандмауэра и не должны отключать брандмауэр.