В поисках ответа, как же запустить брандмауер Windows из командной строки на Hyper-V сервере, нашел первое решение на сайте microsoft:
Пример 6. Включение брандмауэра Windows
Старая команда: netsh firewall set opmode ENABLE
Новая команда: netsh advfirewall set currentprofile state on
Ввожу указанные команды в консоли Hyper-V — не работает.
Немного погуглив, нахожу еще одно решение для управления службами Windows из командной строки — это команда sc.
Набираем в консоли, получаем:
sc
ОПИСАНИЕ:
SC представляет собой программу командной строки, используемую
для связи со службами и диспетчером управления службами.
ИСПОЛЬЗОВАНИЕ:
sc <сервер> [команда] [имя_службы] <параметр1> <параметр2>…
Параметр <сервер> задается в формате «\\имя_сервера».
Для получения справки о командах введите «sc [команда]»
Команды:
query————Запрашивает состояние службы или перечисляет
состояния типов служб.
queryex———Запрашивает расширенное состояние службы или
перечисляет состояния типов служб.
start————Запускает службу.
pause————Отправляет службе управляющий запрос PAUSE.
interrogate——Отправляет службе управляющий запрос INTERROGATE.
continue———Отправляет службе управляющий запрос CONTINUE.
stop————Отправляет службе запрос STOP.
config———-Изменяет конфигурацию службы (с сохранением).
description——Изменяет описание службы.
failure———Изменяет действия, выполняемые службой при сбое.
failureflag——Изменяет флаг действий, выполняемых службой при сбое.
sidtype———Изменяет тип SID службы.
privs————Изменяет привилегии, требуемые для службы.
managedaccount—Изменяет службу для пометки пароля учетной записи
службы как управляемого LSA.
qc—————Запрашивает данные конфигурации для службы.
qdescription—-Запрашивает описание службы.
qfailure———Запрашивает действия, выполняемые службой при сбое.
qfailureflag—-Запрашивает флаг действий, выполняемых службой при
сбое.
qsidtype———Запрашивает тип SID службы.
qprivs———-Запрашивает привилегии, требуемые для службы.
qtriggerinfo—-Запрашивает параметры триггеров службы.
qpreferrednode—Запрашивает предпочтительный узел NUMA службы.
qmanagedaccount-Запрашивает, использует ли служба учетную запись с
паролем, управляемым LSA.
qprotection——Запрашивает уровень защиты процессов службы.
delete———-Удаляет службу (из реестра).
create———-Создает службу (добавляет ее в реестр).
control———Отправляет службе управляющий сигнал.
sdshow———-Отображает дескриптор безопасности службы.
sdset————Устанавливает дескриптор безопасности службы.
showsid———Отображает строку SID службы, которая соответствует
произвольному имени.
triggerinfo——Задает параметры триггеров службы.
preferrednode—Задает предпочтительный узел NUMA службы.
GetDisplayName—Получает параметр DisplayName для службы.
GetKeyName——Получает параметр ServiceKeyName для службы.
EnumDepend——Перечисляет зависимости службы.
Следующие команды не требуют имени службы:
sc <сервер> <команда> <параметры>
boot————(ok | bad) Указывает, требуется ли сохранить
последнюю загрузку в качестве последней удачной
конфигурации загрузки
Lock————Блокирует базу данных служб
QueryLock——-Запрашивает состояние блокировки (LockStatus) базы
данных диспетчера управления службами (SCManager)
ПРИМЕР:
sc start MyService
Параметры QUERY и QUERYEX:
Если после команды query указано имя службы, будет возвращено
состояние этой службы. В этом случае дополнительные параметры
не используются. Если после команды query указаны следующие
параметры либо ничего не указано, выполняется перечисление служб.
type= Тип служб для перечисления (driver, service, userservice, all)
(по умолчанию = service)
state= Состояние служб для перечисления (inactive, all)
(по умолчанию = active)
bufsize= Размер (в байтах) буфера перечисления
(по умолчанию = 4096)
ri= Номер индекса возобновления для начала перечисления
(по умолчанию = 0)
group= Группа служб для перечисления
(по умолчанию = все группы)
Примеры использования:
sc query — Перечисление состояний активных служб и драйверов
sc query eventlog — Отображение состояния службы eventlog
sc queryex eventlog — Отображение расширенного состояния службы eventlog
sc query type= driver — Перечисление только активных драйверов
sc query type= service — Перечисление только служб Win32
sc query state= all — Перечисление всех служб и драйверов
sc query bufsize= 50 — Перечисление с буфером размером 50 байт
sc query ri= 14 — Перечисление с индексом возобновления = 14
sc queryex group= «» — Перечисление активных служб, не входящих в группу
sc query type= interact — Перечисление всех интерактивных служб
sc query type= driver group= NDIS — Перечисление всех драйверов NDIS
Дальше все просто — выбираем все службы командой (пробелы после знака равно важны):
sc query type= service state= all
и в списке, упорядоченном по английскому имени, находим, как же реально называется служба брандмауэра Windows: MpsSvc
Имя_службы: MpsSvc
Выводимое_имя: Брандмауэр Windows
Тип : 20 WIN32_SHARE_PROCESS
Состояние : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
Код_выхода_Win32 : 0 (0x0)
Код_выхода_службы : 0 (0x0)
Контрольная_точка : 0x0
Ожидание : 0x0
И наконец запускаем брандмауэр Windows из командной строки:
sc start MpsSvc
Имя_службы: MpsSvc
Тип : 20 WIN32_SHARE_PROCESS
Состояние : 2 START_PENDING
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
Код_выхода_Win32 : 0 (0x0)
Код_выхода_службы : 0 (0x0)
Контрольная_точка : 0x0
Ожидание : 0x7d0
ID_процесса : 520
Флаги :
Далее проверяем состояние службы:
sc query MpsSvc
Имя_службы: MpsSvc
Тип : 20 WIN32_SHARE_PROCESS
Состояние : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
Код_выхода_Win32 : 0 (0x0)
Код_выхода_службы : 0 (0x0)
Контрольная_точка : 0x0
Ожидание : 0x0
Запустилась!
Проверено на Microsoft Hyper-V 2012, Windows 10Pro