Active-Directory

使用 powershell 獲取和添加活動目錄域 OU 審計規則

  • August 28, 2020

我想使用 powershell 編寫腳本來顯示和編輯 Active Directory 對象的審核規則,而不是通過如下所述的 GUI 操作:從 Active Directory 使用者和電腦中,在“查看”菜單中啟用“高級功能”,選擇“域”左側窗格中的 Controllers OU” 右鍵點擊“Domain Controllers OU”對象並選擇“Properties” 選擇“Security”選項卡 選擇“Advanced”按鈕,然後選擇“Auditing”選項卡

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

import activedirectory
set-location ad:
dir

將上面 dir 輸出中正確的 distinctName 插入 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

任何幫助表示讚賞。謝謝!

這是一個系統資料庫,但看起來非常相似。嘗試 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 -審計

$ acl.getauditrules( $ 真,$真,

$$ System.Security.Principal.NTAccount $$)

引用自:https://serverfault.com/questions/1031903