- A Windows client to connect to a remote Hyper-V host. This tutorial uses Windows 10 Pro.
- A Hyper-V host with PowerShell Remoting enabled. The tutorial’s Hyper-V host is named HYPER and is in a workgroup but an Active-Directory joined client and host will work as well.
- A user account on the Hyper-V host in the local administrators group or in the Hyper-V Administrators group. This tutorial will use an account called localadmin.
إذا كنت تستخدم منصة الافتراض الافتراضية Hyper-V التابعة لشركة Microsoft لتشغيل الآلات الظاهرية، فمن المحتمل أنك تكون على دراية باستخدام Hyper-V Manager. ولكن هل كنت تعلم أنه يمكنك القيام بالمزيد في وقت أقل باستخدام وحدة التحكم Hyper-V PowerShell؟ في هذا البرنامج التعليمي، ستتعلم كيفية إدارة آلات الظاهرية في Hyper-V باستخدام PowerShell، بما في ذلك إنشاءها وإزالتها، وستتناول أيضًا لقطات الآلة الظاهرية! لهذا البرنامج التعليمي، ستحتاج إلى ما يلي أدناه: للعمل مع Hyper-V على PowerShell، يجب أن تكون قادرًا على التواصل مع مضيف Hyper-V بطريقة ما. يمكنك القيام بذلك إما محليًا عن طريق تشغيل أوامر Hyper-V PowerShell cmdlets وتقديم اسم مضيف Hyper-V أو يمكنك استخدام PowerShell Remoting للاتصال بمضيف Hyper-V نفسه. في هذا البرنامج التعليمي، ستقوم بإجراء اتصال دائم مع مضيف Hyper-V وتشغيل الأوامر على مضيف Hyper-V نفسه. 1. افتح PowerShell على جهاز الكمبيوتر المحلي الخاص بك.
2. قم بتشغيل أمر Enter-PSSession
وحدد اسم الجهاز المضيف لخادم Hyper-V البعيد لمعلمة ComputerName
. يؤدي هذا الإجراء إلى إنشاء جلسة تفاعلية ويسمح لك بتشغيل الأوامر بشكل تفاعلي على خادم Hyper-V البعيد.
إذا كان العميل الخاص بك وخادم Hyper-V هما عضوين في نفس مجال Active Directory، فليس عليك استخدام معلمة
Credential
.
3. سيُطلب منك بعد ذلك اسم مستخدم وكلمة مرور للاتصال بخادم Hyper-V. سيكون هذا الاسم وكلمة المرور مستخدمًا إداريًا محليًا على الجهاز البعيد. بمجرد الاتصال، يجب أن ترى موجه PowerShell الخاص بك قد تغير ليظهر اسم مضيف خادم Hyper-V.
أنت الآن جاهز لبدء تشغيل الأوامر!
إنشاء VMs Hyper-V باستخدام PowerShell
في افتراض أنك الآن متصل بمضيف Hyper-V الخاص بك باستخدام PowerShell Remoting، دعنا نبدأ في تشغيل الأوامر عن طريق إنشاء VM Hyper-V.
إنشاء VM بسيطة
أثناء جلسة PSRemoting الخاصة بك المتصلة بخادم Hyper-V البعيد:
قم بتشغيل أمر New-VM
لإنشاء VM جديدة. عند إنشاء VM باستخدام أمر New-VM
، لديك العديد من الخيارات المختلفة للاختيار من بينها حول كيفية إنشائها.
1. في هذا المثال أدناه، يتم إنشاء VM بـ:
- A name of MyVM (
HYPER
) - 512MB من ذاكرة الوصول العشوائي (
MemoryStartupBytes
)

إنشاء VM استنادًا إلى سمات VM أخرى
أحيانًا تحتاج إلى إنشاء آلة افتراضية بخصائص مماثلة لآلة افتراضية أخرى. يمكنك القيام بذلك ولكن قم بتخصيص متغيرات لمختلف خصائص الآلة الافتراضية ثم استخدم تلك المتغيرات عند إنشاء الآلة الجديدة. كمثال:
1. قم بتشغيل Get-VM
للاستعلام عن خصائص آلة افتراضية موجودة وقم بتخصيص الناتج إلى متغير كما هو موضح أدناه.
2. قم بتشغيل cmdlet Get-VMMemory
بتوفير اسم الآلة الافتراضية لجمع الخصائص منها (في هذه الحالة، الذاكرة) وقم بتخصيص قيمة الذاكرة إلى متغير.

3. بعد ذلك، قم بإنشاء آلة افتراضية جديدة باستخدام cmdlet New-VM
بتوفير Name
، وجيل الآلة الافتراضية (Generation
) باستخدام خاصية Generation
من الآلة الأخرى، وكمية الذاكرة من القيمة المحصلة من الآلة الأخرى.
عرض الآلات الافتراضية الموجودة باستخدام PowerShell
الآن بعد أن قمت بإنشاء ما لا يقل عن آلتين على مضيف Hyper-V، دعونا استكشاف كيفية تعداد الآلات الافتراضية المنشأة. للقيام بذلك:

