Describe the bug
The Entra recommendations tests are not executed due to the result of the graph request being parsed incorrectly. This results in a failed test that is malformed.
To Reproduce
Steps to reproduce the behavior:
- Execute
Invoke-Maester -Path .\Maester\Entra\ -Tag Recommendation
- Results show one malformed (ID-less) test has failed
Module Version
2.0.0
Environment Data
Name Value
---- -----
PSVersion 7.5.4
PSEdition Core
GitCommitId 7.5.4
OS Microsoft Windows 10.0.19045
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Screenshots
Additional context
The graph request in .\Maester\Entra\Test-EntraRecommendations.Tests.ps1 to retrieve the recommendations is $EntraRecommendations = Invoke-MtGraphRequest -DisableCache -ApiVersion beta -RelativeUri 'directory/recommendations?$expand=impactedResources' -OutputType Hashtable
This results in $EntraRecommendations containing a hashtable like
Name Value
---- -----
value {0064a2ca-615a-4bca-9351-d2b35242dc12_aadGraphDeprecationServicePrincipal, 0064a2ca-615a-
@odata.context https://graph.microsoft.com/beta/$metadata#directory/recommendations(impactedResources())
Yet the test attempts to loop through that hashtable and reference non-existent properties
<#..snip..#> -ForEach $EntraRecommendations {
$RecommendationId = $_.id`
Modifying it to -ForEach $EntraRecommendations.value { so it loops through them correctly does work, but the resulting IDs seem wrong. I'm unsure of what the correct IDs are.

Describe the bug
The Entra recommendations tests are not executed due to the result of the graph request being parsed incorrectly. This results in a failed test that is malformed.
To Reproduce
Steps to reproduce the behavior:
Invoke-Maester -Path .\Maester\Entra\ -Tag RecommendationModule Version
2.0.0Environment Data
Screenshots
Additional context
The graph request in
.\Maester\Entra\Test-EntraRecommendations.Tests.ps1to retrieve the recommendations is$EntraRecommendations = Invoke-MtGraphRequest -DisableCache -ApiVersion beta -RelativeUri 'directory/recommendations?$expand=impactedResources' -OutputType HashtableThis results in
$EntraRecommendationscontaining a hashtable likeYet the test attempts to loop through that hashtable and reference non-existent properties
Modifying it to
-ForEach $EntraRecommendations.value {so it loops through them correctly does work, but the resulting IDs seem wrong. I'm unsure of what the correct IDs are.