الوحدة النمطية لـ Hyper-V PowerShell: القيام بالمزيد من الأشياء

  • 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 البعيد.

Enter-PSSession -ComputerName HYPER -Credential (Get-Credential)

إذا كان العميل الخاص بك وخادم 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)
New-VM -Name "HYPER" -MemoryStartupBytes 512MB
New VM named “HYPER”

إنشاء VM استنادًا إلى سمات VM أخرى

أحيانًا تحتاج إلى إنشاء آلة افتراضية بخصائص مماثلة لآلة افتراضية أخرى. يمكنك القيام بذلك ولكن قم بتخصيص متغيرات لمختلف خصائص الآلة الافتراضية ثم استخدم تلك المتغيرات عند إنشاء الآلة الجديدة. كمثال:

$VMold = Get-VM "HYPER_old"

1. قم بتشغيل Get-VM للاستعلام عن خصائص آلة افتراضية موجودة وقم بتخصيص الناتج إلى متغير كما هو موضح أدناه.

$memory = (Get-VMMemory -VMName $VMold.name).Startup

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

New-VM -Name "newVM" -Generation $VMold.Generation -MemoryStartupBytes $memory
New VM created from Old existing VM

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

عرض الآلات الافتراضية الموجودة باستخدام PowerShell

الآن بعد أن قمت بإنشاء ما لا يقل عن آلتين على مضيف Hyper-V، دعونا استكشاف كيفية تعداد الآلات الافتراضية المنشأة. للقيام بذلك:

Get-VM
Output of Get-VM run with no Parameters

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

Get-VM -Name HYPER_old
Output of Get-VM run with the -Name Parameter

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'}

Get-VM -VMName HYPER_old | Where-Object {$_.State -eq 'Running'}
Output of Get-VM filtering out the VM with the state of Running

بدء تشغيل وإيقاف تشغيل الآلات الظاهرية

في هذا الوقت، من المحتمل أن تكون الآلة الظاهرية التي تم إنشاؤها متوقفة. دعنا نغير ذلك ببدء تشغيلها ثم نتعلم كيفية إيقاف تشغيل الآلات الظاهرية أيضًا.

في جلسة PowerShell لخادم Hyper-V عن بُعد:

1. قم بتشغيل الأمر Start-VM مع توفير اسم (Name) الآلة الظاهرية التي تم إنشاؤها سابقًا باستخدام المعلمة -Name

Start-VM -Name NewVM
The Start-VM command starting the VM named HYPER_old

الآن بعد أن تم بدء تشغيل الآلة الظاهرية، قم بإيقافها باستخدام الأمر Stop-VM مع توفير اسم الآلة الظاهرية باستخدام المعلمة Name.

Stop-VM -Name HYPER_old

بمجرد تنفيذ الأمر أعلاه، سترى الآلة الظاهرية تُغلق كما هو موضح في لقطة الشاشة أدناه؛

Stop-VM stopping the HYPER_old VM

تعديل آلات Hyper-V

لا تبقى الآلات الظاهرية دائمًا على حالتها. ربما تحتاج إلى زيادة موارد وحدة المعالجة المركزية، أو أن الآلة الظاهرية تنفد ذاكرة بشكل مستمر. في هذه الحالة، فإن أمر Set-VM هو صديقك.

كمثال على تعديل الآلات الظاهرية الحالية، في جلسة PowerShell لخادم Hyper-V عن بُعد:

تشغيل أمر الـ `Set-VM` لإيقاف تشغيل الآلة الظاهرة حاليًا والتي تحمل اسم HYPER_old بشكل تلقائي. استخدم المعامل `Name` لتحديد الآلة الظاهرة التي تريد تعيينها وحدد `Shutdown` كقيمة للمعامل `AutomaticStopAction` لضمان إيقاف تشغيل الآلة بشكل تلقائي عند إيقاف تشغيل مضيف Hyper-V.

Set-VM -Name HYPER_old -AutomaticStopAction Shutdown

حفظ آلات Hyper-V

في جلسة PowerShell البعيدة لمضيف Hyper-V، قد تحتاج إلى حفظ الآلة التي تقوم بإنشائها للحفاظ على حالة ذاكرة الآلة للاستخدام في وقت لاحق. للقيام بذلك، استخدم أمر `Save-VM` مع معامل `Name` لتحديد اسم الآلة التي تريد حفظها.

يرجى ملاحظة أن الآلة التي تريد حفظها يجب أن تكون في حالة تشغيل.

Save-VM -Name HYPER_old
Save-VM cmdlet saving HYPER_old VM state.

إدارة نقاط فحص Hyper-V VM

إذا كنت بحاجة إلى حفظ الحالة الحالية لآلة افتراضية قبل إجراء تغييرات أو التراجع عن تغييرات الآلة الظاهرة، يجب أن تتعرف على نقاط الفحص. نقاط الفحص هي وسيلة مفيدة لحفظ الحالة الحالية للقرص وحالة الذاكرة لأي آلة افتراضية Hyper-V.

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

اسم المعامل، `SnapshotName`، يستمر في الإشارة إلى المصطلحات القديمة المستخدمة في Hyper-V 2012. النقطة هي نفس الشيء كما هو الحال مع نقطة الفحص.

Checkpoint-VM -Name HYPER_old -SnapshotName MyVMSnapshot
Using Checkpoint-VM to create a Snapshot of HYPER_old VM called MyVMSnapshot

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

Get-VMSnapshot -VMName HYPER_old
Retrieves all the Snapshots stored for HYPER_old VM

الاستنتاج

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

أي نوع من المهام تعتقد أنه يمكنك الآن تلقينه بواسطة PowerShell و Hyper-V؟

Source:
https://adamtheautomator.com/hyper-v-powershell/