Поделиться через


Создание лаборатории в Службах лабораторий Azure с помощью PowerShell и модуля Azure

Внимание

Поддержка служб лабораторий Azure прекратится 28 июня 2027 г. Дополнительные сведения см. в руководстве по выходу на пенсию.

Из этой статьи вы узнаете, как создать лабораторию с помощью PowerShell и модулей Azure. В лаборатории используются параметры из ранее созданного плана лаборатории. Подробный обзор служб лабораторий Azure см. в статье "Общие сведения о службах лабораторий Azure".

Необходимые компоненты

  • Учетная запись Azure с активной подпиской. Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Запустите Connect-AzAccount , чтобы войти в Azure и проверить активную подписку.

Создание лаборатории

Прежде чем создать лабораторию, вам потребуется ресурс плана лаборатории. В создании плана лаборатории с помощью PowerShell вы узнаете, как создать план лаборатории с именем ContosoLabPlan группы MyResourceGroupресурсов.

$plan = Get-AzLabServicesLabPlan `
    -Name "ContosoLabPlan" `
    -ResourceGroupName "MyResourceGroupName"

Кроме того, нам необходимо выбрать базовый образ для виртуальных машин лаборатории из доступных образов для плана лаборатории. Давайте посмотрим, что можно использовать.

$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 Pro и 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.