你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 PowerShell 和 Az 模块创建 Azure 实验室服务实验室
重要
Azure 实验室服务将于 2027 年 6 月 28 日停用。 有关详细信息,请参阅停用指南。
在本文中,你将了解如何使用 PowerShell 和 Azure 模块创建实验室。 此实验室将使用以前创建的实验室计划中的设置。 有关 Azure 实验室服务的详细说明,请参阅 Azure 实验室服务简介。
先决条件
- 具有活动订阅的 Azure 帐户。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
- 有权管理实验室的 Azure 帐户,例如实验室创建者、所有者、参与者或实验室服务参与者等 Azure RBAC 角色。 详细了解 Azure 实验室服务内置角色和工作范围。
- Azure 实验室计划。 如果还没有实验室计划,请按照快速入门:设置资源以创建实验室中的步骤操作。
Azure Az PowerShell 模块。 必须是 7.2 或更高版本。
Install-Module 'Az'
-
Install-Module 'Az.LabServices'
实验室计划。 若要创建实验室计划,请参阅使用 PowerShell 和 Azure 模块创建实验室计划。
运行 Connect-AzAccount 以登录到 Azure 并验证订阅是否有效。
创建实验室
在可以创建实验室之前,需要实验室计划资源。 在使用 PowerShell 创建实验室计划中,了解如何在名为 MyResourceGroup
的资源组中创建名为 ContosoLabPlan
的实验室计划。
$plan = Get-AzLabServicesLabPlan `
-Name "ContosoLabPlan" `
-ResourceGroupName "MyResourceGroupName"
还需要从实验室计划的可用映像中选择实验室 VM 的基础映像。 让我们看看有哪些可用内容。
$plan | Get-AzLabServicesPlanImage | Where-Object { $_.EnabledState.ToString() -eq "enabled" }
我们将选择 Windows 11 映像。
$image = $plan | Get-AzLabServicesPlanImage | Where-Object { $_.EnabledState.ToString() -eq "enabled" -and $_.DisplayName -eq "Windows 11 Pro (Gen2)" }
使用 PowerShell 创建实验室时,还需要提供资源 SKU 信息。 以下命令使用 REST API 检索 SKU 列表并选择 Classic_Fsv2_4_8GB_128_S_SSD
SKU:
$subscriptionId = (Get-AzContext).Subscription.ID
$skus = (Invoke-AzRestMethod -Uri https://management.azure.com/subscriptions/$subscriptionId/providers/Microsoft.LabServices/skus?api-version=2022-08-01 | Select-Object -Property "Content" -ExpandProperty Content | ConvertFrom-Json).value
$sku = $skus | Where-Object -Property "name" -eq "Classic_Fsv2_4_8GB_128_S_SSD" | select-object -First 1
现在,我们已准备好使用 Window 11 专业版映像和 Classic_Fsv2_4_8GB_128_S_SSD
资源 SKU 创建基于实验室计划的实验室。 以下命令将使用上面创建的实验室计划来创建实验室。
# $plan and $image are from the Create LabPlan QuickStart.
$password = "<custom password>"
$lab = New-AzLabServicesLab -Name "ContosoLab" `
-ResourceGroupName "MyResourceGroup" `
-Location "westus" `
-LabPlanId $plan.Id `
-AdminUserPassword (ConvertTo-SecureString $password -AsPlainText -Force) `
-AdminUserUsername "adminUser" `
`
-AutoShutdownProfileShutdownOnDisconnect Enabled `
-AutoShutdownProfileDisconnectDelay $(New-Timespan) `
-AutoShutdownProfileShutdownOnIdle "LowUsage" `
-AutoShutdownProfileIdleDelay $(New-TimeSpan -Minutes 15) `
-AutoShutdownProfileShutdownWhenNotConnected Disabled `
-AutoShutdownProfileNoConnectDelay $(New-TimeSpan -Minutes 15) `
`
-ConnectionProfileClientRdpAccess Public `
-ConnectionProfileClientSshAccess None `
-ConnectionProfileWebRdpAccess None `
-ConnectionProfileWebSshAccess None `
-SecurityProfileOpenAccess Disabled `
`
-ImageReferenceOffer $image.Offer `
-ImageReferencePublisher $image.Publisher `
-ImageReferenceSku $image.Sku `
-ImageReferenceVersion $image.Version `
-SkuCapacity 1 `
-SkuName $sku.size `
`
-Title "Contoso Lab" `
-Description "The Contoso lab" `
-AdditionalCapabilityInstallGpuDriver Disabled `
-VirtualMachineProfileCreateOption "TemplateVM" `
-VirtualMachineProfileUseSharedPassword Enabled
清理资源
如果你不打算继续使用此应用程序,请按以下步骤删除计划和实验室:
$lab | Remove-AzLabServicesLab
详细信息
作为管理员,你可以详细了解 Azure PowerShell 模块和 Az.LabServices cmdlet。