private/tests/Test-Assessment.21866.ps1
<# .SYNOPSIS #> function Test-Assessment-21866{ [CmdletBinding()] param() Write-PSFMessage '🟦 Start' -Tag Test -Level VeryVerbose $activity = "Checking All Microsoft Entra recommendations are addressed" Write-ZtProgress -Activity $activity $recommendations = Invoke-ZtGraphRequest -RelativeUri "directory/recommendations" -ApiVersion beta $result = $recommendations | Where-Object { $_.status -in @('active', 'postponed') } Write-Output $result.Count $passed = $result.Count -eq 0 if ($passed) { $testResultMarkdown = "All Entra Recommendations are addressed.`n`n" } else { $testResultMarkdown = "Found $($result.Count) unaddressed Entra recommendations.`n`n%TestResult%" } if ($result.Count -gt 0) { $mdInfo = "`n## Unaddressed Entra recommendations`n`n" $mdInfo += "| Display Name | Status | Insights | Priority |`n" $mdInfo += "| :--- | :--- | :--- | :--- |`n" foreach ($item in $result) { $mdInfo += "| $($item.displayName) | $($item.status) | $($item.Insights) | $($item.priority) |`n" } } $testResultMarkdown = $testResultMarkdown -replace "%TestResult%", $mdInfo Add-ZtTestResultDetail -TestId '21866' -Title "All Microsoft Entra recommendations are addressed" ` -UserImpact Low -Risk Medium -ImplementationCost High ` -AppliesTo Identity -Tag Identity ` -Status $passed -Result $testResultMarkdown } |