אם אתה משתמש בפלטפורמת הווירטואליזציה Hyper-V של Microsoft להרצת מכונות וירטואליות, ייתכן ואתה מכיר את Hyper-V Manager. אך האם אתה יודע שאפשר לבצע יותר בפחות זמן עם מודול הפווֹרְשֵׁל PowerShell של Hyper-V?
במדריך זה, תלמד איך לנהל מכונות וירטואליות של 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 רחוק
כדי לעבוד עם Hyper-V באמצעות PowerShell, עליך להיות מסוגל לתקשר עם מארח Hyper-V בכל דרך שהיא. אתה יכול לעשות זאת מקומית על ידי הפעלת פקודות הפווֹרְשֵׁל של Hyper-V וספק את שם המארח Hyper-V, או שאתה יכול להשתמש בפווֹרְשֵׁל רימוטינג של PowerShell להתחברות למארח Hyper-V ישירות.
במדריך זה, תקיים חיבור יציב למארח Hyper-V ותפעיל את הפקודות ישירות על מארח Hyper-V עצמו.
1. פתח את PowerShell על המחשב המקומי שלך.
2. הרץ את הפקודה Enter-PSSession
וספק את שם המחשב של המארח Hyper-V המרוחק שלך לפרמטר ComputerName
. פעולה זו תיצור מהלך פעולה אינטראקטיבי ותאפשר לך להריץ פקודות באופן אינטראקטיבי על המארח Hyper-V המרוחק.
אם הלקוח שלך והמארח של Hyper-V הם חלק מאותו תחום של Active Directory, אין צורך להשתמש בפרמטר
Credential
.
3. כעת תתבקש לספק שם משתמש וסיסמה כדי להתחבר למארח Hyper-V. שם המשתמש והסיסמה הם משתמש מנהל מקומי בשרת המרוחק. לאחר התחברות, תראה שהפרומט של פקודת הפוורשל שלך שונה להצגת שם המארח של Hyper-V.
כעת אתה מוכן להתחיל להריץ פקודות!
יצירת מכונות Hyper-V בעזרת PowerShell
הננו מניחים שאתה מחובר כעת למארח Hyper-V שלך באמצעות PowerShell Remoting, בוא נתחיל להריץ פקודות על ידי יצירת מכונת Hyper-V.
יצירת מכונה פשוטה
כאשר אתה במסגרת ההתחברות שלך למארח המרוחק של Hyper-V:
הרץ את הפקודה New-VM
כדי ליצור מכונה חדשה. בעת יצירת מכונה עם הפקודה New-VM
, יש לך אפשרויות שונות לבחירה באופן היצירה שלה.
1. בדוגמה הבאה, ההדרכה יוצרת מכונה עם:
- A name of MyVM (
HYPER
) - 512 מגה-בתים של זכרון (
MemoryStartupBytes
)

יצירת מכונה בהתבסס על מאפייני מכונה אחרת
לפעמים עליך ליצור מכונה וירטואלית עם תכונות דומות למכונה וירטואלית אחרת. באפשרותך לעשות זאת על ידי הקצאת תכונות שונות של מכונה וירטואלית למשתנים ואז להשתמש באותם משתנים בעת יצירת המכונה הווירטואלית החדשה. כדוגמת:
1. הרץ את Get-VM
כדי לשאול את התכונות של מכונה וירטואלית קיימת והקצה את הפלט למשתנה כפי שמוצג למטה.
2. הרץ את פקודת ה-cmdlet Get-VMMemory
על ידי ספק את שם המכונה הווירטואלית לאיסוף התכונות ממנה (במקרה זה, זיכרון), והקצה את ערך הזיכרון למשתנה.
3. לאחר מכן, צור מכונה וירטואלית חדשה עם פקודת ה-cmdlet New-VM
על ידי ספק את ה-Name
, דור ה-VM (Generation
) באמצעות התכונה Generation
מהמכונה האחרת, וכמות הזיכרון מהערך שנרכש מהמכונה האחרת.

רשימת מכונות וירטואליות קיימות באמצעות PowerShell
עכשיו שיש לך לפחות שתי מכונות וירטואליות שנוצרו על מארח Hyper-V בואו נבדוק איך לרשום את המכונות וירטואליות שנוצרו. כדי לעשות זאת:
1. הרץ את פקודת ה-cmdlet Get-VM
לבדה. כאשר אתה מפעיל את הפקודה ללא פרמטרים, Get-VM
שואל את מארח ה-Hyper-V על כל המכונות וירטואליות הקיימות. Get-VM

