使用 PowerShell 和 Azure 模組在 Azure 實驗室服務中建立實驗室
重要
Azure 實驗室服務將於 2027 年 6 月 28 日淘汰。 如需詳細資訊,請參閱淘汰指南。
在本文中,您將了解如何使用 PowerShell 和 Azure 模組來建立實驗室。 實驗室會使用先前建立的實驗室計劃的設定。 如需 Azure 實驗室服務的詳細概觀,請參閱 Azure 實驗室服務簡介。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 如尚未擁有 Azure 訂用帳戶,請在開始之前先建立免費帳戶。
- 具有管理實驗室權限的 Azure 帳戶,例如實驗室建立者、擁有者、參與者或 實驗室服務參與者等 Azure RBAC 角色。 深入了解 Azure Lab Services 內建角色和指派範圍 (部分機器翻譯)。
- 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
我們現在已準備好使用 Windows 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。