fix: 6.3.1 aligned with test-template
This commit is contained in:
@@ -1,20 +1,20 @@
|
|||||||
function Test-RestrictOutlookAddins {
|
function Test-RestrictOutlookAddins {
|
||||||
[CmdletBinding()]
|
[CmdletBinding()]
|
||||||
param (
|
param (
|
||||||
|
# Aligned
|
||||||
# Parameters could include credentials or other necessary data
|
# Parameters could include credentials or other necessary data
|
||||||
)
|
)
|
||||||
|
|
||||||
begin {
|
begin {
|
||||||
|
# Dot source the class script if necessary
|
||||||
|
#. .\source\Classes\CISAuditResult.ps1
|
||||||
# Initialization code
|
# Initialization code
|
||||||
|
|
||||||
$auditResult = [CISAuditResult]::new()
|
|
||||||
$customPolicyFailures = @()
|
$customPolicyFailures = @()
|
||||||
$defaultPolicyFailureDetails = @()
|
$defaultPolicyFailureDetails = @()
|
||||||
$relevantRoles = @('My Custom Apps', 'My Marketplace Apps', 'My ReadWriteMailbox Apps')
|
$relevantRoles = @('My Custom Apps', 'My Marketplace Apps', 'My ReadWriteMailbox Apps')
|
||||||
}
|
}
|
||||||
|
|
||||||
process {
|
process {
|
||||||
# Main functionality
|
|
||||||
# 6.3.1 (L2) Ensure users installing Outlook add-ins is not allowed
|
# 6.3.1 (L2) Ensure users installing Outlook add-ins is not allowed
|
||||||
|
|
||||||
# Check all mailboxes for custom policies with unallowed add-ins
|
# Check all mailboxes for custom policies with unallowed add-ins
|
||||||
@@ -38,24 +38,11 @@ function Test-RestrictOutlookAddins {
|
|||||||
if ($defaultPolicyRoles) {
|
if ($defaultPolicyRoles) {
|
||||||
$defaultPolicyFailureDetails = $defaultPolicyRoles
|
$defaultPolicyFailureDetails = $defaultPolicyRoles
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
end {
|
|
||||||
# Prepare result object
|
|
||||||
$auditResult.Rec = "6.3.1"
|
|
||||||
$auditResult.CISControl = "9.4"
|
|
||||||
$auditResult.CISDescription = "Restrict Unnecessary or Unauthorized Browser and Email Client Extensions"
|
|
||||||
$auditResult.ELevel = "E3"
|
|
||||||
$auditResult.ProfileLevel = "L2"
|
|
||||||
$auditResult.IG1 = $false
|
|
||||||
$auditResult.IG2 = $true
|
|
||||||
$auditResult.IG3 = $true
|
|
||||||
$auditResult.RecDescription = "Ensure users installing Outlook add-ins is not allowed"
|
|
||||||
|
|
||||||
|
# Prepare result details string
|
||||||
$detailsString = ""
|
$detailsString = ""
|
||||||
if ($customPolicyFailures) {
|
if ($customPolicyFailures) {
|
||||||
$detailsString += "Custom Policy Failures: | "
|
$detailsString += "Custom Policy Failures: | "
|
||||||
# Use pipes or tabs here instead of newlines
|
|
||||||
$detailsString += ($customPolicyFailures -join " | ")
|
$detailsString += ($customPolicyFailures -join " | ")
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -70,20 +57,29 @@ function Test-RestrictOutlookAddins {
|
|||||||
$detailsString += "Compliant"
|
$detailsString += "Compliant"
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($customPolicyFailures -or $defaultPolicyFailureDetails) {
|
# Determine result based on findings
|
||||||
$auditResult.Result = $false
|
$isCompliant = -not ($customPolicyFailures -or $defaultPolicyFailureDetails)
|
||||||
$auditResult.Status = "Fail"
|
|
||||||
|
# Create and populate the CISAuditResult object
|
||||||
|
$auditResult = [CISAuditResult]::new()
|
||||||
|
$auditResult.Status = if ($isCompliant) { "Pass" } else { "Fail" }
|
||||||
|
$auditResult.ELevel = "E3"
|
||||||
|
$auditResult.ProfileLevel = "L2"
|
||||||
|
$auditResult.Rec = "6.3.1"
|
||||||
|
$auditResult.RecDescription = "Ensure users installing Outlook add-ins is not allowed"
|
||||||
|
$auditResult.CISControlVer = "v8"
|
||||||
|
$auditResult.CISControl = "9.4"
|
||||||
|
$auditResult.CISDescription = "Restrict Unnecessary or Unauthorized Browser and Email Client Extensions"
|
||||||
|
$auditResult.IG1 = $false
|
||||||
|
$auditResult.IG2 = $true
|
||||||
|
$auditResult.IG3 = $true
|
||||||
|
$auditResult.Result = $isCompliant
|
||||||
$auditResult.Details = $detailsString
|
$auditResult.Details = $detailsString
|
||||||
$auditResult.FailureReason = "Unauthorized Outlook add-ins found in custom or default policies."
|
$auditResult.FailureReason = if ($isCompliant) { "N/A" } else { "Unauthorized Outlook add-ins found in custom or default policies." }
|
||||||
}
|
|
||||||
else {
|
|
||||||
$auditResult.Result = $true
|
|
||||||
$auditResult.Status = "Pass"
|
|
||||||
$auditResult.Details = "No unauthorized Outlook add-ins found in custom or default policies."
|
|
||||||
$auditResult.FailureReason = "N/A"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Return auditResult
|
end {
|
||||||
|
# Return the audit result
|
||||||
return $auditResult
|
return $auditResult
|
||||||
}
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user