2. אולי תרצה לחפש רק אחת מהמכונות וירטואליות. במקרה כזה, השתמש בפרמטר -Name
. הפקודה למטה מחפשת ב-Hyper-V את המכונה וירטואלית שנוצרה קודם בשם HYPER_old
. Get-VM -Name HYPER_old

באופן כללי, אולי תצטרך למצוא את כל המכונות וירטואליות שנמצאות במצב מסוים. אין בעיה. כדי לעשות זאת, הרץ את Get-VM
, ששואל את כל המכונות וירטואליות אך מפנה את הפלט ל-pipe של Where-Object
cmdlet.
בדוגמה למטה, הסימן שובץ '|' מגביל את הפלט של Get-VM
לאובייקטים של מכונות וירטואליות עם State
של Running
. Get-VM -VMName HYPER_old | Where-Object {$_.State -eq 'Running'}

התחלה ועצירת מכונות וירטואליות
בזמן זה, ייתכן שהמכונה הווירטואלית שנוצרה לך מופסקת. בוא נשנה את זה ואז נלמד איך לעצור גם מכונות וירטואליות.
בפקודות PowerShell של השרת המרוחק של Hyper-V:
1. הפעל את הפקודה Start-VM
ותן לה את שם (Name
) של המכונה הווירטואלית שנוצרה לך קודם בפרמטר -Name

עכשיו שהמכונה הווירטואלית הופעלה, עצור אותה באמצעות הפקודה Stop-VM
וספק את שם המכונה בפרמטר Name
.
כשאתה מפעיל את הפקודה למעלה, תראה את המכונה הווירטואלית נכבית כפי שמוצג בצילום המסך למטה;

שינוי במכונות וירטואליות של Hyper-V
מכונות וירטואליות לא תמיד נשמרות כפי שהן. אולי יש צורך להגדיל משאבי ה- CPU, או שהם תדירות נחלשות בזכרון. במקרה כזה, הפקודה Set-VM
היא ידידך.
כדוגמת שינוי במכונות וירטואליות קיימות, בפקודות PowerShell של השרת המרוחק של Hyper-V:
הריץ את הפקודה Set-VM
כדי לכבות באופן אוטומטי את ה-VM של HYPER_old שפועלת כעת. השתמש בפרמטר Name
כדי לציין את ה-VM שברצונך להגדיר וציין את Shutdown
כערך עבור הפרמטר AutomaticStopAction
כדי לוודא שה-VM תיכבה באופן אוטומטי בצורה תקינה כאשר המארח של Hyper-V כבוי.
שמירת VMs של Hyper-V
בשיחת הפווערשל של מארח ה- Hyper-V המרוחק, עשויים להיות צורך לשמור את ה- VM שאתה יוצר כדי לשמור על מצב הזיכרון של ה- VM לשימוש מאוחר יותר. כדי לעשות זאת, השתמש בפקודת ה- Save-VM
עם הפרמטר Name
שמציין את שם ה- VM שברצונך לשמור עליו.
שים לב כי, ה- VM שברצונך לשמור חייבת להיות במצב ריצה.

ניהול נקודות בדיקה של VMs של Hyper-V
אם יש צורך לשמור את המצב הקיים של VM לפני לעשות שינויים או להחזיר שינויים של VM, עליך ללמוד על נקודות בדיקה. נקודות בדיקה הן אופן נוח לשמור מהר על מצב הדיסק והזיכרון של כל VM של Hyper-V.
בעת הפעלתך על מארח ה- Hyper-V שלך, הפעל את פקודת ה- Checkpoint-VM
, וציין את שם ה- VM לשמירה ושם עבור הנקודה.
שם הפרמטר,
SnapshotName
עדיין מתייחס למונחים הישנים שנעשה בהם שימוש ב- Hyper-V 2012. נקודת צילום היא אותו הדבר כמו נקודת בדיקה.

כאשר יש לך נקודת בקרה שנוצרה, באפשרותך להשתמש ב־Get-VMSnapshot
cmdlet כדי לאחזר את כל הנקודות המאוחסנות במארח ה-Hyper-V. תוכל לראות מתחת שה-VM HYPER_old יש לו שלוש נקודות בקרה.

מסקנה
אם עברת דרך כל הדפסים במדריך זה, אתה בדרך הנכונה לניהול של מכונות וירטואליות של Hyper-V באמצעות PowerShell. כעת אמור לך יש היכולת לנהל 1, 10, או אפילו 100 מכונות וירטואליות!
עם אילו משימות אתה חושב שאתה יכול לאוטומטז בעזרת PowerShell ו-Hyper-V?