From 731ba420b91bc14714d8e407320d5e6ee17b01e6 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Thu, 5 Nov 2020 22:46:10 +0100 Subject: [PATCH] Update --- Private/Export-GPOZaurr.ps1 | 18 ++++++++++++++++++ Private/Invoke.GPOZaurrAnalysis.ps1 | 1 + Private/Invoke.GPOZaurrConsistency.ps1 | 1 + Private/Invoke.GPOZaurrDuplicate.ps1 | 1 + Private/Invoke.GPOZaurrFiles.ps1 | 1 + Private/Invoke.GPOZaurrList.ps1 | 1 + Private/Invoke.GPOZaurrNetLogonPermissions.ps1 | 1 + Private/Invoke.GPOZaurrOrphans.ps1 | 1 + Private/Invoke.GPOZaurrOwners.ps1 | 1 + Private/Invoke.GPOZaurrPassword.ps1 | 1 + Private/Invoke.GPOZaurrPermissions.ps1 | 1 + Private/Invoke.GPOZaurrPermissionsRoot.ps1 | 1 + Private/Invoke.GPOZaurrSysVolLegacyFiles.ps1 | 1 + Private/New-GPOZaurrReportConsole.ps1 | 1 + Public/Invoke-GPOZaurr.ps1 | 8 +++++++- 15 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 Private/Export-GPOZaurr.ps1 diff --git a/Private/Export-GPOZaurr.ps1 b/Private/Export-GPOZaurr.ps1 new file mode 100644 index 0000000..cdaecce --- /dev/null +++ b/Private/Export-GPOZaurr.ps1 @@ -0,0 +1,18 @@ +function Export-GPOZaurr { + [cmdletBinding()] + param( + + ) + $Output = [ordered] @{} + foreach ($T in $Script:GPOConfiguration.Keys) { + if ($Script:GPOConfiguration[$T].Enabled -eq $true) { + $Output[$T] = [ordered]@{ + Action = $Script:GPOConfiguration[$T].Action + Data = $Script:GPOConfiguration[$T].Data + Summary = $Script:GPOConfiguration[$T].Summary + Variables = $Script:GPOConfiguration[$T].Variables + } + } + } + $Output +} \ No newline at end of file diff --git a/Private/Invoke.GPOZaurrAnalysis.ps1 b/Private/Invoke.GPOZaurrAnalysis.ps1 index d1e828c..7720560 100644 --- a/Private/Invoke.GPOZaurrAnalysis.ps1 +++ b/Private/Invoke.GPOZaurrAnalysis.ps1 @@ -1,6 +1,7 @@ $GPOZaurrAnalysis = [ordered] @{ Name = 'Group Policy Content' Enabled = $true + Action = $null Data = $null Execute = { Invoke-GPOZaurrContent diff --git a/Private/Invoke.GPOZaurrConsistency.ps1 b/Private/Invoke.GPOZaurrConsistency.ps1 index 55a8fd8..7907325 100644 --- a/Private/Invoke.GPOZaurrConsistency.ps1 +++ b/Private/Invoke.GPOZaurrConsistency.ps1 @@ -1,6 +1,7 @@ $GPOZaurrConsistency = [ordered] @{ Name = 'GPO Permissions Consistency' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrPermissionConsistency -Type All -VerifyInheritance } Processing = { diff --git a/Private/Invoke.GPOZaurrDuplicate.ps1 b/Private/Invoke.GPOZaurrDuplicate.ps1 index 43ae0e3..1c0d8ee 100644 --- a/Private/Invoke.GPOZaurrDuplicate.ps1 +++ b/Private/Invoke.GPOZaurrDuplicate.ps1 @@ -1,6 +1,7 @@ $GPOZaurrDuplicates = [ordered] @{ Name = 'Duplicate (CNF) Group Policies' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrDuplicateObject diff --git a/Private/Invoke.GPOZaurrFiles.ps1 b/Private/Invoke.GPOZaurrFiles.ps1 index f6d85f3..95b7de1 100644 --- a/Private/Invoke.GPOZaurrFiles.ps1 +++ b/Private/Invoke.GPOZaurrFiles.ps1 @@ -1,6 +1,7 @@ $GPOZaurrFiles = [ordered] @{ Name = 'SYSVOL (NetLogon) Files List' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrFiles diff --git a/Private/Invoke.GPOZaurrList.ps1 b/Private/Invoke.GPOZaurrList.ps1 index 56bc44b..61270ff 100644 --- a/Private/Invoke.GPOZaurrList.ps1 +++ b/Private/Invoke.GPOZaurrList.ps1 @@ -1,6 +1,7 @@ $GPOZaurrList = [ordered] @{ Name = 'Group Policy Empty & Unlinked' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurr diff --git a/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 b/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 index 7c619dc..52b2ef4 100644 --- a/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 +++ b/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 @@ -1,6 +1,7 @@ $GPOZaurrNetLogonPermissions = [ordered] @{ Name = 'NetLogon Permissions' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrNetLogon diff --git a/Private/Invoke.GPOZaurrOrphans.ps1 b/Private/Invoke.GPOZaurrOrphans.ps1 index 7801467..ce7513e 100644 --- a/Private/Invoke.GPOZaurrOrphans.ps1 +++ b/Private/Invoke.GPOZaurrOrphans.ps1 @@ -1,6 +1,7 @@ $GPOZaurrOrphans = [ordered] @{ Name = 'Orphaned Group Policies' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrBroken diff --git a/Private/Invoke.GPOZaurrOwners.ps1 b/Private/Invoke.GPOZaurrOwners.ps1 index cd7d807..1f6ab39 100644 --- a/Private/Invoke.GPOZaurrOwners.ps1 +++ b/Private/Invoke.GPOZaurrOwners.ps1 @@ -1,6 +1,7 @@ $GPOZaurrOwners = [ordered] @{ Name = 'Group Policy Owners' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrOwner -IncludeSysvol } Processing = { diff --git a/Private/Invoke.GPOZaurrPassword.ps1 b/Private/Invoke.GPOZaurrPassword.ps1 index b89c3be..7f6f575 100644 --- a/Private/Invoke.GPOZaurrPassword.ps1 +++ b/Private/Invoke.GPOZaurrPassword.ps1 @@ -1,6 +1,7 @@ $GPOZaurrPassword = [ordered] @{ Name = 'Group Policy Passwords' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrPassword diff --git a/Private/Invoke.GPOZaurrPermissions.ps1 b/Private/Invoke.GPOZaurrPermissions.ps1 index a02f4c0..4a08483 100644 --- a/Private/Invoke.GPOZaurrPermissions.ps1 +++ b/Private/Invoke.GPOZaurrPermissions.ps1 @@ -1,6 +1,7 @@ $GPOZaurrPermissions = [ordered] @{ Name = 'Group Policy Permissions' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrPermission -Type All -IncludePermissionType GpoEditDeleteModifySecurity, GpoEdit, GpoCustom #-IncludeOwner diff --git a/Private/Invoke.GPOZaurrPermissionsRoot.ps1 b/Private/Invoke.GPOZaurrPermissionsRoot.ps1 index 31e65c6..534e354 100644 --- a/Private/Invoke.GPOZaurrPermissionsRoot.ps1 +++ b/Private/Invoke.GPOZaurrPermissionsRoot.ps1 @@ -1,6 +1,7 @@ $GPOZaurrPermissionsRoot = [ordered] @{ Name = 'Group Policies Root Permissions' Enabled = $true + Action = $null Data = $null Execute = { Get-GPOZaurrPermissionRoot -SkipNames diff --git a/Private/Invoke.GPOZaurrSysVolLegacyFiles.ps1 b/Private/Invoke.GPOZaurrSysVolLegacyFiles.ps1 index 5b403b8..2140a57 100644 --- a/Private/Invoke.GPOZaurrSysVolLegacyFiles.ps1 +++ b/Private/Invoke.GPOZaurrSysVolLegacyFiles.ps1 @@ -1,6 +1,7 @@ $GPOZaurrSysVolLegacyFiles = [ordered] @{ Name = 'SYSVOL Legacy ADM Files' Enabled = $false + Action = $null Data = $null Execute = { Get-GPOZaurrLegacyFiles diff --git a/Private/New-GPOZaurrReportConsole.ps1 b/Private/New-GPOZaurrReportConsole.ps1 index bed37f9..0f45203 100644 --- a/Private/New-GPOZaurrReportConsole.ps1 +++ b/Private/New-GPOZaurrReportConsole.ps1 @@ -1,4 +1,5 @@ function New-GPOZaurrReportConsole { + [cmdletBinding()] param( [System.Collections.IDictionary] $Results ) diff --git a/Public/Invoke-GPOZaurr.ps1 b/Public/Invoke-GPOZaurr.ps1 index ac5374b..565b508 100644 --- a/Public/Invoke-GPOZaurr.ps1 +++ b/Public/Invoke-GPOZaurr.ps1 @@ -3,7 +3,8 @@ [cmdletBinding()] param( [string] $FilePath, - [string[]] $Type + [string[]] $Type, + [switch] $PassThru ) Reset-GPOZaurrStatus # This makes sure types are at it's proper status @@ -102,6 +103,11 @@ } } } -Online -ShowHTML -FilePath $FilePath + + if ($PassThru) { + $OutputData = Export-GPOZaurr + $OutputData + } Reset-GPOZaurrStatus # This makes sure types are at it's proper status }