powershell을 사용하여 Active Directory 도메인 OU 감사 규칙 가져오기 및 추가

powershell을 사용하여 Active Directory 도메인 OU 감사 규칙 가져오기 및 추가

아래 설명된 대로 GUI를 통해 작업하는 대신 Powershell을 사용하여 Active Directory 개체에 대한 감사 규칙을 표시하고 편집하는 스크립트를 사용하고 싶습니다. Active Directory 사용자 및 컴퓨터의 "보기" 메뉴에서 "고급 기능"을 활성화하고 "도메인"을 선택합니다. 왼쪽 창의 Controllers OU" "Domain Controllers OU" 개체를 마우스 오른쪽 버튼으로 클릭하고 "속성"을 선택합니다. "보안" 탭을 선택합니다. "고급" 버튼을 선택한 다음 "감사" 탭을 선택합니다.

여기 내가 지금까지 가지고 있는 것이 있다. 먼저 OU의 고유 이름을 가져옵니다.

import activedirectory
set-location ad:
dir

위의 dir 출력에서 ​​올바른 고유 이름을 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 -감사

$acl.getauditrules($true,$true, [System.Security.Principal.NTAccount] )

관련 정보