استخدم أسطر الأوامر لبدء وإيقاف أجهزة DevTest Labs الظاهرية

توضح هذه المقالة كيفية بدء تشغيل أجهزة Azure DevTest Labs الظاهرية (VMs) أو إيقافها باستخدام أسطر الأوامر والبرامج النصية Azure PowerShell أو Azure CLI.

يمكنك بدء تشغيل DevTest Labs VMs أو إيقافه أو إعادة تشغيله باستخدام مدخل Microsoft Azure. يمكنك أيضاً استخدام المدخل لتكوين جداول ونُهج بدء التشغيل التلقائي وإيقاف التشغيل التلقائي للأجهزة الظاهرية للمعمل.

عندما تريد إنشاء برنامج نصي أو تشغيل تلقائي لبدء أو إيقاف الأجهزة الظاهرية للمعمل، استخدم أوامر PowerShell أو Azure CLI. على سبيل المثال، يمكنك استخدام أوامر البدء أو الإيقاف من أجل:

  • اختبر تطبيقاً ثلاثي المستويات، حيث يجب أن تبدأ المستويات بالتسلسل.
  • قم بإيقاف تشغيل الأجهزة الظاهرية لتوفير التكاليف عندما تفي بالمعايير المخصصة.
  • ابدأ عند بدء سير عمل التكامل المستمر والتسليم المستمر (CI/CD)، وتوقف عند الانتهاء. للحصول على مثال لسير العمل هذا، راجع تشغيل مصنع للصور من Azure DevOps.

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

البرنامج النصي Azure PowerShell

يبدأ برنامج PowerShell النصي التالي أو يوقف جهاز VM في معمل باستخدام Invoke-AzResourceAction. المعلمة ResourceId هي المعرف المؤهل بالكامل للمعمل VM الذي تريد بدء تشغيله أو إيقافه. تحدد المعلمة Action ما إذا كنت تريد بدء تشغيل VM أو إيقافه، بناءً على الإجراء الذي تريده.

  1. من محطة العمل الخاصة بك، استخدم الأمر Connect-AzAccount من PowerShell لتسجيل الدخول إلى حساب Azure الخاص بك. إذا كان لديك العديد من اشتراكات Azure، فقم بإلغاء التعليق على سطر Set-AzContext واملأ <Subscription ID> الذي تريد استخدامه.

    # Sign in to your Azure subscription
    $sub = Get-AzSubscription -ErrorAction SilentlyContinue
    if(-not($sub))
    {
        Connect-AzAccount
    }
    
    # Set-AzContext -SubscriptionId "<Subscription ID>"
    
  2. قم بتوفير قيم لـ <lab name> و<VM name>، وأدخل الإجراء الذي تريده لـ <Start or Stop>.

    $devTestLabName = "<lab name>"
    $vMToStart = "<VM name>"
    
    # The action on the virtual machine (Start or Stop)
    $vmAction = "<Start or Stop>"
    
  3. ابدأ أو أوقف الجهاز الظاهري، بناءً على القيمة التي مررتها إلى $vmAction.

    # Get the lab information
    $devTestLab = Get-AzResource -ResourceType 'Microsoft.DevTestLab/labs' -ResourceName $devTestLabName
    
    # Start or stop the VM and return a succeeded or failed status
    $returnStatus = Invoke-AzResourceAction `
                        -ResourceId "$($devTestLab.ResourceId)/virtualmachines/$vMToStart" `
                        -Action $vmAction `
                        -Force
    
    if ($returnStatus.Status -eq 'Succeeded') {
        Write-Output "##[section] Successfully updated DTL machine: $vMToStart, Action: $vmAction"
    }
    else {
        Write-Error "##[error] Failed to update DTL machine: $vMToStart, Action: $vmAction"
    }
    

برنامج Azure CLI النصي

يوفر البرنامج النصي التالي أوامر Azure CLI لبدء أو إيقاف جهاز ظاهري معمل. المتغيرات في هذا البرنامج النصي مخصصة لبيئة Windows، مثل موجه الأوامر. Bash أو البيئات الأخرى لها اختلافات طفيفة.

  1. قدم قيماً مناسبة للإجراء <Subscription ID> و<lab name> و<VM name> و<Start or Stop> الذي يجب اتخاذه.

    set SUBSCRIPTIONID=<Subscription ID>
    set DEVTESTLABNAME=<lab name>
    set VMNAME=<VM name>
    set ACTION=<Start or Stop>
    
  2. سجّل الدخول إلى حسابك في Azure. إذا كان لديك العديد من اشتراكات Azure، فقم بإلغاء التعليق على سطر az account set لاستخدام معرف الاشتراك الذي قدمته.

    az login
    
    REM az account set --subscription %SUBSCRIPTIONID%
    
  3. احصل على اسم مجموعة الموارد التي تحتوي على المعمل.

    az resource list --resource-type "Microsoft.DevTestLab/labs" --name %DEVTESTLABNAME% --query "[0].resourceGroup"
    
  4. استبدل <resourceGroup> بالقيمة التي حصلت عليها من الخطوة السابقة.

    set RESOURCEGROUP=<resourceGroup>
    
  5. قم بتشغيل سطر الأوامر لبدء أو إيقاف الجهاز الظاهري، بناءً على القيمة التي قمت بتمريرها إلى ACTION.

    az lab vm %ACTION% --lab-name %DEVTESTLABNAME% --name %VMNAME% --resource-group %RESOURCEGROUP%
    

الخطوات التالية