fix: 6.5.2 aligned with test-template

This commit is contained in:
DrIOS
2024-05-28 11:02:25 -05:00
parent 0196607f69
commit 2148a37b35

View File

@@ -1,26 +1,45 @@
function Test-MailTipsEnabled { function Test-MailTipsEnabled {
[CmdletBinding()] [CmdletBinding()]
param ( param (
# Define your parameters here # Aligned
# Parameters can be added if needed
) )
begin { begin {
# Initialization code # Dot source the class script if necessary
#. .\source\Classes\CISAuditResult.ps1
# Initialization code, if needed
$auditResult = [CISAuditResult]::new() $auditResult = [CISAuditResult]::new()
} }
process { process {
# 6.5.2 (L2) Ensure MailTips are enabled for end users # 6.5.2 (L2) Ensure MailTips are enabled for end users
# Retrieve organization configuration for MailTips settings
$orgConfig = Get-OrganizationConfig | Select-Object MailTipsAllTipsEnabled, MailTipsExternalRecipientsTipsEnabled, MailTipsGroupMetricsEnabled, MailTipsLargeAudienceThreshold $orgConfig = Get-OrganizationConfig | Select-Object MailTipsAllTipsEnabled, MailTipsExternalRecipientsTipsEnabled, MailTipsGroupMetricsEnabled, MailTipsLargeAudienceThreshold
$allTipsEnabled = $orgConfig.MailTipsAllTipsEnabled -and $orgConfig.MailTipsGroupMetricsEnabled -and $orgConfig.MailTipsLargeAudienceThreshold -eq 25 $allTipsEnabled = $orgConfig.MailTipsAllTipsEnabled -and $orgConfig.MailTipsGroupMetricsEnabled -and $orgConfig.MailTipsLargeAudienceThreshold -eq 25
$externalRecipientsTipsEnabled = $orgConfig.MailTipsExternalRecipientsTipsEnabled $externalRecipientsTipsEnabled = $orgConfig.MailTipsExternalRecipientsTipsEnabled
# Since there is no direct CIS Control mapping, the control will be set as not applicable. # Prepare failure reasons and details based on compliance
$auditResult.CISControl = "0" $failureReasons = if (-not ($allTipsEnabled -and $externalRecipientsTipsEnabled)) {
$auditResult.CISControlVer = "v8" "One or more MailTips settings are not configured as required."
$auditResult.CISDescription = "Explicitly Not Mapped" }
else {
"N/A"
}
$details = if ($allTipsEnabled -and $externalRecipientsTipsEnabled) {
"MailTipsAllTipsEnabled: $($orgConfig.MailTipsAllTipsEnabled); MailTipsExternalRecipientsTipsEnabled: $($orgConfig.MailTipsExternalRecipientsTipsEnabled); MailTipsGroupMetricsEnabled: $($orgConfig.MailTipsGroupMetricsEnabled); MailTipsLargeAudienceThreshold: $($orgConfig.MailTipsLargeAudienceThreshold)"
}
else {
"One or more MailTips settings are not configured as required."
}
# Create and populate the CISAuditResult object
$auditResult.CISControlVer = "v8"
$auditResult.CISControl = "0.0" # Explicitly Not Mapped
$auditResult.CISDescription = "Explicitly Not Mapped"
$auditResult.Rec = "6.5.2" $auditResult.Rec = "6.5.2"
$auditResult.ELevel = "E3" $auditResult.ELevel = "E3"
$auditResult.ProfileLevel = "L2" $auditResult.ProfileLevel = "L2"
@@ -28,16 +47,14 @@ function Test-MailTipsEnabled {
$auditResult.IG2 = $false $auditResult.IG2 = $false
$auditResult.IG3 = $false $auditResult.IG3 = $false
$auditResult.RecDescription = "Ensure MailTips are enabled for end users" $auditResult.RecDescription = "Ensure MailTips are enabled for end users"
$auditResult.Result = $allTipsEnabled -and $externalRecipientsTipsEnabled $auditResult.Result = $allTipsEnabled -and $externalRecipientsTipsEnabled
$auditResult.Details = "MailTipsAllTipsEnabled: $($orgConfig.MailTipsAllTipsEnabled); MailTipsExternalRecipientsTipsEnabled: $($orgConfig.MailTipsExternalRecipientsTipsEnabled); MailTipsGroupMetricsEnabled: $($orgConfig.MailTipsGroupMetricsEnabled); MailTipsLargeAudienceThreshold: $($orgConfig.MailTipsLargeAudienceThreshold)" $auditResult.Details = $details
$auditResult.FailureReason = if (-not $auditResult.Result) { "One or more MailTips settings are not configured as required." } else { "N/A" } $auditResult.FailureReason = $failureReasons
$auditResult.Status = if ($auditResult.Result) { "Pass" } else { "Fail" } $auditResult.Status = if ($auditResult.Result) { "Pass" } else { "Fail" }
} }
end { end {
# Return auditResult # Return the audit result
return $auditResult return $auditResult
} }
} }