netsh advfirewall почтамт хранилища набора: % %COMPUTERNAME не работает

Я отвечаю за группу компьютеров, которые обрабатывают очень конфиденциальные данные. Они не могут быть подключены к Интернету или даже сети компании, только сетевому диску. Таким образом, я записал пакетный файл на сетевом диске и выполнил его на каждом компьютере для последовательного применения настроек безопасности.

Вызовы пакетного файла netsh exec со следующим сценарием:

advfirewall
set store gpo = %COMPUTERNAME%
reset
set store local
reset

Проблема состоит в том что переменная среды %COMPUTERNAME% сбои для разрешения к фактическому имени компьютера, таким образом, GPO не сбрасывается и существуют конфликты между настройками в этих двух местах. Кроме того, netsh advfirewall reset только сброс local хранилище и set store может только быть выполнен из netsh сценария (прямое netsh advfirewall set store gpo в пакетном файле не работает).

Как я добираюсь set store получить доступ к GPO для машины, от которой работает пакетный файл? Или есть ли другой способ сбросить настройки GPO (для Windows Firewall с Повышенной безопасностью) из командной строки? Я понимаю, что эти настройки не хранятся в Registry.pol.

4
задан 3 November 2014 в 10:44
1 ответ

Я подозреваю вас пытаемся передать % COMPUTERNAME% в netsh напрямую. Он не расширяет переменные среды. Позвольте оболочке расширять переменную за вас, например:

@echo off
SET F="%TEMP%\%RANDOM%.txt"

echo advfirewall>%F%
echo set store gpo = %COMPUTERNAME%>>%F%
echo reset>>%F%
echo set store local>>%F%
echo reset>>%F%

netsh -f %F%
del %F%

netsh в конечном итоге получает сценарий с уже существующей расширенной переменной среды.

4
ответ дан 3 December 2019 в 03:30

Теги

Похожие вопросы