AzureScout
3.3.0
Minimum PowerShell version
7.0
Installation Options
Owners
Copyright
(c) 2026 Hybrid Cloud Solutions. All rights reserved.
Package Details
Author(s)
- Kristopher Turner
Tags
Azure AzureScout Discovery Inventory Assessment CAF WAF WellArchitected CloudAdoptionFramework LandingZone Governance AZSC EntraID Resources ARM Graph Reporting Excel PowerBI
Functions
Start-AZSCAdvisoryJob Start-AZSCPolicyJob Start-AZSCSecCenterJob Start-AZSCSubscriptionJob Wait-AZSCJob Build-AZSCDiagramSubnet Set-AZSCDiagramFile Start-AZSCDiagramJob Start-AZSCDiagramNetwork Start-AZSCDiagramOrganization Start-AZSCDiagramSubscription Start-AZSCDrawIODiagram Invoke-AzureScout Test-AZSCPermissions Start-AZSCWizard Test-ScoutPermission Invoke-ScoutPipeline Get-ScoutInventoryDrift Get-ScoutCostAnomaly Get-ScoutIacGap Import-ScoutConfig Export-ScoutConfig
PSEditions
Dependencies
This module has no dependencies.
Release Notes
v3.3.0 - Epic AB#6450: the reports become deliverables. Every report Scout produced was unfit to put in front of an executive, and 103 report work items on this board were already Closed - every one accepted on the existence of a file, none carrying an acceptance criterion naming a required section or a reader. This release fixes the output and the reason it stayed broken. docs/design/report-conformance.md is now normative with 40 numbered clauses, and tests/Report.Conformance.Tests.ps1 asserts every automatic clause against an emitted package read back off disk, so a renderer item can no longer close on the existence of a file. Word: the generated .docx contained three package parts and 0 of 1,803 paragraphs carried a style, which explains the missing navigation pane, the impossible table of contents, the absent cross-references and the un-rebrandable output all at once. It now carries real styles, chapter numbering, a theme, a header and footer with PAGE and NUMPAGES as real fields, a TOC field, a cover naming client and scan date and classification, a Document Information block stating provenance, chapters shaped scorecard then current state then findings then action items, and long tables deferred to an appendix. Figures are rasterised to PNG in managed code and embedded as image parts - the diagram pipeline previously emitted draw.io XML only, so no document could embed a figure at all; AzViz, Graphviz, D2, a headless browser and ImageMagick were each rejected because a report that silently loses its figures when a native binary is missing is worse than one that never promised them. Power BI output is now a PBIP project with a TMDL semantic model, four real relationships, eleven DAX measures, a date dimension and authored report pages, replacing four flat CSVs and a template whose authored layout was 2,190 bytes. The deck states what was not assessed and carries exactly one act-on-this-first slide naming a specific item, bounded at fifteen slides. The workbook gains a cover with per-tab record counts, the full ARM resource id on every evidence row, and a triage verdict seeded for review rather than guessed. Not assessed is honoured throughout: excluded from the compliance denominator, given its own scorecard column and figure segment, never rendered as a zero or a pass. Two defects that only a real multi-tenant run could surface are fixed: Export-Excel shared a name with the cmdlet exported by ImportExcel - which that renderer imports - so ImportExcel shadowed it and every per-assessment workbook silently failed, and Get-ScoutExcelProp threw on evidence rows that are not property bags. Both were live while the unit suite was green. KNOWN LIMITATION: the Power BI report pages render as placeholders - the model loads and the pages exist, but the visuals do not yet bind to it, so clause B-05 is not met and is not claimed. See CHANGELOG.md for the full history. v3.2.0 - Deep governance and compliance analytics (Epic AB#6454). Scout goes from one real assessment to roughly twenty-eight, and from one enumerated source framework to all fourteen. Added five WAF pillar assessments, eight CAF landing-zone design-area assessments, the WAF Maturity Model, the Microsoft Cloud Security Benchmark plus one assessment per regulatory initiative assigned in the scanned scope, Cloud Governance across CAF Govern''s seven risk categories with a 1-10 domain maturity report, and workload reviews for AI, Azure Virtual Desktop, Azure VMware Solution, AVS Landing Zone, CASA and Azure Local, plus the FinOps Review and DevOps Capability Assessment. Compliance is scored from policy state Scout already collected and no rule read, at no additional Azure call. Three-state reporting: NotAssessed is a first-class status excluded from every score denominator by construction, so a control nobody chose to evaluate never reads as a pass or a fail, and a rule whose data source was blocked reports Not assessed rather than a zero - a denied billing API no longer renders as zero spend. Two false-pass rules removed, and waf.storage.yaml retired for scoring a WAF pillar that WAF does not define; a gate now fails any rule file claiming a pillar, design area or framework axis that does not exist. Every rule file must record the framework version it was verified against or the engine refuses to load it, so no coverage figure can ship without naming its source version. Hybrid/ArcSites and Hybrid/VirtualMachines re-sourced off Resource Graph, which indexes neither type - verified live against real estates returning rows where Resource Graph returns none. Orphaned role assignments are resolved locally against already-collected Entra principals, keeping Graph-denied distinct from principal-deleted. v3.1.0 - Service coverage across all eighteen of Microsoft''s published service categories (Epic AB#6741). Scout modelled fifteen; Migration, General and DevOps now exist as first-class categories, Migration going from zero collectors to all five of its services. 62 collectors added across Migration, General, DevOps, Integration, Web, Storage, IoT and Security, taking measured service coverage from 41% to 66% of the 349 services the audit enumerates. Logic Apps were excluded from the Resource Graph query outright in every prior release and are now collected. Child resources are collected for the first time - Key Vault secret and key expiry, blob containers with their public-access level, file shares, lifecycle policies and Backup vault instances - all on the control plane, all within Reader, no secret value or blob content ever read. The rule engine can now express a condition spanning two collected datasets, declared as rule data, so "which VMs have no backup" is answerable; six cross-resource rules ship. The SMART migration-readiness assessment ships with its source framework enumerated and date-stamped. Also fixed: a golden collector suite that failed on any day but the one it was recorded on, and a guided wizard that resolved its assessment manifest outside the repository and so never listed more than one assessment.
FileList
- AzureScout.nuspec
- src\collect\Get-ScoutApiResources.ps1
- manifests\collectors\AI\MLModels.psd1
- manifests\collectors\DevOps\DevOpsProjects.psd1
- manifests\collectors\IoT\DefenderForIoT.psd1
- manifests\collectors\Networking\ExpressRoute.psd1
- manifests\collectors\Web\SignalR.psd1
- src\assess\rules\waf.performance.yaml
- AzureScout.psd1
- src\collect\Get-ScoutArmChildResource.ps1
- manifests\collectors\AI\MLPipelines.psd1
- manifests\collectors\DevOps\DevOpsRepositories.psd1
- manifests\collectors\IoT\DeviceProvisioningServices.psd1
- manifests\collectors\Networking\Frontdoor.psd1
- manifests\collectors\Web\SpringApps.psd1
- src\assess\rules\waf.reliability.yaml
- AzureScout.psm1
- src\collect\Get-ScoutCostInventory.ps1
- manifests\collectors\AI\OpenAIAccounts.psd1
- manifests\collectors\DevOps\DevOpsServiceConnections.psd1
- manifests\collectors\IoT\DeviceUpdate.psd1
- manifests\collectors\Networking\LoadBalancer.psd1
- manifests\collectors\Web\StaticWebApps.psd1
- src\assess\rules\waf.security.yaml
- CHANGELOG.md
- src\collect\Get-ScoutEntraQueryCatalog.ps1
- manifests\collectors\AI\OpenAIDeployments.psd1
- manifests\collectors\DevOps\DevTestLabs.psd1
- manifests\collectors\IoT\DigitalTwins.psd1
- manifests\collectors\Networking\NATGateway.psd1
- manifests\collectors\Web\WebPubSub.psd1
- src\assess\rules\xr.crossresource.yaml
- LICENSE
- src\collect\Get-ScoutGovernanceDataset.ps1
- manifests\collectors\AI\SearchIndexes.psd1
- manifests\collectors\DevOps\LabServices.psd1
- manifests\collectors\IoT\IoTCentral.psd1
- manifests\collectors\Networking\NetworkInterface.psd1
- src\assess\benchmarks\alz-reference.json
- src\pipeline\diagram\Build-ScoutDiagramSubnet.ps1
- README.md
- src\collect\Get-ScoutManagementGroups.ps1
- manifests\collectors\AI\SearchServices.psd1
- manifests\collectors\DevOps\LoadTesting.psd1
- manifests\collectors\IoT\IOTHubs.psd1
- manifests\collectors\Networking\NetworkSecurityGroup.psd1
- src\assess\engine\Get-GovernanceDomainScore.ps1
- src\pipeline\diagram\Set-ScoutDiagramFile.ps1
- config\scout.config.json
- src\collect\Get-ScoutOperationalCollectorEnrichment.ps1
- manifests\collectors\AI\SpeechService.psd1
- manifests\collectors\DevOps\ManagedDevOpsPools.psd1
- manifests\collectors\IoT\Maps.psd1
- manifests\collectors\Networking\NetworkWatchers.psd1
- src\assess\engine\Get-MaturityLevel.ps1
- src\pipeline\diagram\Start-ScoutDiagramJob.ps1
- manifests\assessments.psd1
- src\collect\Get-ScoutOutageResource.ps1
- manifests\collectors\AI\TextAnalytics.psd1
- manifests\collectors\DevOps\PlaywrightTesting.psd1
- manifests\collectors\Management\AdvisorScore.psd1
- manifests\collectors\Networking\PrivateDNS.psd1
- src\assess\engine\Get-RuleSet.ps1
- src\pipeline\diagram\Start-ScoutDiagramNetwork.ps1
- manifests\azure-provider-types.json
- src\collect\Get-ScoutRawInventory.ps1
- manifests\collectors\AI\Translator.psd1
- manifests\collectors\General\Quotas.psd1
- manifests\collectors\Management\AllSubscriptions.psd1
- manifests\collectors\Networking\PrivateEndpoint.psd1
- src\assess\engine\Get-Score.ps1
- src\pipeline\diagram\Start-ScoutDiagramOrganization.ps1
- src\Clear-AZTICacheFolder.ps1
- src\collect\Get-ScoutSubscriptions.ps1
- manifests\collectors\Analytics\Databricks.psd1
- manifests\collectors\General\ReservationRecom.psd1
- manifests\collectors\Management\AutomationAccounts.psd1
- manifests\collectors\Networking\PublicDNS.psd1
- src\assess\engine\Get-ScoutComplianceScore.ps1
- src\pipeline\diagram\Start-ScoutDiagramSubscription.ps1
- src\Clear-AZTIMemory.ps1
- src\collect\Get-ScoutSubscriptionSecurityPolicySweep.ps1
- manifests\collectors\Analytics\DataExplorerCluster.psd1
- manifests\collectors\General\Reservations.psd1
- manifests\collectors\Management\Backup.psd1
- manifests\collectors\Networking\PublicIP.psd1
- src\assess\engine\Invoke-Rule.ps1
- src\pipeline\diagram\Start-ScoutDrawIoDiagram.ps1
- src\Connect-AZTILoginSession.ps1
- src\collect\Get-ScoutTenantWideResource.ps1
- manifests\collectors\Analytics\EvtHub.psd1
- manifests\collectors\General\ReservationUtilization.psd1
- manifests\collectors\Management\BackupInstances.psd1
- manifests\collectors\Networking\RouteTables.psd1
- src\assess\engine\Resolve-JsonPath.ps1
- src\pipeline\jobs\Start-ScoutAdvisoryJob.ps1
- src\Export-ScoutRawInventoryDump.ps1
- src\collect\Get-ScoutVmQuotas.ps1
- manifests\collectors\Analytics\Purview.psd1
- manifests\collectors\General\SupportTickets.psd1
- manifests\collectors\Management\Budgets.psd1
- manifests\collectors\Networking\TrafficManager.psd1
- src\assess\engine\Resolve-RuleJoin.ps1
- src\pipeline\jobs\Start-ScoutPolicyJob.ps1
- src\Get-AZSCIdSegment.ps1
- src\collect\Get-ScoutVmSkuDetails.ps1
- manifests\collectors\Analytics\Streamanalytics.psd1
- manifests\collectors\Hybrid\ArcDataControllers.psd1
- manifests\collectors\Management\CustomRoleDefinitions.psd1
- manifests\collectors\Networking\VirtualNetwork.psd1
- src\assess\engine\Resolve-ScoutAssignedInitiative.ps1
- src\pipeline\jobs\Start-ScoutSecCenterJob.ps1
- src\Get-AZSCSafeProperty.ps1
- src\collect\Invoke-Collect.ps1
- manifests\collectors\Analytics\Synapse.psd1
- manifests\collectors\Hybrid\ArcExtensions.psd1
- manifests\collectors\Management\LighthouseDelegations.psd1
- manifests\collectors\Networking\VirtualNetworkGateways.psd1
- src\assess\rules\avs.workload.yaml
- src\pipeline\jobs\Start-ScoutSubscriptionJob.ps1
- src\Get-AZTICollectedValue.ps1
- src\collect\Resolve-ScoutOrphanedRoleAssignment.ps1
- manifests\collectors\Compute\AvailabilitySets.psd1
- manifests\collectors\Hybrid\ArcGateways.psd1
- manifests\collectors\Management\MaintenanceConfigurations.psd1
- manifests\collectors\Networking\VirtualWAN.psd1
- src\assess\rules\caf.ai.yaml
- src\report\renderers\Export-EChartsDashboard.ps1
- src\Get-AZTIGraphToken.ps1
- src\collect\Start-ScoutDevOpsExtraction.ps1
- manifests\collectors\Compute\AVD.psd1
- manifests\collectors\Hybrid\ArcKubernetes.psd1
- manifests\collectors\Management\ManagementGroups.psd1
- manifests\collectors\Networking\vNETPeering.psd1
- src\assess\rules\caf.analytics.yaml
- src\report\renderers\Export-Excel.ps1
- src\Get-AZTIUnsupportedData.ps1
- src\collect\Start-ScoutEntraExtraction.ps1
- manifests\collectors\Compute\AVDApplicationGroups.psd1
- manifests\collectors\Hybrid\ArcResourceBridge.psd1
- manifests\collectors\Management\PolicyAssignments.psd1
- manifests\collectors\Security\AppComplianceAutomation.psd1
- src\assess\rules\caf.avslandingzone.yaml
- src\report\renderers\Export-GovernanceReport.ps1
- src\Get-ScoutGraphPermissionImpact.ps1
- src\collect\Start-ScoutGraphExtraction.ps1
- manifests\collectors\Compute\AVDApplications.psd1
- manifests\collectors\Hybrid\ArcServerOperationalData.psd1
- manifests\collectors\Management\PolicyComplianceStates.psd1
- manifests\collectors\Security\ApplicationSecurityGroups.psd1
- src\assess\rules\caf.billing.yaml
- src\report\renderers\Export-Html.ps1
- src\Get-ScoutNewErrorCount.ps1
- src\ingest\Import-AdvisorScores.ps1
- manifests\collectors\Compute\AVDAzureLocal.psd1
- manifests\collectors\Hybrid\ARCServers.psd1
- manifests\collectors\Management\PolicyDefinitions.psd1
- manifests\collectors\Security\ArtifactSigning.psd1
- src\assess\rules\caf.containers.yaml
- src\report\renderers\Export-JsonEvidence.ps1
- src\Invoke-AZTIGraphRequest.ps1
- src\ingest\Import-AzGovViz.ps1
- manifests\collectors\Compute\AVDScalingPlans.psd1
- manifests\collectors\Hybrid\ArcSites.psd1
- manifests\collectors\Management\PolicySetDefinitions.psd1
- manifests\collectors\Security\CloudHSM.psd1
- src\assess\rules\caf.databases.yaml
- src\report\renderers\Export-Pdf.ps1
- src\Invoke-AZTIPermissionAudit.ps1
- src\ingest\Import-Governance.ps1
- manifests\collectors\Compute\AVDSessionHosts.psd1
- manifests\collectors\Hybrid\ArcSQLManagedInstances.psd1
- manifests\collectors\Management\RecoveryVault.psd1
- manifests\collectors\Security\ConfidentialLedger.psd1
- src\assess\rules\caf.govern.ai.yaml
- src\report\renderers\Export-PowerBi.ps1
- src\Invoke-AZTISubscriptionContext.ps1
- src\ingest\Import-ScoutCostInventory.ps1
- manifests\collectors\Compute\AVDWorkspaces.psd1
- manifests\collectors\Hybrid\ArcSQLServers.psd1
- manifests\collectors\Management\ResourceLocks.psd1
- manifests\collectors\Security\DdosProtectionPlans.psd1
- src\assess\rules\caf.govern.cm.yaml
- src\report\renderers\Export-PowerBiProject.ps1
- src\Invoke-AzureScout.ps1
- src\ingest\Import-ScoutDevOpsCapability.ps1
- manifests\collectors\Compute\VirtualMachine.psd1
- manifests\collectors\Hybrid\Clusters.psd1
- manifests\collectors\Migration\AzureMigrateAssessments.psd1
- manifests\collectors\Security\DefenderAlerts.psd1
- src\assess\rules\caf.govern.dg.yaml
- src\report\renderers\Export-Pptx.ps1
- src\Invoke-ScoutAssessmentCore.ps1
- src\pipeline\Get-ScoutCollector.ps1
- manifests\collectors\Compute\VirtualMachineScaleSet.psd1
- manifests\collectors\Hybrid\GalleryImages.psd1
- manifests\collectors\Migration\AzureMigrateDiscoverySites.psd1
- manifests\collectors\Security\DefenderAssessments.psd1
- src\assess\rules\caf.govern.op.yaml
- src\report\renderers\Export-React.ps1
- src\Invoke-ScoutPipeline.ps1
- src\pipeline\Get-ScoutCollectorDefinition.ps1
- manifests\collectors\Compute\VMDisk.psd1
- manifests\collectors\Hybrid\LogicalNetworks.psd1
- manifests\collectors\Migration\AzureMigrateProjects.psd1
- manifests\collectors\Security\DefenderPricing.psd1
- src\assess\rules\caf.govern.rc.yaml
- src\report\renderers\Export-Word.ps1
- src\README.md
- src\pipeline\Invoke-ScoutCollector.ps1
- manifests\collectors\Compute\VMOperationalData.psd1
- manifests\collectors\Hybrid\MarketplaceGalleryImages.psd1
- manifests\collectors\Migration\DatabaseMigrationServices.psd1
- manifests\collectors\Security\DefenderSecureScore.psd1
- src\assess\rules\caf.govern.rm.yaml
- src\report\templates\report-react.html.template
- src\Set-AZTIFolder.ps1
- src\pipeline\Invoke-ScoutDeclarativeCollector.ps1
- manifests\collectors\Compute\VMWare.psd1
- manifests\collectors\Hybrid\StorageContainers.psd1
- manifests\collectors\Migration\DataBox.psd1
- manifests\collectors\Security\EntraDomainServices.psd1
- src\assess\rules\caf.govern.sc.yaml
- src\report\templates\report.html.template
- src\Set-AZTIReportPath.ps1
- src\pipeline\Invoke-ScoutDrawIoJob.ps1
- manifests\collectors\Containers\AKS.psd1
- manifests\collectors\Hybrid\VirtualMachines.psd1
- manifests\collectors\Migration\StackEdge.psd1
- manifests\collectors\Security\KeyVaultKeys.psd1
- src\assess\rules\caf.governance.yaml
- src\report\renderers\inventory\Build-AZSCAdvisoryReport.ps1
- src\Start-AZSCWizard.ps1
- src\pipeline\Invoke-ScoutProcessing.ps1
- manifests\collectors\Containers\ARO.psd1
- manifests\collectors\Identity\AdminUnits.psd1
- manifests\collectors\Monitor\ActionGroups.psd1
- manifests\collectors\Security\KeyVaultSecrets.psd1
- src\assess\rules\caf.hybrid.yaml
- src\report\renderers\inventory\Build-AZSCCostManagementReport.ps1
- src\Start-AZTIExtractionOrchestration.ps1
- src\pipeline\Start-ScoutExtraJobs.ps1
- manifests\collectors\Containers\ContainerApp.psd1
- manifests\collectors\Identity\AppRegistrations.psd1
- manifests\collectors\Monitor\ActivityLogAlertRules.psd1
- manifests\collectors\Security\ManagedHSM.psd1
- src\assess\rules\caf.identity.yaml
- src\report\renderers\inventory\Build-AZSCMonitorReport.ps1
- src\Start-AZTIProcessOrchestration.ps1
- src\pipeline\Write-ScoutCacheFile.ps1
- manifests\collectors\Containers\ContainerAppEnv.psd1
- manifests\collectors\Identity\ConditionalAccess.psd1
- manifests\collectors\Monitor\AppInsights.psd1
- manifests\collectors\Security\Sentinel.psd1
- src\assess\rules\caf.integration.yaml
- src\report\renderers\inventory\Build-AZSCPolicyReport.ps1
- src\Start-AZTIReporOrchestration.ps1
- src\report\Build-ScoutFigure.ps1
- manifests\collectors\Containers\ContainerGroups.psd1
- manifests\collectors\Identity\CrossTenantAccess.psd1
- manifests\collectors\Monitor\AppInsightsAvailabilityTests.psd1
- manifests\collectors\Security\Vault.psd1
- src\assess\rules\caf.iot.yaml
- src\report\renderers\inventory\Build-AZSCQuotaReport.ps1
- src\Test-AZSCModuleUpdate.ps1
- src\report\Export-Report.ps1
- manifests\collectors\Containers\ContainerRegistries.psd1
- manifests\collectors\Identity\DirectoryRoles.psd1
- manifests\collectors\Monitor\AppInsightsProactiveDetection.psd1
- manifests\collectors\Security\WafPolicies.psd1
- src\assess\rules\caf.management.yaml
- src\report\renderers\inventory\Build-AZSCSecCenterReport.ps1
- src\Test-AZTIManagementGroupAccess.ps1
- src\report\Get-ScoutDrift.ps1
- manifests\collectors\Databases\CosmosDB.psd1
- manifests\collectors\Identity\Domains.psd1
- manifests\collectors\Monitor\AppInsightsWebTests.psd1
- manifests\collectors\Storage\BlobContainers.psd1
- src\assess\rules\caf.network.yaml
- src\report\renderers\inventory\Build-AZSCSecurityOverviewReport.ps1
- src\Test-AZTIPermissions.ps1
- src\report\Get-ScoutInventoryDrift.ps1
- manifests\collectors\Databases\MariaDB.psd1
- manifests\collectors\Identity\Groups.psd1
- manifests\collectors\Monitor\AutoscaleSettings.psd1
- manifests\collectors\Storage\DiskEncryptionSets.psd1
- src\assess\rules\caf.platformauto.yaml
- src\report\renderers\inventory\Build-AZSCSubsReport.ps1
- src\Test-AZTIPS.ps1
- src\report\Get-ScoutReportSectionIndex.ps1
- manifests\collectors\Databases\MySQL.psd1
- manifests\collectors\Identity\Licensing.psd1
- manifests\collectors\Monitor\DataCollectionEndpoints.psd1
- manifests\collectors\Storage\EdgeHardwareCenter.psd1
- src\assess\rules\caf.resourceorg.yaml
- src\report\renderers\inventory\Build-AZSCUpdateManagerReport.ps1
- src\Write-AZTIRunLog.ps1
- manifests\collectors\AI\AIFoundryHubs.psd1
- manifests\collectors\Databases\MySQLflexible.psd1
- manifests\collectors\Identity\ManagedIdentities.psd1
- manifests\collectors\Monitor\DataCollectionRules.psd1
- manifests\collectors\Storage\ElasticSan.psd1
- src\assess\rules\caf.security.yaml
- src\report\renderers\inventory\Export-AZSCAsciiDocReport.ps1
- src\Write-ScoutProgress.ps1
- manifests\collectors\AI\AIFoundryProjects.psd1
- manifests\collectors\Databases\POSTGREFlexible.psd1
- manifests\collectors\Identity\ManagedIds.psd1
- manifests\collectors\Monitor\LAWorkspaceLinkedServices.psd1
- manifests\collectors\Storage\FileShares.psd1
- src\assess\rules\caf.storage.yaml
- src\report\renderers\inventory\Export-AZSCJsonReport.ps1
- manifests\specs\service-collectors.psd1
- manifests\collectors\AI\AppliedAIServices.psd1
- manifests\collectors\Databases\RedisCache.psd1
- manifests\collectors\Identity\NamedLocations.psd1
- manifests\collectors\Monitor\LAWorkspaceSavedSearches.psd1
- manifests\collectors\Storage\LifecyclePolicies.psd1
- src\assess\rules\caf.web.yaml
- src\report\renderers\inventory\Export-AZSCMarkdownReport.ps1
- src\analyze\Get-ScoutCostAnomaly.ps1
- manifests\collectors\AI\AzureAI.psd1
- manifests\collectors\Databases\SQLDB.psd1
- manifests\collectors\Identity\PIMAssignments.psd1
- manifests\collectors\Monitor\LAWorkspaceSolutions.psd1
- manifests\collectors\Storage\NetApp.psd1
- src\assess\rules\casa.security.yaml
- src\report\renderers\inventory\Export-AZSCPowerBIReport.ps1
- src\analyze\Get-ScoutIacGap.ps1
- manifests\collectors\AI\BotServices.psd1
- manifests\collectors\Databases\SQLMI.psd1
- manifests\collectors\Identity\RiskyUsers.psd1
- manifests\collectors\Monitor\MetricAlertRules.psd1
- manifests\collectors\Storage\PartnerStorage.psd1
- src\assess\rules\compliance.initiative.yaml
- src\report\renderers\inventory\New-AZSCPowerBITemplate.ps1
- src\assess\Compare-Benchmark.ps1
- manifests\collectors\AI\ComputerVision.psd1
- manifests\collectors\Databases\SQLMIDB.psd1
- manifests\collectors\Identity\RoleAssignments.psd1
- manifests\collectors\Monitor\MonitorMetricsIngestion.psd1
- manifests\collectors\Storage\Snapshots.psd1
- src\assess\rules\devops.capability.yaml
- src\report\renderers\inventory\Start-AZSCExcelExtraData.ps1
- src\assess\Export-ScoutConfig.ps1
- manifests\collectors\AI\ContentModerator.psd1
- manifests\collectors\Databases\SQLPOOL.psd1
- manifests\collectors\Identity\SecurityPolicies.psd1
- manifests\collectors\Monitor\MonitorPrivateLinkScopes.psd1
- manifests\collectors\Storage\StorageAccounts.psd1
- src\assess\rules\finops.review.yaml
- src\report\renderers\inventory\Start-AZSCExcelJob.ps1
- src\assess\Get-ScoutAvailableAssessment.ps1
- manifests\collectors\AI\ContentSafety.psd1
- manifests\collectors\Databases\SQLSERVER.psd1
- manifests\collectors\Identity\ServicePrincipals.psd1
- manifests\collectors\Monitor\MonitorWorkbooks.psd1
- manifests\collectors\Storage\StorageSync.psd1
- src\assess\rules\smart.migration.yaml
- src\report\renderers\inventory\Start-AZSCExtraReports.ps1
- src\assess\Import-ScoutConfig.ps1
- manifests\collectors\AI\CustomVision.psd1
- manifests\collectors\Databases\SQLVM.psd1
- manifests\collectors\Identity\Users.psd1
- manifests\collectors\Monitor\Outages.psd1
- manifests\collectors\Web\AppServiceCertificates.psd1
- src\assess\rules\waf.ai.yaml
- src\report\renderers\inventory\style\Build-AZSCDashboardTabs.ps1
- src\assess\Invoke-Assessment.ps1
- manifests\collectors\AI\FaceAPI.psd1
- manifests\collectors\DevOps\ApiConnections.psd1
- manifests\collectors\Integration\APIM.psd1
- manifests\collectors\Monitor\ResourceDiagnosticSettings.psd1
- manifests\collectors\Web\AppServiceDomains.psd1
- src\assess\rules\waf.avd.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelChart.ps1
- src\assess\Invoke-ScoutComplianceAssessment.ps1
- manifests\collectors\AI\FormRecognizer.psd1
- manifests\collectors\DevOps\AppConfiguration.psd1
- manifests\collectors\Integration\EventGrid.psd1
- manifests\collectors\Monitor\ScheduledQueryRules.psd1
- manifests\collectors\Web\AppServiceEnvironments.psd1
- src\assess\rules\waf.azurelocal.cost.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelChartStyle.ps1
- src\assess\Resolve-ScoutAssessmentName.ps1
- manifests\collectors\AI\HealthInsights.psd1
- manifests\collectors\DevOps\ChaosStudio.psd1
- manifests\collectors\Integration\EventHubClusters.psd1
- manifests\collectors\Monitor\SmartDetectorAlertRules.psd1
- manifests\collectors\Web\APPServicePlan.psd1
- src\assess\rules\waf.azurelocal.operational.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelInitialBlock.ps1
- src\assess\Test-ScoutPermission.ps1
- manifests\collectors\AI\ImmersiveReader.psd1
- manifests\collectors\DevOps\DeploymentEnvironments.psd1
- manifests\collectors\Integration\HealthDataServices.psd1
- manifests\collectors\Monitor\SubscriptionDiagnosticSettings.psd1
- manifests\collectors\Web\APPServices.psd1
- src\assess\rules\waf.azurelocal.performance.yaml
- src\report\renderers\inventory\style\Out-AZSCReportResults.ps1
- src\collect\ConvertFrom-ScoutInventory.ps1
- manifests\collectors\AI\MachineLearning.psd1
- manifests\collectors\DevOps\DevBoxPools.psd1
- manifests\collectors\Integration\IntegrationAccounts.psd1
- manifests\collectors\Monitor\Workspaces.psd1
- manifests\collectors\Web\CommunicationServices.psd1
- src\assess\rules\waf.azurelocal.reliability.yaml
- src\report\renderers\inventory\style\Retirement.kql
- src\collect\ConvertTo-ScoutArcSiteResource.ps1
- manifests\collectors\AI\MLComputes.psd1
- manifests\collectors\DevOps\DevCenterNetworkConnections.psd1
- manifests\collectors\Integration\LogicApps.psd1
- manifests\collectors\Networking\ApplicationGateways.psd1
- manifests\collectors\Web\DeploymentSlots.psd1
- src\assess\rules\waf.azurelocal.security.yaml
- src\report\renderers\inventory\style\Start-AZSCExcelCustomization.ps1
- src\collect\ConvertTo-ScoutAvdAzureLocalSessionHost.ps1
- manifests\collectors\AI\MLDatasets.psd1
- manifests\collectors\DevOps\DevCenters.psd1
- manifests\collectors\Integration\LogicAppsCustomConnectors.psd1
- manifests\collectors\Networking\AzureFirewall.psd1
- manifests\collectors\Web\FluidRelay.psd1
- src\assess\rules\waf.cost.yaml
- src\report\renderers\inventory\style\Start-AZSCExcelOrdening.ps1
- src\collect\ConvertTo-ScoutGovernanceResource.ps1
- manifests\collectors\AI\MLDatastores.psd1
- manifests\collectors\DevOps\DevOpsAgentPools.psd1
- manifests\collectors\Integration\Relays.psd1
- manifests\collectors\Networking\BastionHosts.psd1
- manifests\collectors\Web\FunctionApps.psd1
- src\assess\rules\waf.operational.yaml
- src\report\renderers\inventory\style\Support.json
- src\collect\ConvertTo-ScoutManagementGroupHierarchy.ps1
- manifests\collectors\AI\MLEndpoints.psd1
- manifests\collectors\DevOps\DevOpsPipelines.psd1
- manifests\collectors\Integration\ServiceBUS.psd1
- manifests\collectors\Networking\Connections.psd1
- manifests\collectors\Web\NotificationHubs.psd1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 3.3.1 | 4 | 8/3/2026 |
| 3.3.0 (current version) | 4 | 8/3/2026 |
| 3.1.0 | 8 | 7/31/2026 |
| 3.0.9 | 7 | 7/31/2026 |
| 3.0.8 | 4 | 7/30/2026 |
| 3.0.7 | 3 | 7/30/2026 |
| 3.0.6 | 7 | 7/30/2026 |
| 3.0.5 | 7 | 7/29/2026 |
| 3.0.4 | 4 | 7/29/2026 |
| 3.0.3 | 3 | 7/29/2026 |
| 3.0.2 | 5 | 7/29/2026 |
| 3.0.1 | 4 | 7/29/2026 |
| 3.0.0 | 7 | 7/28/2026 |
| 2.11.0 | 9 | 7/26/2026 |
| 2.10.0 | 5 | 7/26/2026 |
| 2.9.0 | 6 | 7/26/2026 |
| 2.8.0 | 5 | 7/26/2026 |
| 2.7.0 | 5 | 7/26/2026 |
| 2.6.0 | 5 | 7/26/2026 |
| 2.5.3 | 4 | 7/25/2026 |
| 2.5.2 | 6 | 7/25/2026 |
| 2.5.1 | 4 | 7/25/2026 |
| 2.5.0 | 5 | 7/25/2026 |
| 2.4.0 | 4 | 7/25/2026 |
| 2.3.0 | 6 | 7/25/2026 |
| 2.2.0 | 4 | 7/24/2026 |
| 2.1.0 | 5 | 7/24/2026 |
| 2.0.1 | 6 | 7/23/2026 |
| 2.0.0 | 4 | 7/23/2026 |
| 1.0.0 | 48 | 2/25/2026 |