cisagov / ScubaGear

Automation to assess the state of your M365 tenant against CISA's baselines
https://www.cisa.gov/resources-tools/services/secure-cloud-business-applications-scuba-project
Creative Commons Zero v1.0 Universal
1.65k stars 221 forks source link

Can't run report - Fatal Error involving the Report Creation. #1383

Open mundayn opened 6 days ago

mundayn commented 6 days ago

🐛 Summary

I've tried on 3 different Windows 11 Machines, a brand new Azure Windows 11 machine, my Windows 11 Laptop, and a Windows Sandbox environment and I get the same error each time.

EDIT: This seems to be related to one tenant - This is a new tenant with no license attached yet - seems to work on other tenants

To reproduce

Steps to reproduce the behavior:

Open PowerShell 5 as Admin, install the tool.

Install-Module -Name ScubaGear Initialize-SCuBA Invoke-SCuBA -Version Invoke-SCuBA -ProductNames aad

PS C:\Users\xxx> Invoke-SCuBA -ProductNames aad WARNING: Omitting calls to Get-PrivilegedRole and Get-PrivilegedUser. Fatal Error involving the Report Creation. Ending ScubaGear execution. See the exception message for more details: Invalid JSON primitive: . At C:\Program Files\WindowsPowerShell\Modules\ScubaGear\1.3.0\Modules\Orchestrator.psm1:1084 char:13

Expected behavior

The report to work.

Any helpful log output or screenshots

PS C:\Users\xxx> Install-Module -Name ScubaGear NuGet provider is required to continue PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or 'C:\Users\xxx\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and import the NuGet provider now? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y Untrusted repository You are installing the modules from an untrusted repository. If you trust this repository, change its InstallationPolicy value by running the Set-PSRepository cmdlet. Are you sure you want to install the modules from 'PSGallery'? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "N"): A PS C:\Users\xxx> Initialize-SCuBA WARNING: The required supporting PowerShell modules are not installed with a supported version. Run Initialize-SCuBA to install all required dependencies. See Get-Help Initialize-SCuBA for more help. Setting PSGallery repository to trusted. PowerShellGet: 1.0.0.1 updated to version 2.2.5. Installed the latest acceptable version of MicrosoftTeams: 6.6.0. Installed the latest acceptable version of ExchangeOnlineManagement: 3.4.0. Installed the latest acceptable version of Microsoft.Online.SharePoint.PowerShell: 16.0.24810.12000. Installed the latest acceptable version of PnP.PowerShell: 1.12.0. Installed the latest acceptable version of Microsoft.PowerApps.Administration.PowerShell: 2.0.200. Installed the latest acceptable version of Microsoft.PowerApps.PowerShell: 1.0.40. Installed the latest acceptable version of Microsoft.Graph.Authentication: 2.19.0. Installed the latest acceptable version of Microsoft.Graph.Beta.Users: 2.19.0. Installed the latest acceptable version of Microsoft.Graph.Beta.Groups: 2.19.0. Installed the latest acceptable version of Microsoft.Graph.Beta.Identity.DirectoryManagement: 2.19.0. Installed the latest acceptable version of Microsoft.Graph.Beta.Identity.Governance: 2.19.0. Installed the latest acceptable version of Microsoft.Graph.Beta.Identity.SignIns: 2.19.0. Installed the latest acceptable version of powershell-yaml: 0.4.7.

                                                                                                                        Directory: C:\Users\xxx\.scubagear                                                                                                                                                                                                                                                                                                                                 Mode                 LastWriteTime         Length Name                                                                  ----                 -------------         ------ ----                                                                                                                                  d-----        10/29/2024   4:29 PM                Tools                                                                                                                                             

Installed the specified OPA version (0.64.1) to C:\Users\xxx.scubagear\Tools\opa_windows_amd64.exe Downloaded OPA version (0.64.1) SHA256 verified successfully

DEBUG: ScubaGear setup time elapsed: 112 seconds.

PS C:\Users\xxx> Invoke-SCuBA -Version SCuBA Gear v1.3.0 PS C:\Users\xxx> Invoke-SCuBA -ProductNames AAD Invoke-SCuBA : Cannot validate argument on parameter 'ProductNames'. The argument "AAD" does not belong to the set "teams,exo,defender,aad,powerplatform,sharepoint,*" specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again. At line:1 char:28

PS C:\Users\xxx> Invoke-SCuBA -ProductNames aad WARNING: Omitting calls to Get-PrivilegedRole and Get-PrivilegedUser. Fatal Error involving the Report Creation. Ending ScubaGear execution. See the exception message for more details: Invalid JSON primitive: . At C:\Program Files\WindowsPowerShell\Modules\ScubaGear\1.3.0\Modules\Orchestrator.psm1:1084 char:13

PS C:\Users\xxx> get-host

Name : ConsoleHost Version : 5.1.22621.2506 InstanceId : 372455fd-0d85-4734-9b61-fe99fd5ad458 UI : System.Management.Automation.Internal.Host.InternalHostUserInterface CurrentCulture : en-US CurrentUICulture : en-US PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy DebuggerEnabled : True IsRunspacePushed : False Runspace : System.Management.Automation.Runspaces.LocalRunspace

PS C:\Users\xxx> get-module

ModuleType Version Name ExportedCommands


Script 2.0.0.0 BitsTransfer {Add-BitsFile, Complete-BitsTransfer, Get-BitsTransfer, Remove-BitsTransfer...} Script 0.0 Dependencies Script 2.19.0 Microsoft.Graph.Authentication {Add-MgEnvironment, Connect-MgGraph, Disconnect-MgGraph, Get-MgContext...} Script 2.19.0 Microsoft.Graph.Beta.Identity.Di... {Add-MgBetaTenantRelationshipManagedTenantAlertUserInputLog, Add-MgBetaTenantRelationshipManagedTenantManagementAction, Complete-MgBet... Script 2.19.0 Microsoft.Graph.Beta.Identity.Si... {Confirm-MgBetaInformationProtectionSignature, Confirm-MgBetaRiskyServicePrincipalCompromised, Confirm-MgBetaRiskyUserCompromised, Fin... Script 2.19.0 Microsoft.Graph.Beta.Users {Get-MgBetaUser, Get-MgBetaUserAppRoleAssignedResource, Get-MgBetaUserAppRoleAssignedResourceByAppId, Get-MgBetaUserAppRoleAssignedRes... Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...} Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...} Binary 1.0.0.1 PackageManagement {Find-Package, Find-PackageProvider, Get-Package, Get-PackageProvider...} Script 1.0.0.1 PowerShellGet {Find-Command, Find-DscResource, Find-Module, Find-RoleCapability...} Script 2.0.0 PSReadLine {Get-PSReadLineKeyHandler, Get-PSReadLineOption, Remove-PSReadLineKeyHandler, Set-PSReadLineKeyHandler...} Script 0.0 RaiseFunctionCap Script 1.3.0 ScubaGear {Copy-ScubaBaselineDocument, Copy-ScubaSampleConfigFile, Copy-ScubaSampleReport, Debug-SCuBA...} Script 0.0 Support {Copy-ScubaBaselineDocument, Copy-ScubaSampleConfigFile, Copy-ScubaSampleReport, Debug-SCuBA...}

gdasher commented 5 days ago

Can you try the 1.4.0 preview version from PS gallery and let us know if you can reproduce this there?

https://www.powershellgallery.com/packages/ScubaGear/1.4.0-rc6