From d27760931ec3d6841b8e465d22b8b0ac0f0ee994 Mon Sep 17 00:00:00 2001 From: Przemyslaw Klys Date: Fri, 6 Nov 2020 13:08:38 +0100 Subject: [PATCH] Update --- Private/Invoke.GPOZaurrList.ps1 | 2 +- Private/Invoke.GPOZaurrNetLogonPermissions.ps1 | 2 +- Private/Invoke.GPOZaurrOwners.ps1 | 11 ++++++++--- Private/Invoke.GPOZaurrPassword.ps1 | 2 +- Private/Reset-GPOZaurrStatus.ps1 | 5 +++++ Public/Invoke-GPOZaurr.ps1 | 8 ++++++-- 6 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Private/Invoke.GPOZaurrList.ps1 b/Private/Invoke.GPOZaurrList.ps1 index 61270ff..f1fabd7 100644 --- a/Private/Invoke.GPOZaurrList.ps1 +++ b/Private/Invoke.GPOZaurrList.ps1 @@ -42,7 +42,7 @@ } $GPOZaurrList['Variables']['GPOTotal'] = $GPOZaurrList['Data'].Count } - Variables = [ordered] @{ + Variables = @{ GPONotLinked = 0 GPOLinked = 0 GPOEmpty = 0 diff --git a/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 b/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 index d4cd9d2..815b453 100644 --- a/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 +++ b/Private/Invoke.GPOZaurrNetLogonPermissions.ps1 @@ -36,7 +36,7 @@ $GPOZaurrNetLogonPermissions['Action'] = $false } } - Variables = @{ + Variables = @{ NetLogonOwners = 0 NetLogonOwnersAdministrators = 0 NetLogonOwnersNotAdministrative = 0 diff --git a/Private/Invoke.GPOZaurrOwners.ps1 b/Private/Invoke.GPOZaurrOwners.ps1 index 4118d9a..9e9f33d 100644 --- a/Private/Invoke.GPOZaurrOwners.ps1 +++ b/Private/Invoke.GPOZaurrOwners.ps1 @@ -1,4 +1,4 @@ -$GPOZaurrOwners = [ordered] @{ +$GPOZaurrOwners = [PSCustomObject] @{ Name = 'Group Policy Owners' Enabled = $true Action = $null @@ -24,8 +24,13 @@ $GpoZaurrOwners['Variables']['WillNotTouch']++ } } + if ($GpoZaurrOwners['Variables']['WillFix'].Count -gt 0) { + $GpoZaurrOwners['Action'] = $true + } else { + $GpoZaurrOwners['Action'] = $false + } } - Variables = [ordered] @{ + Variables = @{ IsAdministrative = 0 IsNotAdministrative = 0 IsConsistent = 0 @@ -52,7 +57,7 @@ } -Title 'Group Policy Owners' -TitleAlignment center } } - Summary = { + Summary = { New-HTMLText -FontSize 10pt -TextBlock { "By default GPO creation is usually maintained by Domain Admins or Enterprise Admins. " "When GPO is created by member of Domain Admins or Enterprise Admins group the GPO Owner is set to Domain Admins. " diff --git a/Private/Invoke.GPOZaurrPassword.ps1 b/Private/Invoke.GPOZaurrPassword.ps1 index 7f6f575..53fe860 100644 --- a/Private/Invoke.GPOZaurrPassword.ps1 +++ b/Private/Invoke.GPOZaurrPassword.ps1 @@ -9,7 +9,7 @@ Processing = { } - Variables = @{ + Variables = @{ } Overview = { diff --git a/Private/Reset-GPOZaurrStatus.ps1 b/Private/Reset-GPOZaurrStatus.ps1 index bbe22f3..4863936 100644 --- a/Private/Reset-GPOZaurrStatus.ps1 +++ b/Private/Reset-GPOZaurrStatus.ps1 @@ -2,6 +2,11 @@ param( ) + if (-not $Script:GPOConfigurationClean) { + # $Script:GPOConfigurationClean = Copy-Dictionary -Dictionary $Script:GPOConfiguration + } else { + # $Script:GPOConfiguration = Copy-Dictionary -Dictionary $Script:GPOConfigurationClean + } if (-not $Script:DefaultTypes) { $Script:DefaultTypes = foreach ($T in $Script:GPOConfiguration.Keys) { if ($Script:GPOConfiguration[$T].Enabled) { diff --git a/Public/Invoke-GPOZaurr.ps1 b/Public/Invoke-GPOZaurr.ps1 index 4ef2daf..5ffe6df 100644 --- a/Public/Invoke-GPOZaurr.ps1 +++ b/Public/Invoke-GPOZaurr.ps1 @@ -7,6 +7,7 @@ [switch] $PassThru, [switch] $HideHTML ) + $Script:GPOConfigurationClean = Copy-Dictionary -Dictionary $Script:GPOConfiguration Reset-GPOZaurrStatus # This makes sure types are at it's proper status $Script:Reporting = [ordered] @{} @@ -70,7 +71,8 @@ } # Generate pretty HTML - Write-Verbose "Invoke-GPOZaurr - Generating HTML" + $TimeLogHTML = Start-TimeLog + Write-Color -Text '[i]', '[HTML ] ', 'Generating HTML report' -Color Yellow, DarkGray, Yellow New-HTML -Author 'Przemysław Kłys' -TitleText 'GPOZaurr Report' { New-HTMLTabStyle -BorderRadius 0px -TextTransform capitalize -BackgroundColorActive SlateGrey New-HTMLSectionStyle -BorderRadius 0px -HeaderBackGroundColor Grey -RemoveShadow @@ -104,12 +106,14 @@ } } } -Online -ShowHTML:(-not $HideHTML) -FilePath $FilePath - + $TimeLogEndHTML = Stop-TimeLog -Time $TimeLogHTML -Option OneLiner + Write-Color -Text '[i]', '[HTML ] ', 'Generating HTML report', " [Time to execute: $TimeLogEndHTML]" -Color Yellow, DarkGray, Yellow, DarkGray if ($PassThru) { $OutputData = Export-GPOZaurr $OutputData } Reset-GPOZaurrStatus # This makes sure types are at it's proper status + $Script:GPOConfiguration = Copy-Dictionary -Dictionary $Script:GPOConfigurationClean } [scriptblock] $SourcesAutoCompleter = {