Назад | Перейти на главную страницу

Установите антивирус на Windows Server 2008 R2

Итак, у меня есть CIS Microsoft Windows Server 2008 R2 - Level 1 образ, на котором должен быть установлен антивирус и настроен на ежедневное сканирование. Это нужно сделать с помощью PowerShell, чтобы я мог встроить его в сценарий упаковщика или CloudFormation Init. Я выбрал Microsoft Security Essentials, потому что он бесплатный, но я рад рассмотреть другие бесплатные AV, если их проще настроить.

Этот образ CIS представляет собой усиленную версию Windows, которая блокирует все разрешения и скрывает уязвимости. Это может быть причиной некоторых из моих проблем.

Вот сценарий, который у меня есть на данный момент:

.\MSEInstall.exe /s /runwgacheck /o
Start-Sleep 5 # I have no idea how to wait for the installer to finish
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft Antimalware\Scan" 
ScheduleDay "0"

К сожалению, я получаю:

Set-ItemProperty : Requested registry access is not allowed.

Я уже запускаю powershell с правами администратора. В противном случае я бы не смог установить AV. Я могу получить значение очень хорошо, и я могу изменить ключ вручную с помощью regedit просто хорошо.

В другой статье что-то говорилось о списках контроля доступа, и это правда, что regedit показывает, что группа администраторов не имеет полного доступа к папке. Это заставило меня попробовать:

$user = whoami
$regPath = "SOFTWARE\Microsoft\Microsoft Antimalware\Scan"
$key = [Microsoft.Win32.Registry]::LocalMachine.OpenSubKey($regPath, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$acl = $key.GetAccessControl()
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ($user,"FullControl","Allow")
$acl.SetAccessRule($rule)
$key.SetAccessControl($acl)

Но я просто получаю:

Exception calling "OpenSubKey" with "3" argument(s): "Requested registry access is not allowed.

Так что я застрял. Есть ли у кого-нибудь рекомендации о том, как каждый день устанавливать и запускать бесплатный AV через Powershell?