Skip to content
azure-lab-services logo

azure-lab-services

Expert knowledge for Azure Lab Services development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when configuring lab plans, VM templates/schedules, VNet-in...

MicrosoftDocs/Agent-Skills0installs770stars

SKILL.md

Full skill instructions

Azure Lab Services Skill

This skill provides expert guidance for Azure Lab Services. 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.

How to Use This Skill

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 file

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

This skill requires network access to fetch documentation content:

  • Preferred: Use mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.
  • Fallback: Use fetch_webpage with query string from=learn-agent-skill&accept=text/​markdown. Returns Markdown.

Category Index

CategoryLinesDescription
TroubleshootingL37-L44Diagnosing and fixing VM access, connectivity, deployment, and lab-creation issues in Azure Lab Services, including when to redeploy or reimage VMs.
Best PracticesL45-L53Governance and setup guidance for lab plans, custom images, nested virtualization, Linux graphical RDP, and preparing optimized Windows template VMs in Azure Lab Services
Decision MakingL54-L65Guidance on when and how to use Azure Lab Services: choosing lab types, planning migrations (physical or to other services), cost estimation, GPU sizing, and running training or hackathon scenarios.
Architecture & Design PatternsL66-L72Core Azure Lab Services architecture, supported networking topologies, and design patterns for building reliable, resilient lab environments and lab plans
Limits & QuotasL73-L80VM capacity and core quotas for labs, how to view usage, request quota increases, and timelines for automatic VM deletion and cleanup.
SecurityL81-L95RBAC roles, lab creator/​owner assignment, Azure Policy for compliance and VM size limits, firewall and public IP setup, and educator/​student VM password management.
ConfigurationL96-L126Configuring Azure Lab Services: lab plans, regions, images, networking, VM templates, schedules (start/​stop/​shutdown), capacity, GPU/​nested virtualization, and user/​educator access.
Integrations & Coding PatternsL127-L140Integrating Lab Services with Canvas and Teams, automating lab creation via Bicep/​PowerShell/​Python, connecting labs to VNets, and remote access to Linux VMs with X2Go.
DeploymentL141-L150Creating and importing Windows/​Linux lab VM images (from Azure VMs, physical labs, or compute galleries), rapidly setting up/​publishing labs, and migrating lab accounts to lab plans.

Troubleshooting

TopicURL
Troubleshoot Azure Lab Services VMs by redeploying or reimaginghttps://learn.microsoft.com/en-us/azure/lab-services/how-to-reset-and-redeploy-vm
Troubleshoot access problems for Azure Lab Services VMshttps://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-access-lab-vm
Troubleshoot connectivity issues in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-connect-lab-vm
Troubleshoot Azure Lab Services lab creation issueshttps://learn.microsoft.com/en-us/azure/lab-services/troubleshoot-lab-creation

Best Practices

TopicURL
Administer lab plans and governance for Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/administrator-guide
Recommended approaches for Azure Lab custom imageshttps://learn.microsoft.com/en-us/azure/lab-services/approaches-for-custom-image-creation
Configure nested virtualization in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/concept-nested-virtualization-template-vm
Enable graphical remote desktop for Linux labs with optimal performancehttps://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-remote-desktop-linux
Best practices for preparing Windows lab templateshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-prepare-windows-template

Decision Making

Architecture & Design Patterns

Limits & Quotas

Security

TopicURL
Assign Lab Creator role in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/add-lab-creator
Enforce Azure Lab Services compliance with Azure Policyhttps://learn.microsoft.com/en-us/azure/lab-services/azure-polices-for-lab-services
Use Azure RBAC roles with Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/concept-lab-services-role-based-access-control
Map role assignments from lab accounts to lab planshttps://learn.microsoft.com/en-us/azure/lab-services/concept-migrate-from-lab-accounts-roles
Assign Lab Creator role for Azure Lab Services accountshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-add-lab-creator
Add additional lab owners in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-add-user-lab-owner
Determine lab VM public IPs for firewall configurationhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-firewall-settings
Configure firewall rules for Azure Lab Services lab VMshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-firewall-settings-1
Set and reset lab VM passwords as an educatorhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-set-virtual-machine-passwords
Students resetting passwords for Azure Lab Services VMshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-set-virtual-machine-passwords-student
Restrict Azure Lab VM sizes using Azure Policyhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-use-restrict-allowed-virtual-machine-sku-sizes-policy

Configuration

TopicURL
Allow lab creators to choose lab locations in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/allow-lab-creator-pick-lab-location
Configure allowed regions for Azure Lab Services labshttps://learn.microsoft.com/en-us/azure/lab-services/create-and-configure-labs-admin
Attach or detach Azure compute galleries to lab planshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-attach-detach-shared-image-gallery
Attach or detach Shared Image Gallery to Azure Lab Services accountshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-attach-detach-shared-image-gallery-1
Configure auto-shutdown policies for Azure Lab planshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-auto-shutdown-lab-plans
Configure automatic VM shutdown for Azure Lab Services accountshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-configure-lab-accounts
Connect lab plans to virtual networks with VNET injectionhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-connect-vnet-injection
Create Azure Lab Services labs with shared resourceshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-a-lab-with-shared-resource-1
Define lab plans with Bicep or ARM templateshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-bicep
Create a lab plan using Azure PowerShellhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-powershell
Programmatically create lab plans using Python SDKhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-lab-plan-python
Create and manage Azure Lab Services VM templateshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-manage-template
Configure automatic start/​stop schedules for lab VMshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-create-schedules
Enable nested virtualization in Azure Lab Services templateshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-nested-virtualization-template-vm-using-script
Configure automatic shutdown on user disconnect for labshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-enable-shutdown-disconnect
Create, view, and delete Azure Lab Services lab planshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-lab-plans
Configure and manage Azure Lab Services users and usage hourshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-lab-users
Manage Azure Lab Services VM pool capacity and stateshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-manage-vm-pool
Set up GPU-based labs in Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/how-to-setup-lab-gpu-1
Configure Windows lab VMs to prevent OS-level shutdownhttps://learn.microsoft.com/en-us/azure/lab-services/how-to-windows-shutdown
Allow educators to access student VMs in Azure labshttps://learn.microsoft.com/en-us/azure/lab-services/instructor-access-virtual-machines
Configure support contact information for Azure lab accountshttps://learn.microsoft.com/en-us/azure/lab-services/lab-account-owner-support-information
Quickly configure a lab plan for your schoolhttps://learn.microsoft.com/en-us/azure/lab-services/lab-plan-setup-guide
Azure Policy built-in definitions for Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/policy-reference
Configure allowed Azure Marketplace images for labshttps://learn.microsoft.com/en-us/azure/lab-services/specify-marketplace-images
Specify allowed Marketplace images for Azure Lab Services labshttps://learn.microsoft.com/en-us/azure/lab-services/specify-marketplace-images-1
Configure advanced networking for Azure Lab Serviceshttps://learn.microsoft.com/en-us/azure/lab-services/tutorial-create-lab-with-advanced-networking

Integrations & Coding Patterns

Deployment