From 9805e9910923f507ed7bc729bae4290dd757bb41 Mon Sep 17 00:00:00 2001 From: DrIOS <58635327+DrIOSX@users.noreply.github.com> Date: Sat, 29 Jun 2024 19:16:27 -0500 Subject: [PATCH] fix: 2.1.9 simplified output and added object comment-release --- source/tests/Test-EnableDKIM.ps1 | 34 +++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/source/tests/Test-EnableDKIM.ps1 b/source/tests/Test-EnableDKIM.ps1 index fa86282..ec92d52 100644 --- a/source/tests/Test-EnableDKIM.ps1 +++ b/source/tests/Test-EnableDKIM.ps1 @@ -4,6 +4,7 @@ function Test-EnableDKIM { param ( # Aligned # Parameters can be added if needed + [string]$DomainName ) begin { @@ -37,9 +38,16 @@ function Test-EnableDKIM { # Retrieve DKIM configuration for all domains $dkimConfig = Get-CISExoOutput -Rec $recnum - $dkimResult = ($dkimConfig | ForEach-Object { $_.Enabled }) -notcontains $false - $dkimFailedDomains = $dkimConfig | Where-Object { -not $_.Enabled } | ForEach-Object { $_.Domain } - + if (-not $DomainName) { + $dkimResult = ($dkimConfig | ForEach-Object { $_.Enabled }) -notcontains $false + $dkimFailedDomains = $dkimConfig | Where-Object { -not $_.Enabled } | ForEach-Object { $_.Domain } + } + else { + $dkimResult = ($dkimConfig | Where-Object { $_.Domain -eq $DomainName }).Enabled + if ($dkimResult -eq $false) { + $dkimFailedDomains = $dkimConfig | Where-Object { $_.Domain -eq $DomainName } | ForEach-Object { $_.Domain } + } + } # Prepare failure reasons and details based on compliance $failureReasons = if (-not $dkimResult) { "DKIM is not enabled for some domains" # Condition A fail @@ -47,21 +55,25 @@ function Test-EnableDKIM { else { "N/A" } - + $basedetails = "All domains have DKIM enabled" $details = if ($dkimResult) { - "All domains have DKIM enabled" # Condition A pass + if ($DomainName) { + "Domain: $DomainName; $basedetails" + } + else { + $basedetails + } # Condition A pass } else { "DKIM not enabled for: $($dkimFailedDomains -join ', ')" # Condition B fail } - # Create and populate the CISAuditResult object $params = @{ - Rec = $recnum - Result = $dkimResult - Status = if ($dkimResult) { "Pass" } else { "Fail" } - Details = $details - FailureReason = $failureReasons + Rec = $recnum + Result = $dkimResult + Status = if ($dkimResult) { "Pass" } else { "Fail" } + Details = $details + FailureReason = $failureReasons } $auditResult = Initialize-CISAuditResult @params }