إنشاء مختبر في Azure Lab Services باستخدام PowerShell والوحدة النمطية Azure

في هذه المقالة، ستتعلم كيفية إنشاء معمل باستخدام PowerShell ووحدات Azure النمطية. يستخدم المختبر الإعدادات من خطة مختبر تم إنشاؤها مسبقا. للحصول على نظرة عامة مفصلة على Azure Lab Services، راجع مقدمة إلى Azure Lab Services.

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

قم بتشغيل الاتصال-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 لاسترداد قائمة وحدات 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 وSKU Classic_Fsv2_4_8GB_128_S_SSD للمورد. سيقوم الأمر التالي بإنشاء مختبر باستخدام خطة المختبر التي تم إنشاؤها أعلاه.

# $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 cmdlets.