1. قم بتشغيل cmdlet Get-VM
بمفرده. عند تشغيله بدون معلمات، يقوم Get-VM
بالاستعلام عن مضيف Hyper-V لجميع الآلات الافتراضية الموجودة.

2. ربما ترغب في البحث عن آلة افتراضية واحدة فقط. في هذه الحالة، استخدم المعلمة -Name
. يقوم الأمر بالاستعلام عن Hyper-V للآلة التي تم إنشاؤها سابقًا بالاسم HYPER_old
. Get-VM -Name HYPER_old
State
معينة. لا مشكلة. للقيام بذلك، قم بتشغيل Get-VM
، الذي يستعلم عن جميع الآلات الافتراضية ولكن قم بتوجيه الناتج إلى cmdlet Where-Object
.
في المثال أدناه، يقوم الرمز ‘|’ بتحديد إخراج Get-VM
للكائنات النمطية فقط بحالة Running
. Get-VM -VMName HYPER_old | Where-Object {$_.State -eq 'Running'}

بدء تشغيل وإيقاف تشغيل الآلات الظاهرية
في هذا الوقت، من المحتمل أن تكون الآلة الظاهرية التي تم إنشاؤها متوقفة. دعنا نغير ذلك ببدء تشغيلها ثم نتعلم كيفية إيقاف تشغيل الآلات الظاهرية أيضًا.
في جلسة PowerShell لخادم Hyper-V عن بُعد:
1. قم بتشغيل الأمر Start-VM
مع توفير اسم (Name
) الآلة الظاهرية التي تم إنشاؤها سابقًا باستخدام المعلمة -Name

الآن بعد أن تم بدء تشغيل الآلة الظاهرية، قم بإيقافها باستخدام الأمر Stop-VM
مع توفير اسم الآلة الظاهرية باستخدام المعلمة Name
.
بمجرد تنفيذ الأمر أعلاه، سترى الآلة الظاهرية تُغلق كما هو موضح في لقطة الشاشة أدناه؛

تعديل آلات Hyper-V
لا تبقى الآلات الظاهرية دائمًا على حالتها. ربما تحتاج إلى زيادة موارد وحدة المعالجة المركزية، أو أن الآلة الظاهرية تنفد ذاكرة بشكل مستمر. في هذه الحالة، فإن أمر Set-VM
هو صديقك.
كمثال على تعديل الآلات الظاهرية الحالية، في جلسة PowerShell لخادم Hyper-V عن بُعد:
تشغيل أمر الـ `Set-VM
` لإيقاف تشغيل الآلة الظاهرة حاليًا والتي تحمل اسم HYPER_old بشكل تلقائي. استخدم المعامل `Name
` لتحديد الآلة الظاهرة التي تريد تعيينها وحدد `Shutdown
` كقيمة للمعامل `AutomaticStopAction
` لضمان إيقاف تشغيل الآلة بشكل تلقائي عند إيقاف تشغيل مضيف Hyper-V.
حفظ آلات Hyper-V
في جلسة PowerShell البعيدة لمضيف Hyper-V، قد تحتاج إلى حفظ الآلة التي تقوم بإنشائها للحفاظ على حالة ذاكرة الآلة للاستخدام في وقت لاحق. للقيام بذلك، استخدم أمر `Save-VM
` مع معامل `Name
` لتحديد اسم الآلة التي تريد حفظها.
يرجى ملاحظة أن الآلة التي تريد حفظها يجب أن تكون في حالة تشغيل.

إدارة نقاط فحص Hyper-V VM
إذا كنت بحاجة إلى حفظ الحالة الحالية لآلة افتراضية قبل إجراء تغييرات أو التراجع عن تغييرات الآلة الظاهرة، يجب أن تتعرف على نقاط الفحص. نقاط الفحص هي وسيلة مفيدة لحفظ الحالة الحالية للقرص وحالة الذاكرة لأي آلة افتراضية Hyper-V.
أثناء وجودك على مضيف Hyper-V الخاص بك، قم بتشغيل أمر `Checkpoint-VM
`، وقدم اسم الآلة الظاهرة لحفظها واسمًا للنقطة.
اسم المعامل، `
SnapshotName
`، يستمر في الإشارة إلى المصطلحات القديمة المستخدمة في Hyper-V 2012. النقطة هي نفس الشيء كما هو الحال مع نقطة الفحص.

بمجرد إنشاء نقطة فحص، يمكنك استخدام الأمر Get-VMSnapshot
لاسترداد جميع اللقطات المخزنة على مضيف Hyper-V. يمكنك أن ترى أدناه أن الآلة الظاهرية HYPER_old لديها ثلاث نقاط فحص.

الاستنتاج
إذا كنت قد عملت من خلال جميع العروض التوضيحية في هذا البرنامج التعليمي، فأنت على الطريق الصحيح لإدارة آلات Hyper-V باستخدام PowerShell. يجب أن تكون الآن لديك المعرفة اللازمة لإدارة 1، 10، أو حتى 100 آلة افتراضية!
أي نوع من المهام تعتقد أنه يمكنك الآن تلقينه بواسطة PowerShell و Hyper-V؟