你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 PowerShell 和 Az 模块创建 Azure 实验室服务实验室

重要

Azure 实验室服务将于 2027 年 6 月 28 日停用。 有关详细信息,请参阅停用指南

在本文中,你将了解如何使用 PowerShell 和 Azure 模块创建实验室。 此实验室将使用以前创建的实验室计划中的设置。 有关 Azure 实验室服务的详细说明,请参阅 Azure 实验室服务简介

先决条件

  • 具有活动订阅的 Azure 帐户。 如果没有 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