НАСТРОИТЬ - Я использую небольшую сеть с Windows Server 2008 R2. У меня есть 2 объекта групповой политики с настройками безопасности, требуемыми моей компанией. В следующем Иерахи:
GPO A используется для исправления нашей системы, поэтому для службы Windows Update установлено значение «Автоматически», если для нее установлено значение «Link Enabled». GPO B устанавливает требуемые компанией параметры безопасности, поэтому он устанавливает для службы обновления Windows значение Disabled.
ПРОБЛЕМА - Когда GPO включен и принудительно, для службы Центра обновления Windows установлено значение Отключено. Согласно RSOP, он должен быть установлен на автоматический, но на самом деле он не запускается или не запускается автоматически, он отключен. GPO A должен иметь приоритет и установить для него значение Автоматически.
ВОПРОС - Могут ли 2 объекта групповой политики не контролировать 1 службу? Насколько я понимаю, GPO управляется по приоритету, поэтому GPO A должен поддерживать автоматическую службу при обработке GPO. Есть ли способ сохранить эти параметры такими же, или для одного из объектов групповой политики необходимо перенастроить сервер Центра обновления Windows?
РЕДАКТИРОВАТЬ 1: Если бы я написал сценарий запуска, который запускал службу в Powershell, объект групповой политики в любом случае отключал бы службу после ее повторного применения каждый час. Даже с принудительным применением GPO он по-прежнему отключает службу.
JukEboX,
Обычно мы не пишем сценарии для других, но в этом случае я думаю, что сценарии - лучший ответ, чем использование только групповой политики, поэтому я готов написать PowerShell для всех, кто пытается сделать то же самое.
В групповой политике создайте новый объект групповой политики, а в этом объекте групповой политики создайте новый файл для каждого компьютера (политика компьютера). Файл PowerShell может находиться где угодно, но запишите его, потому что он вам понадобится позже. В приведенном ниже примере я использовал расположение \\ server \ share \ status.txt. Если вы измените местоположение или имя файла, вам нужно будет обновить код.
$WindowsServiceName = "wuauserv"
$NewStatus = Get-Content "\\server\share\status.txt"
function EnableWindowsService
{
Set-Service $WindowsServiceName -StartupType Automatic
Start-Service $WindowsServiceName
}
function DisableWindowsService
{
Stop-Service $WindowsServiceName
Set-Service $WindowsServiceName -StartupType Disabled
}
If ($NewStatus -like 'enabled' )
{
EnableWindowsService
}
If ($NewStatus -like 'disabled' )
{
DisableWindowsService
}
После этого необходимо создать объект групповой политики, который запускает сценарий PowerShell как сценарий входа в систему или сценарий выхода (или вы можете создать запланированную задачу для запуска сценария PowerShell при возникновении указанного вами триггерного события).
В status.txt нужно написать включен или отключен.
При срабатывании триггера файл PowerShell считывает содержимое status.txt и на основе содержимого этого файла включает и запускает службу обновления Windows или останавливает и отключает службу обновления Windows.
Поскольку это делается с помощью PowerShell, вы также можете использовать PowerShell для удаленного запуска файла по запросу. Если вы используете этот метод, вам необходимо удалить оба объекта групповой политики. Они вам не понадобятся, если вы воспользуетесь этим, потому что он делает то же самое. Единственная разница в том, что вы можете запускать это чаще, чем каждые 60 минут, вы можете запускать его по требованию и у вас нет конфликтующих объектов групповой политики. Это соответствует требованиям безопасности, которые вы написали, и работает лучше.
После начального тестирования системных служб в GPO
Конфигурации компьютера> Политики> Параметры Windows> Системные службы
Я обнаружил, что эти параметры лучше всего подходят для настройки предпочтений и параметров безопасности со службами на базе Windows. У меня отключен ряд системных служб, которые не являются службами Windows, и именно здесь я нашел ответ. Расположение
Конфигурации компьютера> Настройки> Настройки панели управления> Службы
Там вы можете добавить службу, статус которой хотите контролировать.
По моей безопасности GPO у меня есть Запускать установлен в Disabled
и Сервисная акция установлен в Stop Service
. Это гарантирует, что если служба будет запущена вне времени установки исправлений, она остановит службу и отключит ее.
В моем обновлении GPO у меня есть Запускать установлен в Automatic
и Сервисная акция установлен в Start Service
.
Затем я поместил свой объект групповой политики исправления в более высокую иерархию групповой политики. Когда включена политика обновления объекта групповой политики, этот объект групповой политики перезаписывает политики, применяемые в этом объекте групповой политики безопасности.
Если вы установите его таким образом, вы можете выполнить простую команду gpupdate / force на любом компьютере, и это изменит управление службой в зависимости от того, включен ли объект групповой политики и который находится выше в иерархии. Это было именно то, что я искал.
Эта статья была очень полезной, и я надеюсь, что она поможет другим: Как использовать групповую политику для управления службами. Автор: Алан Берчилль.