PowerShell と Azure モジュールを使用して Azure Lab Services でラボを作成する
重要
Azure Lab Services は 2027 年 6 月 28 日に廃止されます。 詳細については、廃止ガイドを参照してください。
このアーティクルでは、PowerShell と Azure モジュールを使用してラボを作成する方法について説明します。 ラボでは、以前に作成したラボ プランの設定が使用されます。 Azure Lab Services の概要の詳細については、「Azure Lab Services とは」をご覧ください。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- ラボ作成者、所有者、共同作成者、ラボ サービス共同作成者といった Azure RBAC の役割など、ラボを管理するための権限を持つ Azure アカウント。 Azure Lab Services の組み込みロールと割り当てスコープの詳細を確認します。
- Azure ラボ プラン。 ラボ プランがまだない場合は、「クイックスタート: ラボを作成するためのリソースを設定する」の手順に従います。
Azure Az PowerShell モジュール。 Version 10.50 以上である必要があります。
Install-Module 'Az'
Az.LabServices PowerShell モジュール。
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
これで、Windows 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 コマンドレットの詳細を確認できます。