Получить и добавить правила аудита OU домена Active Directory с помощью PowerShell

Получить и добавить правила аудита OU домена Active Directory с помощью PowerShell

Я хотел бы использовать PowerShell для создания скрипта отображения и редактирования правил аудита для объектов Active Directory вместо работы через графический интерфейс, как описано ниже: В разделе «Пользователи и компьютеры Active Directory» включите «Дополнительные возможности» в меню «Вид», выберите «Подразделение контроллеров домена» на левой панели. Щелкните правой кнопкой мыши объект «Подразделение контроллеров домена» и выберите «Свойства». Выберите вкладку «Безопасность». Выберите кнопку «Дополнительно», а затем вкладку «Аудит».

Вот что у меня есть на данный момент. Сначала получаем distinctName OU:

import activedirectory
set-location ad:
dir

Вставьте правильное distinctName из вывода dir выше в Get-Acl:

$acl = Get-Acl -Path "DC=something,DC=somethingElse"

Метод GetSecurityDescriptorSddlForm объекта $acl кажется связанным, но не дает понятного человеку вывода. Далее я попробовал:

$domain = Get-AdDomain -Server "serverName"
$domainSID = $domain.DomainSID
$acl.GetAuditRules(1,1,$domainSID)

Но это приводит к ошибке: Невозможно преобразовать аргумент targetType со значением "..." для GetAuditRules в тип "System.Type": Невозможно преобразовать значение "..." типа System.Security.Principal.SecurityIdentifier в тип "System.Type"

В документации к GetAuditRules, кажется, говорится, что он примет SecurityIdentifier в качестве третьего параметра, и я думал, что именно это я и передал методу GetAuditRules. https://docs.microsoft.com/en-us/dotnet/api/system.security.accesscontrol.commonobjectsecurity.getauditrules?view=dotnet-plat-ext-3.1

Кроме того, пост здесь кажется связанным, но я не понимаю, как выбрать правильный метод конструктора для создания ActiveDirectoryAuditRule и как собрать необходимые параметры, такие как GUID. https://social.technet.microsoft.com/Forums/en-US/70881826-6189-48c0-8ee7-0d79aa18f085/powershell-to-set-audit-flags-on-ou?forum=ITCG

Любая помощь приветствуется. Спасибо!

решение1

этот для реестра, но кажется очень похожим. попробуйте параметр "-audit" в вашем get-acl.

https://stackoverflow.com/questions/13509667/how-to-get-audit-rule-in-acl-object-with-getauditrules-on-registry-key-in-powe

$acl = get-acl -path $pathtoOU -Audit

$acl.getauditrules($true,$true, [Системная.Безопасность.Основной.NTAccount] )

Связанный контент