使用 powershell 取得並新增活動目錄域 OU 審核規則

使用 powershell 取得並新增活動目錄域 OU 審核規則

我想使用powershell 編寫腳本來顯示和編輯Active Directory 物件的審核規則,而不是透過GUI 進行操作,如下所述:從Active Directory 使用者和電腦中,在“檢視”功能表中啟用“高級功能”,選擇“網域」左側窗格中的「控制器 OU」 右鍵點選「網域控制站 OU」物件並選擇「屬性」 選擇「安全性」標籤 選擇「進階」按鈕,然後選擇「稽核」標籤

這是我到目前為止所擁有的。首先取得 OU 的 DistinguishedName:

import activedirectory
set-location ad:
dir

將上面 dir 輸出中的正確 DistinguishedName 插入 Get-Acl:

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

$acl 物件的 GetSecurityDescriptorSddlForm 方法似乎相關,但沒有提供人類可讀的輸出。接下來我嘗試了:

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

但這會產生錯誤:無法將GetAuditRules 的值為“...”的參數targetType 轉換為類型“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

這是一個註冊表,但看起來非常相似。嘗試 get-acl 中的“-audit”開關。

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, [System.Security.Principal.NTAccount] )

相關內容