docs: finalize error handling standard
This commit is contained in:
@@ -15,7 +15,10 @@ function Get-ExceededLengthResultDetail {
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'ReturnExceedingTests')]
|
||||
[switch]$ReturnExceedingTestsOnly,
|
||||
|
||||
[int]$DetailsLengthLimit = 30000
|
||||
[int]$DetailsLengthLimit = 30000,
|
||||
|
||||
[Parameter(Mandatory = $true, ParameterSetName = 'UpdateArray')]
|
||||
[int]$PreviewLineCount = 50
|
||||
)
|
||||
|
||||
$exceedingTests = @()
|
||||
@@ -28,11 +31,14 @@ function Get-ExceededLengthResultDetail {
|
||||
if ($ReturnExceedingTestsOnly) {
|
||||
$exceedingTests += $auditResult.Rec
|
||||
} else {
|
||||
$previewLines = ($auditResult.Details -split '\r?\n' | Select-Object -First $PreviewLineCount) -join "`n"
|
||||
$message = "The test result is too large to be exported to CSV. Use the audit result and the export function for full output.`n`nPreview:`n$previewLines"
|
||||
|
||||
if ($ExportedTests -contains $auditResult.Rec) {
|
||||
Write-Information "The test result for $($auditResult.Rec) is too large for CSV and was included in the export. Check the exported files."
|
||||
$auditResult.Details = "The test result is too large to be exported to CSV. Use the audit result and the export function for full output."
|
||||
$auditResult.Details = $message
|
||||
} else {
|
||||
$auditResult.Details = "The test result is too large to be exported to CSV. Use the audit result and the export function for full output."
|
||||
$auditResult.Details = $message
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -153,7 +153,7 @@ function Export-M365SecurityAuditTable {
|
||||
}
|
||||
}
|
||||
if ($exportedTests.Count -gt 0) {
|
||||
Write-Information "The following tests were included in the export: $($exportedTests -join ', ')" -InformationAction Continue
|
||||
Write-Information "The following tests were exported: $($exportedTests -join ', ')" -InformationAction Continue
|
||||
}
|
||||
else {
|
||||
if ($ExportOriginalTests) {
|
||||
@@ -169,7 +169,7 @@ function Export-M365SecurityAuditTable {
|
||||
$TestNumbersToCheck = "1.1.1", "1.3.1", "6.1.2", "6.1.3", "7.3.4"
|
||||
|
||||
# Check for large details and update the AuditResults array
|
||||
$updatedAuditResults = Get-ExceededLengthResultDetail -AuditResults $AuditResults -TestNumbersToCheck $TestNumbersToCheck -ExportedTests $exportedTests -DetailsLengthLimit 30000
|
||||
$updatedAuditResults = Get-ExceededLengthResultDetail -AuditResults $AuditResults -TestNumbersToCheck $TestNumbersToCheck -ExportedTests $exportedTests -DetailsLengthLimit 30000 -PreviewLineCount 25
|
||||
$originalFileName = "$ExportPath\$timestamp`_M365FoundationsAudit.csv"
|
||||
$updatedAuditResults | Export-Csv -Path $originalFileName -NoTypeInformation
|
||||
}
|
||||
|
@@ -293,7 +293,7 @@ function Invoke-M365SecurityAudit {
|
||||
$exceedingTests = Get-ExceededLengthResultDetail -AuditResults $allAuditResults -TestNumbersToCheck $TestNumbersToCheck -ReturnExceedingTestsOnly -DetailsLengthLimit 30000
|
||||
if ($exceedingTests.Count -gt 0) {
|
||||
Write-Information "The following tests exceeded the details length limit: $($exceedingTests -join ', ')" -InformationAction Continue
|
||||
Write-Host "(Assuming the results were instantiated. Ex: `$object = invoke-M365SecurityAudit) Use the following command and adjust as neccesary to view the full details of the test results:" -ForegroundColor Gray
|
||||
Write-Host "(Assuming the results were instantiated. Ex: `$object = invoke-M365SecurityAudit) Use the following command and adjust as neccesary to view the full details of the test results:" -ForegroundColor DarkCyan
|
||||
Write-Host "Export-M365SecurityAuditTable -ExportAllTests -AuditResults `$object -ExportPath `"C:\temp`" -ExportOriginalTests" -ForegroundColor Green
|
||||
}
|
||||
return $allAuditResults.ToArray() | Sort-Object -Property Rec
|
||||
|
Reference in New Issue
Block a user