diff --git a/source/tests/Test-BlockChannelEmails.ps1 b/source/tests/Test-BlockChannelEmails.ps1 index fc438ee..94e1e9e 100644 --- a/source/tests/Test-BlockChannelEmails.ps1 +++ b/source/tests/Test-BlockChannelEmails.ps1 @@ -1,26 +1,42 @@ function Test-BlockChannelEmails { [CmdletBinding()] param ( + # Aligned # Parameters can be added here if needed ) begin { - # Dot source the class script + # Dot source the class script if necessary - $auditResults = @() + # Initialization code, if needed } process { # 8.1.2 (L1) Ensure users can't send emails to a channel email address - # Connect to Teams PowerShell using Connect-MicrosoftTeams + # Retrieve Teams client configuration $teamsClientConfig = Get-CsTeamsClientConfiguration -Identity Global $allowEmailIntoChannel = $teamsClientConfig.AllowEmailIntoChannel - # Create an instance of CISAuditResult and populate it + # Prepare failure reasons and details based on compliance + $failureReasons = if ($allowEmailIntoChannel) { + "Emails can be sent to a channel email address" + } + else { + "N/A" + } + + $details = if ($allowEmailIntoChannel) { + "AllowEmailIntoChannel is set to True" + } + else { + "AllowEmailIntoChannel is set to False" + } + + # Create and populate the CISAuditResult object $auditResult = [CISAuditResult]::new() $auditResult.CISControlVer = "v8" - $auditResult.CISControl = "0.0" # This control is Explicitly Not Mapped as per the image provided + $auditResult.CISControl = "0.0" # This control is explicitly not mapped as per the image provided $auditResult.CISDescription = "Explicitly Not Mapped" $auditResult.Rec = "8.1.2" $auditResult.ELevel = "E3" @@ -30,15 +46,13 @@ function Test-BlockChannelEmails { $auditResult.IG3 = $false # Set based on the benchmark $auditResult.RecDescription = "Ensure users can't send emails to a channel email address" $auditResult.Result = -not $allowEmailIntoChannel - $auditResult.Details = "AllowEmailIntoChannel is set to $allowEmailIntoChannel" - $auditResult.FailureReason = if ($allowEmailIntoChannel) { "Emails can be sent to a channel email address" } else { "N/A" } + $auditResult.Details = $details + $auditResult.FailureReason = $failureReasons $auditResult.Status = if (-not $allowEmailIntoChannel) { "Pass" } else { "Fail" } - - $auditResults += $auditResult } end { - # Return auditResults - return $auditResults + # Return the audit result + return $auditResult } }