diff --git a/GPOZaurr.psd1 b/GPOZaurr.psd1 index 1a42ca5..3a7eadf 100644 --- a/GPOZaurr.psd1 +++ b/GPOZaurr.psd1 @@ -8,7 +8,7 @@ Description = 'Group Policy Eater is a PowerShell module that aims to gather information about Group Policies but also allows fixing issues that you may find in them.' FunctionsToExport = @('Add-GPOPermission', 'Add-GPOZaurrPermission', 'Backup-GPOZaurr', 'Clear-GPOZaurrSysvolDFSR', 'ConvertFrom-CSExtension', 'Find-CSExtension', 'Get-GPOZaurr', 'Get-GPOZaurrAD', 'Get-GPOZaurrBackupInformation', 'Get-GPOZaurrBroken', 'Get-GPOZaurrDictionary', 'Get-GPOZaurrFiles', 'Get-GPOZaurrFilesPolicyDefinition', 'Get-GPOZaurrFolders', 'Get-GPOZaurrInheritance', 'Get-GPOZaurrLegacyFiles', 'Get-GPOZaurrLink', 'Get-GPOZaurrLinkSummary', 'Get-GPOZaurrNetLogon', 'Get-GPOZaurrOwner', 'Get-GPOZaurrPassword', 'Get-GPOZaurrPermission', 'Get-GPOZaurrPermissionConsistency', 'Get-GPOZaurrPermissionRoot', 'Get-GPOZaurrPermissionSummary', 'Get-GPOZaurrSysvolDFSR', 'Get-GPOZaurrWMI', 'Invoke-GPOZaurr', 'Invoke-GPOZaurrPermission', 'Invoke-GPOZaurrSupport', 'New-GPOZaurrWMI', 'Remove-GPOPermission', 'Remove-GPOZaurr', 'Remove-GPOZaurrBroken', 'Remove-GPOZaurrFolders', 'Remove-GPOZaurrLegacyFiles', 'Remove-GPOZaurrPermission', 'Remove-GPOZaurrWMI', 'Repair-GPOZaurrPermissionConsistency', 'Restore-GPOZaurr', 'Save-GPOZaurrFiles', 'Set-GPOOwner', 'Set-GPOZaurrOwner', 'Show-GPOZaurr') GUID = 'f7d4c9e4-0298-4f51-ad77-e8e3febebbde' - ModuleVersion = '0.0.66' + ModuleVersion = '0.0.67' PowerShellVersion = '5.1' PrivateData = @{ PSData = @{ diff --git a/Public/Get-GPOZaurrPermissionRoot.ps1 b/Public/Get-GPOZaurrPermissionRoot.ps1 index 7b665c0..9801e67 100644 --- a/Public/Get-GPOZaurrPermissionRoot.ps1 +++ b/Public/Get-GPOZaurrPermissionRoot.ps1 @@ -6,7 +6,8 @@ [alias('ForestName')][string] $Forest, [string[]] $ExcludeDomains, [alias('Domain', 'Domains')][string[]] $IncludeDomains, - [System.Collections.IDictionary] $ExtendedForestInformation + [System.Collections.IDictionary] $ExtendedForestInformation, + [switch] $SkipNames ) Begin { $ForestInformation = Get-WinADForestDetails -Forest $Forest -IncludeDomains $IncludeDomains -ExcludeDomains $ExcludeDomains -ExtendedForestInformation $ExtendedForestInformation -Extended @@ -42,7 +43,7 @@ if ($IncludePermissionType.Count -gt 0 -and $SinglePermission -notin $IncludePermissionType) { continue } - [PSCustomObject] @{ + $OutputEntry = [ordered] @{ PrincipalName = $Permission.Principal Permission = $SinglePermission PermissionType = $Permission.AccessControlType @@ -50,10 +51,13 @@ PrincipalObjectClass = $Permission.PrincipalObjectType PrincipalDomainName = $Permission.PrincipalObjectDomain PrincipalSid = $Permission.PrincipalObjectSid - GPOCount = $GPOs.Count - GPONames = $GPOs.DisplayName DomainName = $Domain + GPOCount = $GPOs.Count } + if (-not $SkipNames) { + $OutputEntry['GPONames'] = $GPOs.DisplayName + } + [PSCustomObject] $OutputEntry } } } diff --git a/Public/Show-GPOZaurr.ps1 b/Public/Show-GPOZaurr.ps1 index 993a622..9a15a4c 100644 --- a/Public/Show-GPOZaurr.ps1 +++ b/Public/Show-GPOZaurr.ps1 @@ -74,7 +74,7 @@ } if ($Type -contains 'GPOPermissionsRoot' -or $null -eq $Type) { Write-Verbose -Message "Show-GPOZaurr - Processing GPO Permissions Root" - $GPOPermissionsRoot = Get-GPOZaurrPermissionRoot + $GPOPermissionsRoot = Get-GPOZaurrPermissionRoot -SkipNames } if ($Type -contains 'GPOOwners' -or $null -eq $Type) { Write-Verbose "Show-GPOZaurr - Processing GPO Owners" @@ -131,7 +131,7 @@ New-HTMLChart -Title 'Group Policies Summary' { New-ChartBarOptions -Type barStacked #New-ChartLegend -Names 'Unlinked', 'Linked', 'Empty', 'Total' -Color Salmon, PaleGreen, PaleVioletRed, PaleTurquoise - New-ChartLegend -Names 'Bad', 'Good' -Color PaleGreen, Salmon + New-ChartLegend -Names 'Good', 'Bad' -Color PaleGreen, Salmon #New-ChartBar -Name 'Group Policies' -Value $GPONotLinked.Count, $GPOLinked.Count, $GPOEmpty.Count, $GPOTotal New-ChartBar -Name 'Linked' -Value $GPOLinked.Count, $GPONotLinked.Count New-ChartBar -Name 'Empty' -Value $GPONotEmpty.Count, $GPOEmpty.Count @@ -326,9 +326,18 @@ } } } - if ($Type -contains 'NetLogon' -or $null -eq $Type) { - New-HTMLTab -Name 'NetLogon' { - New-HTMLTable -DataTable $Netlogon -Filtering + if ($Type -contains 'NetLogon' -or $Type -contains 'GPOFiles' -or $null -eq $Type) { + New-HTMLTab -Name 'Files (SysVol / NetLogon)' { + if ($Type -contains 'NetLogon' -or $null -eq $Type) { + New-HTMLTab -Name 'NetLogon Permissions' { + New-HTMLTable -DataTable $Netlogon -Filtering + } + } + if ($Type -contains 'GPOFiles' -or $null -eq $Type) { + New-HTMLTab -Name 'SysVol Files Assesment' { + New-HTMLTable -DataTable $GPOFiles -Filtering + } + } } } if ($Type -contains 'GPOPermissionsRoot' -or $Type -contains 'GPOOwners' -or