التدبير والادارة المحلية في بير-V يمكن أن تكون عملية مُعقدة. لذلك، فإنك بحاجة إلى أداة إدارة مُقاومة للصعوبات لتكون قادراً على تكوين وتحكم في هيكلك ال Virtuel من مركز واحد.
في هذا المقال البريدي، سنصف الطريقة بالتفصيل كيف يعمل PowerShell وما هي الأوامر الخاصة ب-V PowerShell التي يمكن أن تزيد من أداء نظام المراجعات ال Virtuel (VM) وكيف يمكنك بسهولة تجاوز عدة خطوات في عملية إدارة بير-V.
ما هو PowerShell؟
PowerShell هو إطار للتلاعب وإدارة المهام التلقائية الذي تطوره Microsoft، ويشمل محطة أمر سطر ولغة برمجة مرتبطة بها بناءً على .NET Framework و-.NET Core.
يمكنك استخدام الأوامر الخاصة ب PowerShell (المعروفة أيضًا باسم cmdlets) لتلاعب بعدة مهام بشكل تلقائي باستخدام عدة cmdlets في ملف شريط PowerShell واحد. قام Microsoft بتطوير أكثر من مائة cmdlet أساسية يمكنك استخدامها للقيام بمهام بسيطة ومعقدة.
ما يمكن أن يفعله PowerShell؟
يمكن أن يساعد PowerShell المديرين في بير-V على تلاعب بمهام تدministration (Linux وmacOS وWindows) بسرعة كبيرة. بالمقارنة مع أدوات الواجهة الرسومية، يمكنك باستخدام PowerShell إدارة النظام بالكامل باستخدام سطر الأوامر فقط.ومع ذلك، يمكنك حفظ الأوامر الخاصة ب-V PowerShell اللازمة في ملف نصي (بامتداد .ps1) ثم تنفيذ هذا الملف النصي للقيام ببعض المهام. وما هو أفضل، يمكنك تجديد بعض الأوامر في وقت معين مع Task Scheduler.
كيفية فتح PowerShell
هناك بعض الطرق التي يمكننا من خلالها تشغيل PowerShell في Hyper-V. طريقة سهلة للوصول إلى PowerShell هي الاتصال مباشرة بخادم Hyper-V وتشغيله من هناك. للاتصال عن بعد بمضيف Hyper-V ، نحتاج إلى التأكد من تمكين سطح المكتب البعيد. بمجرد تمكين سطح المكتب البعيد ، يمكننا استخدام أداة سطح المكتب البعيد والاتصال بشكل عن بعد بالخادم كما نفعل مع أي واجهة المستخدم الرسومية لنظام التشغيل Windows.
فتح PowerShell من واجهة المستخدم الرسومية
لفتح PowerShell في نظام التشغيل القائم على واجهة المستخدم الرسومية ، اتبع هذه الخطوات:
- يجب عليك النقر على ابدأ وكتابة PowerShell في شريط البحث.
- انقر بزر الماوس الأيمن فوق رمز PowerShell وحدد تشغيل كمسؤول لفتح PowerShell في وضع مرتفع.
فتح PowerShell من سطر الأوامر
لتشغيل PowerShell إذا كنت تستخدم Windows Server Core أو Hyper-V Server ، اتبع هذه الخطوات:
- اكتب PowerShell في موجه الأوامر واضغط على إدخال.
- A Windows PowerShell session should start automatically in the Command Prompt window. A PS prefix is then added to the command prompt to indicate that you have started a Windows PowerShell session.
- بمجرد أن تكون في PowerShell ، يمكنك استخدام أوامر PowerShell الخاصة بـ Hyper-V ، والتي سنغطيها في هذا المنشور.
إعدادات الاتصال عن بُعد
للتحقق من إعدادات سطح المكتب البعيد في Windows Server Core أو Hyper-V Server ، يمكنك تشغيل أداة sconfig إذا لم يتم تشغيلها بالفعل وتكوينها باستخدام الخيار 7. أيضًا ، بمجرد الاتصال بشكل عن بعد بمضيف Hyper-V ، يمكنك استخدام الخيار 15 للخروج إلى سطر الأوامر.
بمجرد وجودك هناك، فأنت في بيئة cmd.exe عادية – ليست PowerShell. لتشغيل بيئة PowerShell، ما عليك سوى كتابة powershell في سطر الأوامر.
باستخدام PowerShell عن بعد
يمكنك أيضًا التفاعل عن بعد مع Hyper-V باستخدام PowerShell. بمعنى آخر، يمكنك تنفيذ أوامر PowerShell عن بُعد على مضيف Hyper-V دون إنشاء اتصال سطح المكتب عن بُعد.
من محطة العمل للإدارة التي يتم تحميل أدوات إدارة Hyper-V عليها، يمكننا تنفيذ أوامر Hyper-V الخاصة بنا. أولاً، نحتاج إلى تثبيت أدوات Hyper-V، بما في ذلك هذه الأوامر (الأوامر).
Install-WindowsFeature RSAT-Hyper-V-Tools
بمجرد تحميل الأدوات، يمكننا تشغيل نفس أنواع الأوامر باستخدام المعلمة -computername مشيرين إلى مضيف Hyper-V لدينا كما في الشاشة الموجودة أدناه. نمرر اسم مضيفنا إلى أمر PowerShell get-vm .
12 أمر PowerShell أساسي لـ Hyper-V
هناك عدد من الأوامر الفعالة لـ PowerShell لـ Hyper-V التي يمكن أن تجعل عملية إدارة Hyper-V سهلة وبسيطة. دعنا نلقي نظرة على كيفية استخدام مختلف أوامر PowerShell لـ Hyper-V.
Get-Command
لنبدأ بأمر PowerShell لـ Hyper-V مفيد للمستخدمين الجدد في PowerShell والذين لا يعرفون الأوامر التي يجب استخدامها وكيفية ذلك. من خلال تشغيل أمر Get-Command، يمكنك رؤية القائمة الكاملة لجميع الأوامر المتاحة (أوامر Windows PowerShell)، والوظائف، والاختصارات المثبتة على الكمبيوتر.
ومع ذلك، إذا كنت ترغب في تحديد نطاق البحث والحصول على قائمة بالأوامر الخاصة بـ Hyper-V PowerShell التي تتطابق مع معايير محددة، يمكنك استخدام cmdlet Get-Command *-VM للعثور على قائمة الأوامر التي تسمح لك بالتحكم وتكوين الآلات الظاهرية.
من خلال تغيير المعلمة VM إلى VHD، يمكنك الحصول على القائمة الكاملة بالأوامر المستخدمة لإدارة الأقراص الظاهرية. بالتالي، يمكنك تجربة مختلف معلمات البحث للحصول على النتائج التي تحتاجها.
Get-Help
بمجرد أن تقرر أي أمر PowerShell Hyper-V تريد استخدامه، يمكنك معرفة المزيد حول ذلك الأمر. لهذا الغرض، يمكنك استخدام cmdlet Get-Help. على سبيل المثال، لمعرفة المزيد عن cmdlet Get-VM، اكتب ما يلي:
Get-Help Get-VM
Get-VM
يسمح أمر PowerShell Get-VM لك برؤية جميع الآلات الظاهرية المتاحة على مضيف Hyper-V واحد أو أكثر. لرؤية جميع الآلات الظاهرية على مضيف Hyper-V المحلي، يجب عليك تشغيل cmdlet Get-VM PowerShell.
على شاشة PowerShell، يمكنك رؤية قائمة الآلات الظاهرية المتاحة، بما في ذلك اسمها، وحالتها، واستخدام وحدة المعالجة المركزية، والذاكرة المخصصة، ووقت التشغيل، والحالة، والإصدار.
Start-VM
هذا الأمر الخاص بـ بدء الآلة الظاهرية يساعدك على بدء تشغيل آلة ظاهرية. لهذا الغرض، قم بتشغيل الأمر الآتي لـ Hyper-V PowerShell:
Start-VM -Name 'Windows Server 2016'
نتيجة لذلك، يتم بدء تشغيل الآلة الظاهرية بالاسم Windows Server 2016 على مضيف Hyper-V المحلي الخاص بك. دعنا نتحقق لنرى ما إذا كانت الآلة الظاهرية قد بدأت فعليًا من خلال تشغيل cmdlet Get-VM.
وبالإضافة إلى ذلك، يمكنك استخدام نسخة معدلة من أمر الـ PowerShell Start-VM لتشغيل الآلات الافتراضية فقط إذا كانت أسماؤها تبدأ بـ Hyper-V:
Start-VM -Name Hyper-V*
كما ترون، تم تشغيل الآلة الافتراضية بالاسم Hyper-V Server Desktop بنجاح. ومع ذلك، تم تشغيل آلة افتراضية أخرى (Hyper-V Server 2012) بالفعل ويقوم PowerShell بإعلامك بذلك.
Stop-VM
يسمح لك أمر Stop-VM بإيقاف تشغيل أو إغلاق الآلة الافتراضية. لهذا الغرض، يمكنك تشغيل الأمر التالي:
Stop-VM -Name 'Windows Server 2016'
كما ترون، تم إغلاق الآلة الافتراضية المحددة بنجاح من خلال نظام التشغيل الضيف.
مثال آخر هو إغلاق الآلات الافتراضية التي تبدأ أسماؤها بـ Hyper-V:
Stop-VM -Name Hyper-V* -TurnOff
إذا وجدت أن الآلة الافتراضية لا تستجيب، يمكنك إجراء إغلاق قسري لها. للقيام بذلك، قم بتشغيل أمر الـ PowerShell التالي:
Stop-VM -Name 'Windows Server 2016' -Force
يرجى ملاحظة أن الإغلاق القسري مشابه لسحب التيار الكهربائي عن الجهاز الفعلي، مما يعني أنه يمكن أن يؤدي إلى فقدان البيانات التطبيقية غير المحفوظة. في هذه الحالة، يُوصى بحفظ الآلة الافتراضية لتجنب فقدان البيانات المحتمل. لهذا الغرض، يجب تشغيل أمر الـ Save-VM وهو يعادل وضع السكون للحاسوب الفعلي:
Save-VM -Name 'Windows Server 2016'
إذا كنت ترغب في حفظ الآلات الافتراضية التي تبدأ أسماؤها بـ Hyper-V، قم بتشغيل الأمر الـ PowerShell التالي في Hyper-V:
Get-VM -Name Hyper-V* | Save-VM
Checkpoint-VM
يساعد أمر Checkpoint-VM في إنشاء نقطة تفتيش لآلة Hyper-V (المعروفة أيضًا باسم لقطة Hyper-V). قم بتشغيل الأمر التالي لإنشاء نقطة تفتيش تسمى Update1 للآلة المحددة (Windows Server 2016):
Checkpoint-VM -Name 'Windows Server 2016' -SnapshotName Update1
للتحقق من أن الآلة الظاهرة قد تم إنشاؤها بنجاح، استخدم الأمر الآتي في PowerShell لـ Hyper-V:
Get-VMSnapshot -VMName 'Windows Server 2016'
من ناحية أخرى، إذا كنت ترغب في حذف بعض النقاط التفتيش لـ Hyper-V، يمكنك استخدام أمر Remove-VMSnapshot. على سبيل المثال، إذا كنا نريد حذف كل نقاط التفتيش التي تبدأ باسم Testing، يجب علينا تشغيل الأمر التالي:
Get-VM 'Hyper-V Server 2012' | Remove-VMSnapshot -Name Testing*
توضح الشاشة الملتقطة أعلاه العملية بأكملها لحذف النقاط التفتيش المحددة لـ Hyper-V.
Test-VHD
هذا الأمر في PowerShell لـ Hyper-V يهدف إلى التحقق من وجود ملف القرص الصلب الافتراضي فعليًا وإمكانية استخدامه لنشر Hyper-V. يكون الأمر على النحو التالي:
Test-VHD -Path C:\Testing.vhd
في حالة كانت مسار VHD صالحًا، سترى الناتج التالي على شاشتك:
لمعرفة المزيد حول إدارة الأقراص الصلبة الافتراضية باستخدام أوامر PowerShell، نوصيك بقراءة مقالنا حول أساسيات العمل مع ملفات Hyper-V VHD و VHDX.
Measure-VM
هذا الأمر في PowerShell لـ Hyper-V يمكنك من جمع بيانات استخدام الموارد لجهاز افتراضي محدد. على سبيل المثال، قم بتشغيل الأمر التالي لمعرفة استخدام وحدة المعالجة المركزية، استخدام الذاكرة العشوائية، سعة القرص، وحركة المرور عبر الشبكة للجهاز الافتراضي بالاسم Windows Server 2016:
Measure-VM -VMName 'Windows Server 2016'
يرجى ملاحظة أن أمر Measure-VM يمكنه تقديم بيانات المطلوبة فقط بعد تمكين قياس الموارد على الجهاز الافتراضي. لتمكين قياس الموارد، استخدم الأمر التالي في PowerShell لـ Hyper-V:
Enable-VMResourceMetering -VMName 'Windows Server 2016'
Get-VMNetworkAdapter
أحد الأوامر المفيدة الأخرى في PowerShell هو Get-VMNetworkAdapter، الذي يسمح لك بتحديد محولات الشبكة الافتراضية للجهاز الافتراضي المحدد. على سبيل المثال، إذا كنت ترغب في العثور على محولات الشبكة الافتراضية لجميع الأجهزة الافتراضية بالإضافة إلى نظام التشغيل للإدارة، يجب عليك تشغيل الأمر التالي في PowerShell لـ Hyper-V:
Get-VMNetworkAdapter -All
إذا كان كل شيء صحيح، يجب أن ترى المعلومات التالية في نافذة PowerShell الخاصة بك:
باستخدام أوامر Hyper-V PowerShell، يمكنك القيام بمهام متنوعة بسيطة ومعقدة مع محولات الشبكة Hyper-V الخاصة بك. تحقق من دليلنا على الأوامر التي يمكن أن تساعد في إدارة وتكوين محولات الشبكة الافتراضية في بيئة Hyper-V الخاصة بك.
Update-VMVersion
PowerShell لديه أمر يسمح لك بتحديث إصدار الآلة الظاهرة المحددة:
Update-VMVersion -Name 'TestVM'
بعد تشغيل أمر Hyper-V PowerShell، يمكن تحديث الآلة الظاهرة بالاسم TestVM إلى الإصدار الحالي للآلة الظاهرة.
Get-Process
يمكن أن يساعدك هذا الأمر Hyper-V PowerShell في رؤية جميع العمليات الحالية على جهاز الكمبيوتر المحلي الخاص بك. بعد تشغيل أمر Get-Process، يمكنك الحصول على المعلومات التالية على شاشتك:
يتضمن هذا الجدول معلومات حول:
- عدد المقابض التي فتحتها العملية
- كمية الذاكرة غير المؤطرة التي تستخدمها العملية
- كمية الذاكرة القابلة للصفحة التي تستخدمها العملية
- حجم مجموعة العمل للعملية
- كمية الذاكرة الظاهرية التي تستخدمها العملية
- كمية وقت المعالجة التي تم تخصيصها لجميع المعالجات
- معرف العملية
- اسم العملية
لتضييق البحث والعثور على عملية محددة، يجب عليك كتابة اسم العملية أو معرفها. على سبيل المثال، إذا كنت ترغب في معرفة كيفية عمل Microsoft Word حاليًا، يجب عليك البحث في قائمة جميع العمليات الجارية والعثور على السطر الذي يحتوي على معلومات حول Microsoft Word (أي WinWord)، بما في ذلك معرف العملية. باستخدام معرف العملية، يمكنك تشغيل الأمر النصي التالي للحصول على البيانات اللازمة:
Get-Process -ID 8892
بالإضافة إلى ذلك، يمكن تقديم البيانات حول عمليات WinWord الحالية بتنسيق آخر، وهو قائمة الخصائص. قم بتشغيل هذا الأمر النصي للحصول على مخرجات مفصلة أكثر:
Get-Process WINWORD | Format-List *
- بعد الحصول على بيانات العملية، يمكنك تشغيل الأوامر النصية التالية:
Stop-Process
يسمح لك بإيقاف عملية أو أكثر جارية.Wait-Process
يسمح لك بالانتظار حتى يتم إيقاف عملية أو أكثر جارية قبل تمكين أي إدخال آخر.Start-Process
يسمح لك بتشغيل عملية أو أكثر على الكمبيوتر المحلي.
Debug-Process
يسمح لك بإرفاق مصحح أخطاء بعملية أو أكثر جارية على الكمبيوتر المحلي.على سبيل المثال، إذا كنت ترغب في تشغيل تطبيق Notepad من PowerShell، يجب عليك تشغيل الأمر النصي التالي:
Start-Process -FilePath "notepad.exe"
على سبيل المثال عندما تقوم بفتح PowerShell في “الوضع العادي”، ولكنك بحاجة إلى تشغيل PowerShell في وضع مرتفع للحصول على حقوق الإدارة. في مثل هذه الحالة، قم بتشغيل الأمر النصي PowerShell التالي:
Start-Process -FilePath "powershell" -Verb RunAs
من ناحية أخرى، إذا توقف أحد العمليات الجارية عن الاستجابة، يمكنك تشغيل أمر Stop-Process لإيقاف التطبيق الفاشل:
Stop-Process -Name "notepad"
في هذه الحالة، يتم إيقاف جميع حالات تطبيق Notepad على الكمبيوتر المحلي.
تمتلك كل حالة Notepad معرف عملية خاص بها. إذا كنت ترغب في إيقاف حالة Notepad معينة، يجب عليك استخدام معلمة الهوية في أمر Stop-Process. لهذا الغرض، تحتاج أولاً إلى تشغيل أمر Get-Process، العثور على العمليات النشطة المطلوبة، وتحديد معرف العملية التي تريد إيقافها.
على سبيل المثال، يمكنك إيقاف عملية Notepad المحددة عن طريق تحديد معرف عمليتها وتشغيل الأمر النصي PowerShell التالي:
Stop-Process -ID 5052
ونتيجة لذلك، يتم إيقاف عملية Notepad المحددة فقط.
تتيح لك هذه الأوامر PowerShell اكتشاف عملية تستهلك موارد غير مرغوب فيها وتقلل من أداء Hyper-V من أجل إنهاء هذه العملية.
Where-Object
هذا الأمر في PowerShell لـ Hyper-V يسمح لك بتصفية كائنات الأنابيب والعثور على البيانات الدقيقة التي تحتاج إليها. في هذه الحالة ، تحتاج إلى إنشاء نص PowerShell تحدد فيه أي كائنات يمكن تمريرها عبر الأنابيب. باستخدام معايير البحث المختلفة ، يمكنك العثور على أي كائن على الكمبيوتر المحلي.
على سبيل المثال ، إذا كنت ترغب في العثور على العمليات التي توقفت عن العمل ، استخدم هذا الأمر:
Get-Service | Where-Object {$_.Status -eq 'Stopped'}
مثال آخر على استخدام أمر Where-Object هو عندما تريد العثور على أمر محدد. يمكن أن يساعدك الأمر في PowerShell لـ Hyper-V التالي على العثور على جميع الأوامر التي تبدأ بـ Wait:
Get-Command | Where-Object {$_.Name -like '*wait*'}
يمكن أن يساعد الأمر القادم Where-Object على العثور على عملية معينة بناءً فقط على اسمها. بتشغيل الأمر التالي ، يمكنك الحصول على قائمة بجميع العمليات التي تبدأ أسماؤها بـ sys:
Get-Process | Where-Object {$_.ProcessName -Match "^sys.*"}
كيفية إنشاء جهاز افتراضي في Hyper-V باستخدام PowerShell
أحد الميزات المدمجة القوية في Hyper-V هو السماح باستخدام PowerShell لعمليات الإدارة. من بين الأشياء العديدة التي يمكننا القيام بها باستخدام PowerShell في Hyper-V هو إنشاء الأجهزة الافتراضية. دعنا نلقي نظرة على مجموعة من أوامر PowerShell لـ Hyper-V لإنشاء أجهزة افتراضية جديدة.
أوامر PowerShell لإنشاء جهاز افتراضي جديد.
لإنشاء جيل 2 VM جديد مع قرص صلب VHDX جديد بحجم 60 غيغابايت وربطه بمفتاح افتراضي معين (في هذه الحالة “ExternalSwitch”)، قم بتشغيل الأوامر الخاصة بـ PowerShell التالية على جهاز Hyper-V الخاص بك.
-
إنشاء VM:
new-vm -Name "WSTEST" -MemoryStartupBytes 2GB -Generation 2 -NewVHDPath "D:\hyper-v\virtualhard disks\WSTEST.vhdx" -NewVHDSizeBytes 60000000000 -Switchname "ExternalSwitch"
-
لإضافة محرك أقراص DVD مع صورة ISO للتمهيد منها، يمكننا تشغيل الأوامر الإضافية:
Add-vmscsicontroller -vmname WSTEST
Add-vmdvddrive -vmnname WSTEST -controllernumber 1 -controllerlocation 0 -path D:\ISO\my.iso
-
إذا أردنا إنشاء قرص بحجم ثابت وربطه بجهاز الظاهرية الخاص بنا، يمكننا تشغيل الأمر التالي لإنشاء VHDX بحجم ثابت وربطه بجهاز الظاهرية الخاص بنا:
new-vhd -path "d:\hyper-v\virtual hard disks.wstest.vhdx" -sizebytes 60GB -fixed
add-vmharddiskdrive -vmname WSTEST -path "d:\hyper-v\virtual hard disks\wstest.vhdx"
الختام
قد يبدو PowerShell مربكًا في البداية، لكن بمجرد أن تتعلم كيفية التعامل معه، يمكنك سرعان ما اكتشاف كيفية استخدام أوامر Hyper-V PowerShell وتبسيط الإدارة في بيئتك Hyper-V. فقط تذكر أنه بغض النظر عما تستخدم لإدارة جهاز الظاهرية الخاص بك، يجب عليك إنشاء نسخ احتياطية لتجنب فقدان البيانات وتوقف التشغيل.
NAKIVO Backup & Replication هو حلاً موثوقًا وقويًا لحماية البيانات، والذي يمكن أن يساعدك في حماية بيئات VMware، Hyper-V، Nutanix، AWS EC2، Linux، Windows، و Microsoft 365.
Source:
https://www.nakivo.com/blog/essential-hyper-v-powershell-commands/