كما يبدأ فريقك في توفير وتكوين المزيد من الآلات الظاهرية (VMs) على ويندوز أزور ، في نقطة ما، ستشعر بالملل من إعادة اختراع العجلة. تحتاج إلى التلقائية! في هذا المقال، تعال معي وسأرشدك خطوة بخطوة للبدء في استخدام امتدادات النصوص المخصصة لأزور لاستخدام أزور لتشغيل النصوص على آلاتك الظاهرية.
إذا كان فريقك في بيئة ويندوز، فإن أحد أفضل الأدوات لتلقيم تكوين الخادم هو باورشيل. باستخدام وحدة أوامر أزور باورشيل، يمكن لمؤسستك الاستفادة من قوة باورشيل ليس فقط لتلقيم المهام داخل الشبكة ولكن أيضًا لتشغيل الأوامر على آلات أزور بشكل جماعي بدلاً من واحدة تلو الأخرى.
ميزة واحدة قدمتها مايكروسوفت هي امتداد النصوص المخصص لأزور. امتداد النصوص المخصص هو امتداد آلة افتراضية لأزور يقوم وكيل الآلة بتشغيله لتنفيذ رمز باورشيل تعسفي ضد آلات الظاهرية الخاصة بك باستخدام واجهة برمجة التطبيقات لأزور بدلاً من الدخول إلى الآلة الظاهرية أو استخدام التحكم عن بعد بواسطة باورشيل.
تشغيل الأوامر بهذه الطريقة يوفر العديد من الفوائد. تشغيل الأوامر باستخدام امتداد النصوص المخصص لأزور في ويندوز:
- يوفر زيادة في الأمان من خلال عدم الحاجة إلى فتح منافذ الشبكة للتحكم عن بعد بواسطة باورشيل
- يسمح بتنفيذ رمز باورشيل بسهولة عند بدء تشغيل الآلة الظاهرية
- نقل الموارد تلقائيًا من تخزين أزور إلى آلتك الظاهرية كجزء من عملية التوفير
- طريقة سهلة لتشغيل النصوص البرمجية لـ PowerShell المخزنة في حسابات تخزين Azure المختلفة
يمكن تمكين امتداد نص مخصص في Azure لنظام التشغيل Windows بعدة طرق. في هذه المقالة، سنركز على تمكين امتداد النص المخصص عبر PowerShell، ولكن يمكنك أيضًا تمكين الامتداد عبر نموذج إدارة موارد Azure (ARM).
كمثال بسيط، دعنا نفترض أنك ترغب في التأكد من تمكين استخدام PowerShell عن بُعد على جهاز افتراضي في Azure في اشتراكك. للقيام بذلك، ستحتاج إلى تشغيل الأمر التالي محليًا على كل جهاز افتراضي:
لنقم ببناء امتداد نص مخصص للقيام بذلك.
استخدام Azure لتشغيل نص على جهاز افتراضي
أولاً، قم بإنشاء نص برمجي باستخدام PowerShell واحفظه بالاسم Enable-PSRemoting.ps1 على جهاز الكمبيوتر المحلي الخاص بك بالأمر المذكور أعلاه. يجب تشغيل هذا النص على جهاز افتراضي في Azure. للقيام بذلك، سنقوم بإنشاء نص برمجي PowerShell صغير آخر بالاسم New-CustomScriptExtension.ps1 لتحميله إلى Azure وإنشاء امتداد نص مخصص لتنفيذه. قبل أن نتقدم كثيرًا، ستحتاج إلى بعض العناصر:
- اسم مجموعة موارد Azure وحساب التخزين الذي سيتم تخزين النص فيه
- اسم حاوية التخزين في Azure
- اسم جهاز الافتراضي
- اسم مجموعة موارد Azure التي يتواجد فيها الجهاز الافتراضي
يمكن تقسيم هذا النص إلى قسمين؛ تحميل النص البرمجي PowerShell الصغير إلى Azure وإنشاء امتداد النص المخصص. كل ما يلزم هو ربط هاتين العمليتين معًا.
تحميل نص برمجي PowerShell إلى Azure
أولاً، سنقوم بتحميل النصيب Enable-PSRemoting.ps1 إلى حساب تخزين Azure ($StorageAccountName
) داخل الحاوية ($ContainerName
) في مجموعة الموارد ($ResourceGroupName
).
تشغيل ملحق النص المخصص
عند تشغيل New-CustomScriptExtension.ps1، سيقوم هذا النص بتحميل النصيب Enable-PSRemoting.ps1 إلى حساب تخزين Azure المحدد.
الآن بعد أن تم تخزين النص في Azure، يمكنك تنفيذه عبر ملحق النص المخصص للآلة الظاهرية:
- الاسم:
$VMName
- مجموعة الموارد:
$rgName
- حساب التخزين:
$saName
- حاوية التخزين:
$scName
قم بفتح محرر النص لـ New-CustomScriptExtension.ps1 والصق المثال أدناه. عند تشغيل هذا، سيقوم بتنفيذ ملحق النص المخصص لـ Azure لنظام التشغيل Windows الذي سيقوم بتنفيذ النصيب Enable-PSRemoting.ps1 الذي قمت بتحميله مسبقًا.
بمجرد أن يكتمل هذا النص البرمجي، يمكنك التحقق من أن Enable-PSRemoting.ps1 قد تم تنفيذه على الآلة الظاهرية وأن تم تمكين البرمجة عن بُعد بنجاح. يجب أن تكون الآن قادرًا على استخدام Invoke-Command
ضد آلتك الظاهرية في Azure.
من خلال الاستفادة من امتداد النصوص المخصص في نظام التشغيل Windows لـ Azure، يمكنك الآن تشغيل أي نوع من البرامج النصية PowerShell عن بُعد على آلات Azure الظاهرية الخاصة بك.
Source:
https://adamtheautomator.com/azure-run-script-on-vm/