Task 02: Verify Provider Registration
DOCUMENT CATEGORY: Runbook SCOPE: Azure resource provider registration verification PURPOSE: Confirm all required resource providers are fully registered MASTER REFERENCE: Microsoft Learn — Resource Providers
Status: Active
Overview
After registering resource providers in Task 01, this task verifies all providers have completed registration and are ready for use. Run this verification before proceeding to RBAC configuration.
Some providers may still be in "Registering" state after Task 01. Wait 2–5 minutes and re-run verification if needed.
Prerequisites
| Prerequisite | Detail |
|---|---|
| Task 01 | Register Resource Providers completed |
| Permissions | Contributor or Owner role at subscription level |
| Authenticated Azure session | See Authentication |
variables.yml | Configured with target subscription ID |
Variables from variables.yml
| Variable | Config Path | Example (IIC) |
|---|---|---|
| Subscription ID | azure.subscriptions.lab.id | (per environment) |
Execution Options
- Azure Portal
- Azure CLI / PowerShell
- Standalone Script
Azure Portal
When to use: Visual verification through Azure Portal
Procedure
- Navigate to Resource Providers:
- In Azure Portal, search for Subscriptions
- Select your target subscription (
variables.yml → azure.subscriptions.lab.id) - In the left menu under Settings, click Resource providers
- Verify each provider:
Search for each provider and confirm "Registered" status:
| Provider | Status |
|---|---|
| Microsoft.HybridCompute | ☐ Registered |
| Microsoft.GuestConfiguration | ☐ Registered |
| Microsoft.HybridConnectivity | ☐ Registered |
| Microsoft.AzureStackHCI | ☐ Registered |
| Microsoft.Kubernetes | ☐ Registered |
| Microsoft.KubernetesConfiguration | ☐ Registered |
| Microsoft.ExtendedLocation | ☐ Registered |
| Microsoft.ResourceConnector | ☐ Registered |
| Microsoft.HybridContainerService | ☐ Registered |
| Microsoft.Attestation | ☐ Registered |
| Microsoft.Storage | ☐ Registered |
| Microsoft.Insights | ☐ Registered |
- Document results:
- Screenshot the Resource providers page with all providers visible
- Save for deployment documentation / handover
Links
Azure CLI / PowerShell
When to use: Scripted verification reading values from
variables.yml
Script
Primary: scripts/deploy/02-azure-foundation/phase-02-resource-providers/task-02-verify-provider-registration/powershell/Test-ResourceProviders.ps1
Code
# ============================================================================
# Script: Test-ResourceProviders.ps1
# Prerequisites: Az.Resources module, authenticated with Contributor on subscription
# ============================================================================
#Requires -Modules Az.Resources
# Load configuration
$config = Get-Content "./config/variables.yml" | ConvertFrom-Yaml
# Extract subscription
$SubscriptionId = $config.azure.subscriptions.lab.id
# Set subscription context
Set-AzContext -SubscriptionId $SubscriptionId | Out-Null
# Define required providers
$providers = @(
'Microsoft.HybridCompute',
'Microsoft.GuestConfiguration',
'Microsoft.HybridConnectivity',
'Microsoft.AzureStackHCI',
'Microsoft.Kubernetes',
'Microsoft.KubernetesConfiguration',
'Microsoft.ExtendedLocation',
'Microsoft.ResourceConnector',
'Microsoft.HybridContainerService',
'Microsoft.Attestation',
'Microsoft.Storage',
'Microsoft.Insights'
)
# Check registration status
$results = foreach ($provider in $providers) {
$state = (Get-AzResourceProvider -ProviderNamespace $provider).RegistrationState
[PSCustomObject]@{
Provider = $provider
RegistrationState = $state
IsRegistered = ($state -eq 'Registered')
}
}
# Display results
$results | Format-Table -AutoSize
# Summary
$notRegistered = $results | Where-Object { -not $_.IsRegistered }
if ($notRegistered) {
Write-Warning "FAILED: $($notRegistered.Count) provider(s) not registered:"
$notRegistered | ForEach-Object { Write-Warning " - $($_.Provider): $($_.RegistrationState)" }
exit 1
} else {
Write-Host "`nPASSED: All 12 providers registered successfully" -ForegroundColor Green
exit 0
}
Validation
Success criteria:
- Script exits with code
0 - All 12 providers show
IsRegistered = True
Standalone Script
When to use: Copy-paste ready script — no config file, no helpers, no dependencies.
Code
# ============================================================================
# Script: Test-ResourceProviders-Standalone.ps1
# Execution: Run anywhere — fully self-contained, no external dependencies
# Prerequisites: Az.Resources module, authenticated with Contributor on subscription
# ============================================================================
#Requires -Modules Az.Resources
#region CONFIGURATION
# ── Edit these values to match your environment ──────────────────────────────
$SubscriptionId = "00000000-0000-0000-0000-000000000000" # Your subscription ID
#endregion CONFIGURATION
# Set subscription context
Set-AzContext -SubscriptionId $SubscriptionId | Out-Null
# Define required providers
$providers = @(
'Microsoft.HybridCompute',
'Microsoft.GuestConfiguration',
'Microsoft.HybridConnectivity',
'Microsoft.AzureStackHCI',
'Microsoft.Kubernetes',
'Microsoft.KubernetesConfiguration',
'Microsoft.ExtendedLocation',
'Microsoft.ResourceConnector',
'Microsoft.HybridContainerService',
'Microsoft.Attestation',
'Microsoft.Storage',
'Microsoft.Insights'
)
# Check registration status
$results = foreach ($provider in $providers) {
$state = (Get-AzResourceProvider -ProviderNamespace $provider).RegistrationState
[PSCustomObject]@{
Provider = $provider
RegistrationState = $state
IsRegistered = ($state -eq 'Registered')
}
}
# Display results
$results | Format-Table -AutoSize
# Summary
$notRegistered = $results | Where-Object { -not $_.IsRegistered }
if ($notRegistered) {
Write-Warning "FAILED: $($notRegistered.Count) provider(s) not registered:"
$notRegistered | ForEach-Object { Write-Warning " - $($_.Provider): $($_.RegistrationState)" }
} else {
Write-Host "`nPASSED: All 12 providers registered successfully" -ForegroundColor Green
}
This script is completely self-contained. Edit the $SubscriptionId in the #region CONFIGURATION block and run — no variables.yml, no config-loader, no helpers required.
Phase 02 Exit Criteria
Complete this checklist before proceeding to Phase 03:
- All 12 resource providers show "Registered" status
- Verification script passes with exit code 0
- Screenshot / documentation captured for handover
- Ready to proceed to Phase 03: RBAC & Permissions
Troubleshooting
| Symptom | Cause | Resolution |
|---|---|---|
| Providers still "Registering" | Registration not yet complete | Wait 5 minutes and re-run verification |
| Cannot check provider status | Insufficient permissions | Verify Contributor or Owner role at subscription level |
| Registration failed | Check Activity Log | Azure Portal → Subscriptions → Activity log → filter by "Register resource provider" |
Next Steps
Phase 02 is complete. Proceed to Phase 03: RBAC & Permissions to configure role-based access control.
References
Navigation
| Previous | Up | Next |
|---|---|---|
| Task 01 — Register Resource Providers | Phase 02 — Resource Providers | Phase 03 — RBAC Permissions |
Version Control
- Created: 2026-01-15 by Azure Local Cloudnology Team
- Last Updated: 2026-03-02 by Azure Local Cloudnology Team
- Version: 2.0.0
- Tags: azure-local, phase-02, resource-providers, verification
- Keywords: verify providers, registration verification, provider status
- Author: Azure Local Cloudnology Team