إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تستخدم ميزة أوامر تشغيل عامل الجهاز الظاهري لتشغيل برامج PowerShell النصية داخل جهاز ظاهري يعمل بنظام Windows. يمكنك استخدام هذه البرامج النصية للإدارة العامة للجهاز أو التطبيق. حيث يمكن أن تساعدك على تشخيص ومعالجة مشاكل الدخول إلى الآلة الظاهرية والشبكة واستعادة الآلة الظاهرية مرة أخرى إلى وضع جيد.
Benefits
يمكنك الوصول إلى أجهزتك الظاهرية بطرق متعددة. يمكن لأمر التشغيل تشغيل البرامج النصية على أجهزتك الظاهرية عن بعد باستخدام عامل الجهاز الظاهري. يمكنك استخدام أمر التشغيل من خلال مدخل Microsoft Azure أو واجهة برمجة تطبيقات REST أو PowerShell لأجهزة Windows الظاهرية.
هذه الإمكانية مفيدة في جميع السيناريوهات التي تريد فيها تشغيل برنامج نصي داخل جهاز ظاهري. إنها إحدى الطرق الوحيدة لاستكشاف الأخطاء وإصلاحها في جهاز الظاهري لا يحتوي على منفذ RDP أو SSH مفتوحاً بسبب تكوين غير لائق للشبكة أو المستخدم الإداري.
Prerequisites
أنظمة تشغيل Windows مدعومة
| إصدار نظام التشغيل | x64 | ARM64 |
|---|---|---|
| نوافذ 10 | Supported | Supported |
| نوافذ 11 | Supported | Supported |
| Windows Server 2016 | Supported | Supported |
| نواة ويندوز سيرفر 2016 | Supported | Supported |
| ويندوز سيرفر 2019 | Supported | Supported |
| ويندوز سيرفر 2019 كور | Supported | Supported |
| ويندوز سيرفر 2022 | Supported | Supported |
| ويندوز سيرفر 2022 كور | Supported | Supported |
| إصدار Windows Server 2022 Azure | Supported | Supported |
| ويندوز سيرفر 2025 | Supported | Supported |
| ويندوز سيرفر 2025 كور | Supported | Supported |
| إصدار Windows Server 2025 Azure | Supported | Supported |
Restrictions
تنطبق القيود التالية عند استخدام أمر التشغيل:
- تقتصر المخرجات على آخر 4,096 بايت.
- الحد الأدنى من الوقت لتشغيل البرنامج النصي هو حوالي 20 ثانية.
- تشغيل البرامج النصية كنظام على Windows.
- يمكن تشغيل برنامج نصي واحد في كل مرة.
- البرامج النصية التي تطالب بالمعلومات (الوضع التفاعلي) غير مدعومة.
- لا يمكنك إلغاء برنامج نصي قيد التشغيل.
- الحد الأقصى للوقت الذي يمكن به تشغيل البرنامج النصي هو 90 دقيقة. بعد ذلك، سوف تنتهي مهلته.
- يكون الاتصال الخارجي الصادر من الجهاز الظاهري لازمًا لإعادة نتائج البرنامج النصي.
- لا يوصى بتشغيل برنامج نصي سيؤدي إلى إيقاف عامل الجهاز الظاهري أو تحديثه. يمكن أن يسمح هذا للملحق في حالة انتقال، مما يؤدي إلى انتهاء المهلة.
Note
للعمل بشكل صحيح، يتطلب تشغيل الأمر الاتصال (المنفذ 443) بعناوين IP العامة ل Azure. وإذا لم يكن للملحق حق الدخول إلى هذه الأطراف النهائية، فقد تعمل البرامج النصية بنجاح ولكن دون إعادة النتائج. إذا كنت تحظر نسبة استخدام الشبكة على الجهاز الظاهري، فيمكنك استخدام علامات الخدمة للسماح بنسبة استخدام الشبكة إلى عناوين IP العامة ل Azure باستخدام العلامة AzureCloud .
لا تعمل ميزة أمر التشغيل إذا كانت حالة عامل الجهاز الظاهري على وضع NOT READY. تحقق من حالة العامل في خصائص الجهاز الظاهري في مدخل Azure.
الأوامر المتاحة
يعرض هذا الجدول قائمة الأوامر المتوفرة للأجهزة الظاهرية التي تعمل بنظام Windows. يمكنك استخدام الأمر RunPowerShellScript لتشغيل أي برنامج نصي مخصص تريده. عند استخدام Azure CLI أو PowerShell لتشغيل أمر، يجب أن تكون القيمة التي توفرها للمعلمة --command-id أو المعلمة -CommandId إحدى القيم المدرجة التالية. عند تحديد قيمة ليست أمرا متوفرا، تتلقى هذا الخطأ:
The entity was not found in this Azure location
الأوامر المتوفرة
| معرف الأمر | Description | مزيد من المعلومات |
|---|---|---|
| RunPowerShellScript | تشغيل برنامج PowerShell نصي | |
| DisableNLA | تعطيل المصادقة على مستوى الشبكة. يجب إعادة تشغيل الجهاز الظاهري بعد اكتمال البرنامج النصي حتى يدخل التغيير حيز التنفيذ. لا يقوم البرنامج النصي نفسه بإعادة تشغيل الجهاز الظاهري. | readme |
| DisableWindowsUpdate | تعطيل التحديثات التلقائية من خلال Windows Update. | readme |
| EnableAdminAccount | التحقق مما إذا كان حساب المسؤول المحلي معطلا، وإذا كان الأمر كذلك فإنه يمكن ذلك. | readme |
| EnableEMS | تمكين خدمات إدارة الطوارئ (EMS) للسماح باتصال وحدة التحكم التسلسلية في سيناريوهات استكشاف الأخطاء وإصلاحها. | readme |
| EnableRemotePS | تمكين PowerShell البعيد. | readme |
| EnableWindowsUpdate | تمكين التحديثات التلقائية من خلال Windows Update. | readme |
| IMDSCertCheck | يتحقق من صحة IMDS ثم يحلل الشهادات المثبتة حاليا التي يعتمد عليها IMDS. إذا كان مفقودا، يظهر تفاصيل إضافية وخطوات التخفيف. | readme |
| IPConfig | يعرض معلومات مفصلة لعنوان IP وقناع الشبكة الفرعية والبوابة الافتراضية لكل محول مرتبط ب TCP/IP. للاستخدام، راجع تشغيل البرامج النصية | readme |
| RDPSettings | يتحقق من إعدادات السجل وإعدادات نهج المجال. يقترح إجراءات النهج إذا كان الجهاز جزءا من مجال أو يعدل الإعدادات إلى القيم الافتراضية. | readme |
| ResetRDPCert | يزيل شهادة SSL المرتبطة بمستمع RDP ويستعيد أمان وحدة استماع RDP إلى الوضع الافتراضي. استخدم هذا البرنامج النصي إذا لاحظت أية مشكلات في الشهادة. | readme |
| SetRDPPort | تعيين رقم المنفذ الافتراضي أو رقم المنفذ المحدد من قبل المستخدم لاتصالات سطح المكتب البعيد. تمكين قاعدة جدار الحماية للوصول الوارد إلى المنفذ. | readme |
| WindowsActivationValidation | يتحقق من حالة ترخيص Windows الحالية (تم التنشيط أم لا) ويتم إنشاء التنبيه إذا لم يتم تنشيط خاصية الجهاز. | readme |
| WindowsGhostedNicValidationScript | يقوم هذا السكربت بمسح سجل ويندوز بحثا عن محولات الشبكة على ناقلات PCI وVMBUS، ويقارنها مع محولات الشبكة النشطة حاليا، ويحدد بطاقات الشبكة المبللة. مفيد لحل مشاكل الشبكة أو تنظيف بطاقات الشبكة القديمة. | readme |
| WindowsUpgradeAssessmentValidation | تم تصميم هذا السكريبت لتقييم جاهزية جهاز ويندوز (العميل أو الخادم) لترقية نظام التشغيل في المكان، مع اعتبارات خاصة لأجهزة Azure الافتراضية. يقوم بتقييم إصدار نظام التشغيل، ومسارات الترقية المدعومة، ومساحة قرص النظام، وميزات أمان Azure مثل التشغيل الموثوق، والإقلاع الآمن، وvTPM. | readme |
تقييد الوصول إلى أمر التشغيل
يتطلب سرد أوامر التشغيل أو عرض تفاصيل الأمر الحصول على إذن Microsoft.Compute/locations/runCommands/readعلى مستوى الاشتراك. يتمتع دور القارئ المضمن والمستويات الأعلى بهذا الإذن.
يتطلب Microsoft.Compute/virtualMachines/runCommand/action تشغيل أمر الإذن . ويكون هذا الإذن متاحًا لدور مساهم الجهاز الظاهري والمستويات الأعلى.
يمكنك استخدام أحد الأدوار المضمنة أو إنشاء دور مخصص لاستخدام تشغيل الأمر.
استخدام أوامر التشغيل
Note
- لا يمكن أن تكون قيم المعلمات إلا من نوع السلسلة فقط والبرنامج النصي مسؤول عن تحويلها إلى أنواع أخرى إذا لزم الأمر.
- اعتمادا على الطريقة المستخدمة للتنفيذ، قد تكون هناك حاجة إلى بعض الهروب. على سبيل المثال، إذا كنت تنفذ الأمر في جلسة عمل PowerShell، فسيحتاج المسار إلى ملف البرنامج النصي إلى الحصول على علامات اقتباس.
- الأوامر المضمنة غير قابلة للتحرير.
انتقل إلى جهاز ظاهري في مدخل Microsoft Azure وحدد الأمر تشغيل من القائمة اليسرى، ضمن العمليات. ستظهر قائمة بالأوامر المتوفرة للتشغيل على الجهاز الظاهري.
اختر أمرًا لتشغيله. قد تحتوي بعض الأوامر على معلمات إدخال اختيارية أو مطلوبة. بالنسبة لهذه الأوامر، يتم عرض المعلمات كحقول نصية لتوفير قيم الإدخال. لكل أمر، يمكنك عرض البرنامج النصي الذي يتم تشغيله عن طريق توسيع عرض البرنامج النصي. يختلف RunPowerShellScript عن الأوامر الأخرى ، لأنه يسمح لك بتوفير البرنامج النصي المخصص الخاص بك.
بعد اختيار الأمر، حدد تشغيل لتشغيل البرنامج النصي. بعد انتهاء البرنامج النصي، يقوم بإرجاع الإخراج وأي أخطاء في نافذة الإخراج. تعرض لقطة الشاشة التالية مثالا على إخراج من تشغيل الأمر RDPSettings .
استكشاف أخطاء أمر تشغيل الإجراء في Windows وإصلاحها
عند استكشاف أخطاء الأمر تشغيل الإجراء وإصلاحها لبيئات Windows، ارجع إلى ملف سجل RunCommandExtension الموجود عادة في الدليل التالي: C:\WindowsAzure\Logs\Plugins\Microsoft.CPlat.Core.RunCommandWindows\<version>\RunCommandExtension.log لمزيد من التفاصيل.
المشكلات المعروفة
قد يفشل تنفيذ Action Run Command Extension في بيئة Windows إذا كان الأمر يحتوي على أحرف محجوزة. على سبيل المثال:
&إذا تم تمرير الرمز في معلمة الأمر الخاص بك مثل البرنامج النصي PowerShell أدناه، فقد يفشل.$paramm='abc&jj' Invoke-AzVMRunCommand -ResourceGroupName AzureCloudService1 -Name test -CommandId 'RunPowerShellScript' -ScriptPath C:\data\228332902\PostAppConfig.ps1 -Parameter @{"Prefix" = $paramm}^استخدم الحرف للإلغاء في&الوسيطة، مثل$paramm='abc^&jj'قد يفشل ملحق أمر التشغيل أيضا في التنفيذ إذا كان الأمر المطلوب تنفيذه يحتوي على "\n" في المسار، حيث سيتم التعامل معه كخط جديد. على سبيل المثال،
C:\Windows\notepad.exeيحتوي على\nفي مسار الملف. ضع في اعتبارك استبدال\nب\Nفي المسار الخاص بك.تأكد من عدم وجود أي إعداد مخصص في مفتاح
HKLM\SOFTWARE\Microsoft\Command Processor\AutoRunالتسجيل (مفصل هنا). قد يتم تشغيل هذا أثناء مراحل تثبيت ملحق RunCommand أو تمكينه ويتسبب في حدوث خطأ مثل "لا يتم التعرف على XYZ كأمر داخلي أو خارجي أو برنامج قابل للتشغيل أو ملف دفعي".
إجراء تشغيل إزالة الأمر
إذا كنت بحاجة إلى إزالة أمر تشغيل الإجراء الخاص بك ملحق Windows، فراجع الخطوات التالية ل Azure PowerShell وCLI:
استبدل rgnameوvmname باسم مجموعة الموارد ذات الصلة واسم الجهاز الظاهري في أمثلة الإزالة التالية.
Invoke-AzVMRunCommand -ResourceGroupName 'rgname' -VMName 'vmname' -CommandId 'RemoveRunCommandWindowsExtension'
Note
عند تطبيق أمر تشغيل مرة أخرى، سيتم تثبيت الملحق تلقائيا. يمكنك استخدام أمر إزالة الملحق لاستكشاف أي مشكلات متعلقة بالملحق وإصلاحها.
الخطوات التالية
للتعرف على الطرق الأخرى لتشغيل البرامج النصية والأوامر عن بعد في الجهاز الظاهري، راجع تشغيل البرامج النصية في جهازك الظاهري الذي يعمل بنظام Windows.