1---2name: azure-devtest-labs3description: Azure DevTest Labs Skill4---5# Azure DevTest Labs Skill67This skill provides expert guidance for Azure DevTest Labs. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.89## How to Use This Skill1011> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file1213> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)1415This skill requires **network access** to fetch documentation content:16- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.17- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.1819## Category Index2021| Category | Lines | Description |22|----------|-------|-------------|23| Troubleshooting | L37-L45 | Diagnosing and fixing DevTest Labs VM and environment creation/deployment issues, artifact application failures, connectivity problems, and handling Defender for Cloud security alerts. |24| Best Practices | L46-L50 | Guidance on organizing and collaborating on DevTest Labs infrastructure as code across teams, including branching, environments, and distributed resource development workflows |25| Decision Making | L51-L59 | Guidance on planning PoCs and enterprise-scale deployments, choosing images and Gen1 vs Gen2 VMs, and setting governance for organization-wide DevTest Labs use. |26| Architecture & Design Patterns | L60-L64 | Enterprise-scale DevTest Labs architectures: hub-spoke design, network/security layout, governance, cost management, and best practices for large org lab deployments. |27| Limits & Quotas | L65-L69 | Managing DevTest Labs limits and quotas, viewing current usage, and requesting or configuring quota increases for labs, VMs, and related resources. |28| Security | L70-L86 | Securing DevTest Labs: identities, RBAC and granular policy permissions, secrets/Key Vault, encrypted storage/disks, Trusted Launch, and secure VM access via Bastion, RD Gateway, or browser |29| Configuration | L87-L111 | Configuring DevTest Labs environments and VMs: images, networks, policies, costs, tags, ARM templates, artifacts, activity logs, alerts, IPs, and resource groups. |30| Integrations & Coding Patterns | L112-L131 | Automating DevTest Labs with ARM, PowerShell, CLI, REST, and Functions: user/VM management, VHD/custom image workflows, cross-lab import, reporting, and VM start/stop/start-order control. |31| Deployment | L132-L139 | Guides for deploying and migrating DevTest Labs: ARM templates, CI/CD and Azure Pipelines integration, region moves, and handling Azure Basic Load Balancer retirement. |3233### Troubleshooting34| Topic | URL |35|-------|-----|36| Fix DevTest Labs VM connectivity by redeploying | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-redeploy-vm |37| Troubleshoot DevTest Labs artifact application failures | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-troubleshoot-apply-artifacts |38| Handle Defender for Cloud security alerts in DevTest Labs environments | https://learn.microsoft.com/en-us/azure/devtest-labs/environment-security-alerts |39| Troubleshoot DevTest Labs VM deployment failures | https://learn.microsoft.com/en-us/azure/devtest-labs/troubleshoot-vm-deployment-failures |40| Troubleshoot DevTest Labs VM and environment creation failures | https://learn.microsoft.com/en-us/azure/devtest-labs/troubleshoot-vm-environment-creation-failures |4142### Best Practices43| Topic | URL |44|-------|-----|45| Set up distributed DevTest Labs resource development | https://learn.microsoft.com/en-us/azure/devtest-labs/best-practices-distributive-collaborative-development-environment |4647### Decision Making48| Topic | URL |49|-------|-----|50| Plan and execute a DevTest Labs proof of concept | https://learn.microsoft.com/en-us/azure/devtest-labs/deliver-proof-concept |51| Choose between custom images and formulas in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-comparing-vm-base-image-types |52| Choose and use Gen1 vs Gen2 VMs in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-gen2-vm |53| Govern Azure DevTest Labs resources across an organization | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-guidance-governance-resources |54| Plan DevTest Labs deployment at enterprise scale | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-guidance-scale |5556### Architecture & Design Patterns57| Topic | URL |58|-------|-----|59| Enterprise reference architecture for Azure DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-reference-architecture |6061### Limits & Quotas62| Topic | URL |63|-------|-----|64| View and increase Azure DevTest Labs quotas and limits | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-scale-lab |6566### Security67| Topic | URL |68|-------|-----|69| Configure managed identity for Azure DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/configure-lab-identity |70| Secure DevTest Labs access with Remote Desktop Gateway | https://learn.microsoft.com/en-us/azure/devtest-labs/configure-lab-remote-desktop-gateway |71| Secure DevTest Labs VM access via Azure Bastion | https://learn.microsoft.com/en-us/azure/devtest-labs/connect-virtual-machine-through-browser |72| Configure DevTest Labs RBAC roles and user access | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-add-devtest-user |73| Configure DevTest Labs lab-level secrets securely | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-lab-secrets |74| Grant granular permissions to DevTest Labs policies | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-grant-user-permissions-to-specific-lab-policies |75| Use Azure Key Vault secrets in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-store-secrets-in-key-vault |76| Enable Trusted Launch for DevTest Labs Gen2 VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-trusted-launch |77| Enable secure browser-based access to DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/enable-browser-connection-lab-virtual-machines |78| Enable user-assigned managed identities on DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/enable-managed-identities-lab-vms |79| Configure customer-managed key disk encryption in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/encrypt-disks-customer-managed-keys |80| Manage DevTest Labs storage accounts and encryption settings | https://learn.microsoft.com/en-us/azure/devtest-labs/encrypt-storage |81| Use managed identities to deploy DevTest Labs environments | https://learn.microsoft.com/en-us/azure/devtest-labs/use-managed-identities-environments |8283### Configuration84| Topic | URL |85|-------|-----|86| View and interpret DevTest Labs activity logs | https://learn.microsoft.com/en-us/azure/devtest-labs/activity-logs |87| Add and configure artifacts on DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/add-artifact-vm |88| Configure Azure Compute Gallery for DevTest Labs images | https://learn.microsoft.com/en-us/azure/devtest-labs/configure-shared-image-gallery |89| Connect DevTest Labs environments to lab virtual networks | https://learn.microsoft.com/en-us/azure/devtest-labs/connect-environment-lab-virtual-network |90| Configure activity log alerts for DevTest Labs events | https://learn.microsoft.com/en-us/azure/devtest-labs/create-alerts |91| Use nested ARM templates for DevTest Labs environments | https://learn.microsoft.com/en-us/azure/devtest-labs/deploy-nested-template-environments |92| Add and manage tags on Azure DevTest Labs resources | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-add-tag |93| Author custom DevTest Labs VM artifact definitions | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-artifact-author |94| Configure autoshutdown policies for DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-auto-shutdown |95| Configure autostart policies for DevTest Labs virtual machines | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-auto-startup-vm |96| Configure cost tracking for Azure DevTest Labs with tags | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-cost-management |97| Configure allowed Azure Marketplace images in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-marketplace-images |98| Add and configure virtual networks for DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-configure-vnet |99| Create DevTest Labs environments from ARM templates | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-create-environment-from-arm |100| Enable and manage licensed images in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-enable-licensed-images |101| Configure and use formulas for DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-manage-formulas |102| Configure Azure DevTest Labs policies for cost control | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-set-lab-policy |103| Configure shared public IP addresses for DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-shared-ip |104| Define DevTest Labs VMs with ARM templates | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-use-resource-manager-template |105| Configure network isolation for Azure DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/network-isolation |106| Configure resource groups for DevTest Labs virtual machines | https://learn.microsoft.com/en-us/azure/devtest-labs/resource-group-control |107108### Integrations & Coding Patterns109| Topic | URL |110|-------|-----|111| Automate adding DevTest Labs users via ARM, PowerShell, and CLI | https://learn.microsoft.com/en-us/azure/devtest-labs/automate-add-lab-user |112| Provision Service Fabric cluster environments in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/create-environment-service-fabric-cluster |113| Create DevTest Labs custom images from VHD with PowerShell | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-create-custom-image-from-vhd-using-powershell |114| Upload VHDs to DevTest Labs storage using AzCopy | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-azcopy |115| Upload VHDs to DevTest Labs with PowerShell | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-powershell |116| Upload VHDs to DevTest Labs via Storage Explorer | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-upload-vhd-using-storage-explorer |117| Automate DevTest Labs VM creation with PowerShell | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-vm-powershell |118| Manage DevTest Labs VMs using Azure CLI | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-vmcli |119| Extend DevTest Labs automation using Azure Functions | https://learn.microsoft.com/en-us/azure/devtest-labs/extend-devtest-labs-azure-functions |120| Import DevTest Labs VMs between labs via REST/PowerShell | https://learn.microsoft.com/en-us/azure/devtest-labs/import-virtual-machines-from-another-lab |121| Report DevTest Labs usage across labs and subscriptions | https://learn.microsoft.com/en-us/azure/devtest-labs/report-usage-across-multiple-labs-subscriptions |122| Automate DevTest Labs with Azure CLI scripts | https://learn.microsoft.com/en-us/azure/devtest-labs/samples-cli |123| Use Azure PowerShell scripts for DevTest Labs automation | https://learn.microsoft.com/en-us/azure/devtest-labs/samples-powershell |124| Control DevTest Labs VM start order with Automation | https://learn.microsoft.com/en-us/azure/devtest-labs/start-machines-use-automation-runbooks |125| Publish Visual Studio apps to DevTest Labs VMs | https://learn.microsoft.com/en-us/azure/devtest-labs/test-app-azure |126| Script DevTest Labs VM start/stop with CLI and PowerShell | https://learn.microsoft.com/en-us/azure/devtest-labs/use-command-line-start-stop-virtual-machines |127128### Deployment129| Topic | URL |130|-------|-----|131| Integrate DevTest Labs with enterprise CI/CD pipelines | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-dev-ops |132| Handle Azure Basic Load Balancer retirement in DevTest Labs | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-standard-load-balancer |133| Deploy DevTest Labs resources with ARM templates | https://learn.microsoft.com/en-us/azure/devtest-labs/devtest-lab-use-arm-and-powershell-for-lab-resources |134| Move Azure DevTest Labs to another region | https://learn.microsoft.com/en-us/azure/devtest-labs/how-to-move-labs |135| Use DevTest Labs in Azure Pipelines build and release | https://learn.microsoft.com/en-us/azure/devtest-labs/use-devtest-labs-build-release-pipelines |