From fdf78ecadb4f55094a7fca9058f250c250df7f7e Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Tue, 25 Aug 2020 12:37:03 +0200 Subject: [PATCH] Added Get-GPOZaurrPermissionSummary report --- Public/Get-GPOZaurrPermissionSummary.ps1 | 34 ++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 Public/Get-GPOZaurrPermissionSummary.ps1 diff --git a/Public/Get-GPOZaurrPermissionSummary.ps1 b/Public/Get-GPOZaurrPermissionSummary.ps1 new file mode 100644 index 0000000..47a8478 --- /dev/null +++ b/Public/Get-GPOZaurrPermissionSummary.ps1 @@ -0,0 +1,34 @@ +function Get-GPOZaurrPermissionSummary { + [cmdletBinding()] + param( + [Microsoft.GroupPolicy.GPPermissionType[]] $IncludePermissionType, + [Microsoft.GroupPolicy.GPPermissionType[]] $ExcludePermissionType, + + [alias('ForestName')][string] $Forest, + [string[]] $ExcludeDomains, + [alias('Domain', 'Domains')][string[]] $IncludeDomains, + [System.Collections.IDictionary] $ExtendedForestInformation + ) + + $Permissions = Get-GPOZaurrPermission -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation -IncludePermissionType $IncludePermissionType -ExcludePermissionType $ExcludePermissionType + $Entries = foreach ($Permission in $Permissions) { + [PSCustomObject] @{ + Name = $Permission.Name + Permission = $Permission.Permission + Sid = $Permission.Sid + SidType = $Permission.SidType + DisplayName = $Permission.DisplayName + DomainName = $Permission.DomainName + Domain = $Domain + } + } + $Entries | Group-Object -Property Permission, Name, DomainName | ForEach-Object { + $Property = $_.Name -split ', ' + [PSCustomObject] @{ + Permission = $Property[0] + Name = $Property[1] + DomainName = $Property[2] + GPOCount = $_.Count + } + } +} \ No newline at end of file