AzureScout
3.7.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.7.0 - The network picture, completed. The assessment collect gains the networking relationship data the diagrams were starving for: vnetPeerings (remote VNet named, peering state, gateway-transit flags), vpnConnections (sharedKeyPresent as a bool only - the pre-shared key value is never collected), localNetworkGateways, virtualHubs, and richer expressRouteCircuits, routeTables (a forced-tunnel 0.0.0.0/0 route is detectable from a scalar), loadBalancers, applicationGateways (wafEnabled), frontDoors, trafficManagerProfiles, natGateways and bastionHosts - both collect paths produce identical shapes, gated by two new plumbing test suites. The VNet connectivity diagram draws real peering-pair edges; the hybrid diagram gains per-connection detail, an ExpressRoute lane and Virtual WAN hubs; two new diagrams land: Edge & delivery and Routing & forced tunnelling. The wizard's 46-entry assessment menu is grouped under CAF / WAF / Specialized reviews / Service category deep-dives without renaming a single registry key. v3.6.1 - Four field defects from one live session, every one reported by the owner running the shipped module. (1) The Graph token now targets the tenant being audited instead of az CLI's ambient default: on a multi-tenant identity the Entra ID P2 licence check read a different tenant's subscribedSkus and reported a licensed tenant as NOT LICENSED; -TenantID is threaded through the token helper (per-tenant token cache), the Graph request wrapper, and every Graph call in the permission audit. (2) A combined Inventory+Assessment run writes ONE output folder: the deferred assessment's OutputPath was captured before the timestamped run folder existed, so the React report - the only renderer that path produces - landed in a sibling folder the operator was never told about. (3) The permission audit now decodes its own token's scp claim: scopes Azure CLI can never acquire (Policy.Read.AuthenticationMethod, VerifiedId-Profile.Read.All) are reported as UNAVAILABLE WITH CLI SIGN-IN with service-principal remediation instead of DENIED advice that fails a Global Administrator identically - proven live by decoding a real az token and reproducing the 403. (4) The four approved network diagrams - VNet hub-and-spoke with no-peering warnings, hybrid site-to-site with a single-instance gateway warning, private link and DNS, internet exposure - are ported from the approved mockup into the shipping React report's diagram kernel with sidebar, tiles, panes and overlap-gate coverage; the port caught a wrong node CSS class that hid the diagrams from the collision gate and a gate shape mismatch that made it inspect nothing. v3.6.0 - The collector-payload wiring audit, closed out. Nearly 100 collector manifests existed, were fully tested, and produced Excel-only rows - but never reached the assessment collect (collect.json) the React report actually renders from. This release closes that gap: 95 collectors wired across Networking, Hybrid, Monitor, Defender, Databases, DevOps, Management, Security, Storage, and Update Manager categories (coverage moves from 77 to 172 of 245 tracked manifests), plus 3 genuinely new collectors authored from scratch for services that had none - Microsoft Entra Verified ID and Microsoft Entra External ID (the governance/landing-zone-relevant one), both Graph-backed rather than ARM/ARG. Along the way, a real defect in the test suite's own infrastructure was found and fixed: a shared mock-cleanup idiom silently no-opped, letting mock state leak across test files - corrected everywhere it appeared, restoring a genuinely clean full test run. See CHANGELOG.md for the full history.
FileList
- AzureScout.nuspec
- src\collect\Get-ScoutArmChildResource.ps1
- manifests\collectors\AI\MLModels.psd1
- AzureScout.psd1
- src\collect\Get-ScoutCostInventory.ps1
- manifests\collectors\AI\MLPipelines.psd1
- AzureScout.psm1
- src\collect\Get-ScoutDefenderPlanSweep.ps1
- manifests\collectors\AI\OpenAIAccounts.psd1
- CHANGELOG.md
- src\collect\Get-ScoutEntraQueryCatalog.ps1
- manifests\collectors\AI\OpenAIDeployments.psd1
- LICENSE
- src\collect\Get-ScoutExternalIdentitiesPolicy.ps1
- manifests\collectors\AI\SearchIndexes.psd1
- README.md
- src\collect\Get-ScoutGovernanceDataset.ps1
- manifests\collectors\AI\SearchServices.psd1
- config\scout.config.json
- src\collect\Get-ScoutManagementGroups.ps1
- manifests\collectors\AI\SpeechService.psd1
- manifests\assessments.psd1
- src\collect\Get-ScoutOperationalCollectorEnrichment.ps1
- manifests\collectors\AI\TextAnalytics.psd1
- manifests\azure-provider-types.json
- src\collect\Get-ScoutOutageResource.ps1
- manifests\collectors\AI\Translator.psd1
- src\Clear-AZTICacheFolder.ps1
- src\collect\Get-ScoutRawInventory.ps1
- manifests\collectors\Analytics\Databricks.psd1
- src\Clear-AZTIMemory.ps1
- src\collect\Get-ScoutSubscriptions.ps1
- manifests\collectors\Analytics\DataExplorerCluster.psd1
- src\Connect-AZTILoginSession.ps1
- src\collect\Get-ScoutSubscriptionSecurityPolicySweep.ps1
- manifests\collectors\Analytics\EvtHub.psd1
- src\Export-ScoutRawInventoryDump.ps1
- src\collect\Get-ScoutTenantWideResource.ps1
- manifests\collectors\Analytics\Purview.psd1
- src\Get-AZSCIdSegment.ps1
- src\collect\Get-ScoutVmQuotas.ps1
- manifests\collectors\Analytics\Streamanalytics.psd1
- src\Get-AZSCSafeProperty.ps1
- src\collect\Get-ScoutVmSkuDetails.ps1
- manifests\collectors\Analytics\Synapse.psd1
- src\Get-AZTICollectedValue.ps1
- src\collect\Invoke-Collect.ps1
- manifests\collectors\Compute\AvailabilitySets.psd1
- src\Get-AZTIGraphToken.ps1
- src\collect\Resolve-ScoutOrphanedRoleAssignment.ps1
- manifests\collectors\Compute\AVD.psd1
- src\Get-AZTIUnsupportedData.ps1
- src\collect\Start-ScoutDevOpsExtraction.ps1
- manifests\collectors\Compute\AVDApplicationGroups.psd1
- src\Get-ScoutGraphPermissionImpact.ps1
- src\collect\Start-ScoutEntraExtraction.ps1
- manifests\collectors\Compute\AVDApplications.psd1
- src\Get-ScoutNewErrorCount.ps1
- src\collect\Start-ScoutGraphExtraction.ps1
- manifests\collectors\Compute\AVDAzureLocal.psd1
- src\Invoke-AZTIGraphRequest.ps1
- src\ingest\Import-AdvisorScores.ps1
- manifests\collectors\Compute\AVDScalingPlans.psd1
- src\Invoke-AZTIPermissionAudit.ps1
- src\ingest\Import-AzGovViz.ps1
- manifests\collectors\Compute\AVDSessionHosts.psd1
- src\Invoke-AZTISubscriptionContext.ps1
- src\ingest\Import-Governance.ps1
- manifests\collectors\Compute\AVDWorkspaces.psd1
- src\Invoke-AzureScout.ps1
- src\ingest\Import-ScoutCostInventory.ps1
- manifests\collectors\Compute\VirtualMachine.psd1
- src\Invoke-ScoutAssessmentCore.ps1
- src\ingest\Import-ScoutDevOpsCapability.ps1
- manifests\collectors\Compute\VirtualMachineScaleSet.psd1
- manifests\collectors\DevOps\DevOpsRepositories.psd1
- src\Invoke-ScoutPipeline.ps1
- src\pipeline\Get-ScoutCollector.ps1
- manifests\collectors\Compute\VMDisk.psd1
- manifests\collectors\DevOps\DevOpsServiceConnections.psd1
- src\README.md
- src\pipeline\Get-ScoutCollectorDefinition.ps1
- manifests\collectors\Compute\VMOperationalData.psd1
- manifests\collectors\DevOps\DevTestLabs.psd1
- src\Set-AZTIFolder.ps1
- src\pipeline\Invoke-ScoutCollector.ps1
- manifests\collectors\Compute\VMWare.psd1
- manifests\collectors\DevOps\LabServices.psd1
- src\Set-AZTIReportPath.ps1
- src\pipeline\Invoke-ScoutDeclarativeCollector.ps1
- manifests\collectors\Containers\AKS.psd1
- manifests\collectors\DevOps\LoadTesting.psd1
- src\Start-AZSCWizard.ps1
- src\pipeline\Invoke-ScoutDrawIoJob.ps1
- manifests\collectors\Containers\ARO.psd1
- manifests\collectors\DevOps\ManagedDevOpsPools.psd1
- src\Start-AZTIExtractionOrchestration.ps1
- src\pipeline\Invoke-ScoutProcessing.ps1
- manifests\collectors\Containers\ContainerApp.psd1
- manifests\collectors\DevOps\PlaywrightTesting.psd1
- src\Start-AZTIProcessOrchestration.ps1
- src\pipeline\Start-ScoutExtraJobs.ps1
- manifests\collectors\Containers\ContainerAppEnv.psd1
- manifests\collectors\General\Quotas.psd1
- src\Start-AZTIReporOrchestration.ps1
- src\pipeline\Write-ScoutCacheFile.ps1
- manifests\collectors\Containers\ContainerGroups.psd1
- manifests\collectors\General\ReservationRecom.psd1
- src\Test-AZSCModuleUpdate.ps1
- src\report\Build-ScoutFigure.ps1
- manifests\collectors\Containers\ContainerRegistries.psd1
- manifests\collectors\General\Reservations.psd1
- src\Test-AZTIManagementGroupAccess.ps1
- src\report\Export-Report.ps1
- manifests\collectors\Databases\CosmosDB.psd1
- manifests\collectors\General\ReservationUtilization.psd1
- src\Test-AZTIPermissions.ps1
- src\report\Get-ScoutDrift.ps1
- manifests\collectors\Databases\MariaDB.psd1
- manifests\collectors\General\SupportTickets.psd1
- src\Test-AZTIPS.ps1
- src\report\Get-ScoutInventoryDrift.ps1
- manifests\collectors\Databases\MySQL.psd1
- manifests\collectors\Hybrid\ArcDataControllers.psd1
- src\Write-AZTIRunLog.ps1
- src\report\Get-ScoutReportSectionIndex.ps1
- manifests\collectors\Databases\MySQLflexible.psd1
- manifests\collectors\Hybrid\ArcExtensions.psd1
- src\Write-ScoutProgress.ps1
- manifests\collectors\AI\AIFoundryHubs.psd1
- manifests\collectors\Databases\POSTGREFlexible.psd1
- manifests\collectors\Hybrid\ArcGateways.psd1
- manifests\specs\service-collectors.psd1
- manifests\collectors\AI\AIFoundryProjects.psd1
- manifests\collectors\Databases\RedisCache.psd1
- manifests\collectors\Hybrid\ArcKubernetes.psd1
- src\analyze\Get-ScoutCostAnomaly.ps1
- manifests\collectors\AI\AppliedAIServices.psd1
- manifests\collectors\Databases\SQLDB.psd1
- manifests\collectors\Hybrid\ArcResourceBridge.psd1
- src\analyze\Get-ScoutIacGap.ps1
- manifests\collectors\AI\AzureAI.psd1
- manifests\collectors\Databases\SQLMI.psd1
- manifests\collectors\Hybrid\ArcServerOperationalData.psd1
- src\assess\Compare-Benchmark.ps1
- manifests\collectors\AI\BotServices.psd1
- manifests\collectors\Databases\SQLMIDB.psd1
- manifests\collectors\Hybrid\ARCServers.psd1
- src\assess\Export-ScoutConfig.ps1
- manifests\collectors\AI\ComputerVision.psd1
- manifests\collectors\Databases\SQLPOOL.psd1
- manifests\collectors\Hybrid\ArcSites.psd1
- src\assess\Get-ScoutAvailableAssessment.ps1
- manifests\collectors\AI\ContentModerator.psd1
- manifests\collectors\Databases\SQLSERVER.psd1
- manifests\collectors\Hybrid\ArcSQLManagedInstances.psd1
- src\assess\Import-ScoutConfig.ps1
- manifests\collectors\AI\ContentSafety.psd1
- manifests\collectors\Databases\SQLVM.psd1
- manifests\collectors\Hybrid\ArcSQLServers.psd1
- src\assess\Invoke-Assessment.ps1
- manifests\collectors\AI\CustomVision.psd1
- manifests\collectors\DevOps\ApiConnections.psd1
- manifests\collectors\Hybrid\Clusters.psd1
- src\assess\Invoke-ScoutComplianceAssessment.ps1
- manifests\collectors\AI\FaceAPI.psd1
- manifests\collectors\DevOps\AppConfiguration.psd1
- manifests\collectors\Hybrid\GalleryImages.psd1
- src\assess\Resolve-ScoutAssessmentName.ps1
- manifests\collectors\AI\FormRecognizer.psd1
- manifests\collectors\DevOps\ChaosStudio.psd1
- manifests\collectors\Hybrid\LogicalNetworks.psd1
- src\assess\Test-ScoutPermission.ps1
- manifests\collectors\AI\HealthInsights.psd1
- manifests\collectors\DevOps\DeploymentEnvironments.psd1
- manifests\collectors\Hybrid\MarketplaceGalleryImages.psd1
- src\collect\ConvertFrom-ScoutInventory.ps1
- manifests\collectors\AI\ImmersiveReader.psd1
- manifests\collectors\DevOps\DevBoxPools.psd1
- manifests\collectors\Hybrid\StorageContainers.psd1
- src\collect\ConvertTo-ScoutArcSiteResource.ps1
- manifests\collectors\AI\MachineLearning.psd1
- manifests\collectors\DevOps\DevCenterNetworkConnections.psd1
- manifests\collectors\Hybrid\VirtualMachines.psd1
- src\collect\ConvertTo-ScoutAvdAzureLocalSessionHost.ps1
- manifests\collectors\AI\MLComputes.psd1
- manifests\collectors\DevOps\DevCenters.psd1
- manifests\collectors\Identity\AdminUnits.psd1
- src\collect\ConvertTo-ScoutGovernanceResource.ps1
- manifests\collectors\AI\MLDatasets.psd1
- manifests\collectors\DevOps\DevOpsAgentPools.psd1
- manifests\collectors\Identity\AppRegistrations.psd1
- src\collect\ConvertTo-ScoutManagementGroupHierarchy.ps1
- manifests\collectors\AI\MLDatastores.psd1
- manifests\collectors\DevOps\DevOpsPipelines.psd1
- manifests\collectors\Identity\ConditionalAccess.psd1
- src\collect\Get-ScoutApiResources.ps1
- manifests\collectors\AI\MLEndpoints.psd1
- manifests\collectors\DevOps\DevOpsProjects.psd1
- manifests\collectors\Identity\CrossTenantAccess.psd1
- manifests\collectors\Identity\DirectoryRoles.psd1
- manifests\collectors\Identity\Domains.psd1
- manifests\collectors\Identity\ExternalIdentities.psd1
- manifests\collectors\Identity\Groups.psd1
- manifests\collectors\Identity\Licensing.psd1
- manifests\collectors\Identity\ManagedIdentities.psd1
- manifests\collectors\Identity\ManagedIds.psd1
- manifests\collectors\Identity\NamedLocations.psd1
- manifests\collectors\Identity\PIMAssignments.psd1
- manifests\collectors\Identity\RiskyUsers.psd1
- manifests\collectors\Identity\RoleAssignments.psd1
- manifests\collectors\Identity\SecurityPolicies.psd1
- manifests\collectors\Identity\ServicePrincipals.psd1
- manifests\collectors\Identity\Users.psd1
- manifests\collectors\Identity\VerifiedIDConfiguration.psd1
- manifests\collectors\Identity\VerifiedIDProfiles.psd1
- manifests\collectors\Integration\APIM.psd1
- manifests\collectors\Integration\EventGrid.psd1
- manifests\collectors\Integration\EventHubClusters.psd1
- manifests\collectors\Integration\HealthDataServices.psd1
- manifests\collectors\Integration\IntegrationAccounts.psd1
- manifests\collectors\Integration\LogicApps.psd1
- manifests\collectors\Integration\LogicAppsCustomConnectors.psd1
- manifests\collectors\Web\FunctionApps.psd1
- src\assess\rules\waf.operational.yaml
- manifests\collectors\Integration\Relays.psd1
- manifests\collectors\Networking\BastionHosts.psd1
- manifests\collectors\Web\NotificationHubs.psd1
- src\assess\rules\waf.performance.yaml
- manifests\collectors\Integration\ServiceBUS.psd1
- manifests\collectors\Networking\Connections.psd1
- manifests\collectors\Web\SignalR.psd1
- src\assess\rules\waf.reliability.yaml
- manifests\collectors\IoT\DefenderForIoT.psd1
- manifests\collectors\Networking\ExpressRoute.psd1
- manifests\collectors\Web\SpringApps.psd1
- src\assess\rules\waf.security.yaml
- manifests\collectors\IoT\DeviceProvisioningServices.psd1
- manifests\collectors\Networking\Frontdoor.psd1
- manifests\collectors\Web\StaticWebApps.psd1
- src\assess\rules\xr.crossresource.yaml
- manifests\collectors\IoT\DeviceUpdate.psd1
- manifests\collectors\Networking\LoadBalancer.psd1
- manifests\collectors\Web\WebPubSub.psd1
- src\pipeline\diagram\Build-ScoutDiagramSubnet.ps1
- manifests\collectors\IoT\DigitalTwins.psd1
- manifests\collectors\Networking\NATGateway.psd1
- src\assess\benchmarks\alz-reference.json
- src\pipeline\diagram\Set-ScoutDiagramFile.ps1
- manifests\collectors\IoT\IoTCentral.psd1
- manifests\collectors\Networking\NetworkInterface.psd1
- src\assess\engine\Get-GovernanceDomainScore.ps1
- src\pipeline\diagram\Start-ScoutDiagramJob.ps1
- manifests\collectors\IoT\IOTHubs.psd1
- manifests\collectors\Networking\NetworkSecurityGroup.psd1
- src\assess\engine\Get-MaturityLevel.ps1
- src\pipeline\diagram\Start-ScoutDiagramNetwork.ps1
- manifests\collectors\IoT\Maps.psd1
- manifests\collectors\Networking\NetworkWatchers.psd1
- src\assess\engine\Get-RuleSet.ps1
- src\pipeline\diagram\Start-ScoutDiagramOrganization.ps1
- manifests\collectors\Management\AdvisorScore.psd1
- manifests\collectors\Networking\PrivateDNS.psd1
- src\assess\engine\Get-Score.ps1
- src\pipeline\diagram\Start-ScoutDiagramSubscription.ps1
- manifests\collectors\Management\AllSubscriptions.psd1
- manifests\collectors\Networking\PrivateEndpoint.psd1
- src\assess\engine\Get-ScoutComplianceScore.ps1
- src\pipeline\diagram\Start-ScoutDrawIoDiagram.ps1
- manifests\collectors\Management\AutomationAccounts.psd1
- manifests\collectors\Networking\PublicDNS.psd1
- src\assess\engine\Invoke-Rule.ps1
- src\pipeline\jobs\Start-ScoutAdvisoryJob.ps1
- manifests\collectors\Management\Backup.psd1
- manifests\collectors\Networking\PublicIP.psd1
- src\assess\engine\Resolve-JsonPath.ps1
- src\pipeline\jobs\Start-ScoutPolicyJob.ps1
- manifests\collectors\Management\BackupInstances.psd1
- manifests\collectors\Networking\RouteTables.psd1
- src\assess\engine\Resolve-RuleJoin.ps1
- src\pipeline\jobs\Start-ScoutSecCenterJob.ps1
- manifests\collectors\Management\Budgets.psd1
- manifests\collectors\Networking\TrafficManager.psd1
- src\assess\engine\Resolve-ScoutAssignedInitiative.ps1
- src\pipeline\jobs\Start-ScoutSubscriptionJob.ps1
- manifests\collectors\Management\CustomRoleDefinitions.psd1
- manifests\collectors\Networking\VirtualNetwork.psd1
- src\assess\rules\avs.workload.yaml
- src\report\renderers\Export-EChartsDashboard.ps1
- manifests\collectors\Management\LighthouseDelegations.psd1
- manifests\collectors\Networking\VirtualNetworkGateways.psd1
- src\assess\rules\caf.ai.yaml
- src\report\renderers\Export-Excel.ps1
- manifests\collectors\Management\MaintenanceConfigurations.psd1
- manifests\collectors\Networking\VirtualWAN.psd1
- src\assess\rules\caf.analytics.yaml
- src\report\renderers\Export-GovernanceReport.ps1
- manifests\collectors\Management\ManagementGroups.psd1
- manifests\collectors\Networking\vNETPeering.psd1
- src\assess\rules\caf.avslandingzone.yaml
- src\report\renderers\Export-Html.ps1
- manifests\collectors\Management\PolicyAssignments.psd1
- manifests\collectors\Security\AppComplianceAutomation.psd1
- src\assess\rules\caf.billing.yaml
- src\report\renderers\Export-JsonEvidence.ps1
- manifests\collectors\Management\PolicyComplianceStates.psd1
- manifests\collectors\Security\ApplicationSecurityGroups.psd1
- src\assess\rules\caf.containers.yaml
- src\report\renderers\Export-Pdf.ps1
- manifests\collectors\Management\PolicyDefinitions.psd1
- manifests\collectors\Security\ArtifactSigning.psd1
- src\assess\rules\caf.databases.yaml
- src\report\renderers\Export-PowerBi.ps1
- manifests\collectors\Management\PolicySetDefinitions.psd1
- manifests\collectors\Security\CloudHSM.psd1
- src\assess\rules\caf.govern.ai.yaml
- src\report\renderers\Export-PowerBiProject.ps1
- manifests\collectors\Management\RecoveryVault.psd1
- manifests\collectors\Security\ConfidentialLedger.psd1
- src\assess\rules\caf.govern.cm.yaml
- src\report\renderers\Export-Pptx.ps1
- manifests\collectors\Management\ResourceLocks.psd1
- manifests\collectors\Security\DdosProtectionPlans.psd1
- src\assess\rules\caf.govern.dg.yaml
- src\report\renderers\Export-React.ps1
- manifests\collectors\Migration\AzureMigrateAssessments.psd1
- manifests\collectors\Security\DefenderAlerts.psd1
- src\assess\rules\caf.govern.op.yaml
- src\report\renderers\Export-Word.ps1
- manifests\collectors\Migration\AzureMigrateDiscoverySites.psd1
- manifests\collectors\Security\DefenderAssessments.psd1
- src\assess\rules\caf.govern.rc.yaml
- src\report\templates\report-react.html.template
- manifests\collectors\Migration\AzureMigrateProjects.psd1
- manifests\collectors\Security\DefenderPricing.psd1
- src\assess\rules\caf.govern.rm.yaml
- src\report\templates\report.html.template
- manifests\collectors\Migration\DatabaseMigrationServices.psd1
- manifests\collectors\Security\DefenderSecureScore.psd1
- src\assess\rules\caf.govern.sc.yaml
- src\report\renderers\inventory\Build-AZSCAdvisoryReport.ps1
- manifests\collectors\Migration\DataBox.psd1
- manifests\collectors\Security\EntraDomainServices.psd1
- src\assess\rules\caf.governance.yaml
- src\report\renderers\inventory\Build-AZSCCostManagementReport.ps1
- manifests\collectors\Migration\StackEdge.psd1
- manifests\collectors\Security\KeyVaultKeys.psd1
- src\assess\rules\caf.hybrid.yaml
- src\report\renderers\inventory\Build-AZSCMonitorReport.ps1
- manifests\collectors\Monitor\ActionGroups.psd1
- manifests\collectors\Security\KeyVaultSecrets.psd1
- src\assess\rules\caf.identity.yaml
- src\report\renderers\inventory\Build-AZSCPolicyReport.ps1
- manifests\collectors\Monitor\ActivityLogAlertRules.psd1
- manifests\collectors\Security\ManagedHSM.psd1
- src\assess\rules\caf.integration.yaml
- src\report\renderers\inventory\Build-AZSCQuotaReport.ps1
- manifests\collectors\Monitor\AppInsights.psd1
- manifests\collectors\Security\Sentinel.psd1
- src\assess\rules\caf.iot.yaml
- src\report\renderers\inventory\Build-AZSCSecCenterReport.ps1
- manifests\collectors\Monitor\AppInsightsAvailabilityTests.psd1
- manifests\collectors\Security\Vault.psd1
- src\assess\rules\caf.management.yaml
- src\report\renderers\inventory\Build-AZSCSecurityOverviewReport.ps1
- manifests\collectors\Monitor\AppInsightsProactiveDetection.psd1
- manifests\collectors\Security\WafPolicies.psd1
- src\assess\rules\caf.network.yaml
- src\report\renderers\inventory\Build-AZSCSubsReport.ps1
- manifests\collectors\Monitor\AppInsightsWebTests.psd1
- manifests\collectors\Storage\BlobContainers.psd1
- src\assess\rules\caf.platformauto.yaml
- src\report\renderers\inventory\Build-AZSCUpdateManagerReport.ps1
- manifests\collectors\Monitor\AutoscaleSettings.psd1
- manifests\collectors\Storage\DiskEncryptionSets.psd1
- src\assess\rules\caf.resourceorg.yaml
- src\report\renderers\inventory\Export-AZSCAsciiDocReport.ps1
- manifests\collectors\Monitor\DataCollectionEndpoints.psd1
- manifests\collectors\Storage\EdgeHardwareCenter.psd1
- src\assess\rules\caf.security.yaml
- src\report\renderers\inventory\Export-AZSCJsonReport.ps1
- manifests\collectors\Monitor\DataCollectionRules.psd1
- manifests\collectors\Storage\ElasticSan.psd1
- src\assess\rules\caf.storage.yaml
- src\report\renderers\inventory\Export-AZSCMarkdownReport.ps1
- manifests\collectors\Monitor\LAWorkspaceLinkedServices.psd1
- manifests\collectors\Storage\FileShares.psd1
- src\assess\rules\caf.web.yaml
- src\report\renderers\inventory\Export-AZSCPowerBIReport.ps1
- manifests\collectors\Monitor\LAWorkspaceSavedSearches.psd1
- manifests\collectors\Storage\LifecyclePolicies.psd1
- src\assess\rules\casa.security.yaml
- src\report\renderers\inventory\New-AZSCPowerBITemplate.ps1
- manifests\collectors\Monitor\LAWorkspaceSolutions.psd1
- manifests\collectors\Storage\NetApp.psd1
- src\assess\rules\compliance.initiative.yaml
- src\report\renderers\inventory\Start-AZSCExcelExtraData.ps1
- manifests\collectors\Monitor\MetricAlertRules.psd1
- manifests\collectors\Storage\PartnerStorage.psd1
- src\assess\rules\devops.capability.yaml
- src\report\renderers\inventory\Start-AZSCExcelJob.ps1
- manifests\collectors\Monitor\MonitorMetricsIngestion.psd1
- manifests\collectors\Storage\Snapshots.psd1
- src\assess\rules\finops.review.yaml
- src\report\renderers\inventory\Start-AZSCExtraReports.ps1
- manifests\collectors\Monitor\MonitorPrivateLinkScopes.psd1
- manifests\collectors\Storage\StorageAccounts.psd1
- src\assess\rules\smart.migration.yaml
- src\report\renderers\inventory\style\Build-AZSCDashboardTabs.ps1
- manifests\collectors\Monitor\MonitorWorkbooks.psd1
- manifests\collectors\Storage\StorageSync.psd1
- src\assess\rules\waf.ai.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelChart.ps1
- manifests\collectors\Monitor\Outages.psd1
- manifests\collectors\Web\AppServiceCertificates.psd1
- src\assess\rules\waf.avd.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelChartStyle.ps1
- manifests\collectors\Monitor\ResourceDiagnosticSettings.psd1
- manifests\collectors\Web\AppServiceDomains.psd1
- src\assess\rules\waf.azurelocal.cost.yaml
- src\report\renderers\inventory\style\Build-AZSCExcelInitialBlock.ps1
- manifests\collectors\Monitor\ScheduledQueryRules.psd1
- manifests\collectors\Web\AppServiceEnvironments.psd1
- src\assess\rules\waf.azurelocal.operational.yaml
- src\report\renderers\inventory\style\Out-AZSCReportResults.ps1
- manifests\collectors\Monitor\SmartDetectorAlertRules.psd1
- manifests\collectors\Web\APPServicePlan.psd1
- src\assess\rules\waf.azurelocal.performance.yaml
- src\report\renderers\inventory\style\Retirement.kql
- manifests\collectors\Monitor\SubscriptionDiagnosticSettings.psd1
- manifests\collectors\Web\APPServices.psd1
- src\assess\rules\waf.azurelocal.reliability.yaml
- src\report\renderers\inventory\style\Start-AZSCExcelCustomization.ps1
- manifests\collectors\Monitor\Workspaces.psd1
- manifests\collectors\Web\CommunicationServices.psd1
- src\assess\rules\waf.azurelocal.security.yaml
- src\report\renderers\inventory\style\Start-AZSCExcelOrdening.ps1
- manifests\collectors\Networking\ApplicationGateways.psd1
- manifests\collectors\Web\DeploymentSlots.psd1
- src\assess\rules\waf.cost.yaml
- src\report\renderers\inventory\style\Support.json
- manifests\collectors\Networking\AzureFirewall.psd1
- manifests\collectors\Web\FluidRelay.psd1
Version History
| Version | Downloads | Last updated |
|---|---|---|
| 3.12.3 | 8 | 8/12/2026 |
| 3.12.2 | 8 | 8/12/2026 |
| 3.12.1 | 8 | 8/11/2026 |
| 3.12.0 | 8 | 8/11/2026 |
| 3.11.0 | 6 | 8/11/2026 |
| 3.10.2 | 7 | 8/10/2026 |
| 3.10.1 | 7 | 8/10/2026 |
| 3.10.0 | 7 | 8/10/2026 |
| 3.9.0 | 6 | 8/9/2026 |
| 3.8.4 | 6 | 8/9/2026 |
| 3.8.3 | 6 | 8/9/2026 |
| 3.8.2 | 5 | 8/9/2026 |
| 3.8.1 | 7 | 8/9/2026 |
| 3.8.0 | 6 | 8/8/2026 |
| 3.7.0 (current version) | 7 | 8/8/2026 |
| 3.6.1 | 6 | 8/8/2026 |
| 3.6.0 | 8 | 8/8/2026 |
| 3.5.1 | 11 | 8/4/2026 |
| 3.5.0 | 7 | 8/4/2026 |
| 3.3.4 | 7 | 8/4/2026 |
| 3.3.3 | 8 | 8/3/2026 |
| 3.3.2 | 5 | 8/3/2026 |
| 3.3.1 | 7 | 8/3/2026 |
| 3.3.0 | 6 | 8/3/2026 |
| 3.1.0 | 10 | 7/31/2026 |
| 3.0.9 | 8 | 7/31/2026 |
| 3.0.8 | 5 | 7/30/2026 |
| 3.0.7 | 4 | 7/30/2026 |
| 3.0.6 | 8 | 7/30/2026 |
| 3.0.5 | 9 | 7/29/2026 |
| 3.0.4 | 5 | 7/29/2026 |
| 3.0.3 | 4 | 7/29/2026 |
| 3.0.2 | 8 | 7/29/2026 |
| 3.0.1 | 5 | 7/29/2026 |
| 3.0.0 | 10 | 7/28/2026 |
| 2.11.0 | 10 | 7/26/2026 |
| 2.10.0 | 6 | 7/26/2026 |
| 2.9.0 | 10 | 7/26/2026 |
| 2.8.0 | 6 | 7/26/2026 |
| 2.7.0 | 8 | 7/26/2026 |
| 2.6.0 | 6 | 7/26/2026 |
| 2.5.3 | 5 | 7/25/2026 |
| 2.5.2 | 9 | 7/25/2026 |
| 2.5.1 | 5 | 7/25/2026 |
| 2.5.0 | 6 | 7/25/2026 |
| 2.4.0 | 5 | 7/25/2026 |
| 2.3.0 | 7 | 7/25/2026 |
| 2.2.0 | 5 | 7/24/2026 |
| 2.1.0 | 6 | 7/24/2026 |
| 2.0.1 | 7 | 7/23/2026 |
| 2.0.0 | 5 | 7/23/2026 |
| 1.0.0 | 48 | 2/25/2026 |