ניהול סביבות Hyper-V יכול להיות משימה מאתגרת. לכן, נדרש כלי ניהול עוצמתי כדי להגדיר ולשלוט בתשתיות הווירטואליות ממרכז אחד. בנוסף לממשק משתמש גרפי, Hyper-V מספק ממשק שורת פקודה באמצעות PowerShell עבור ניהול Hyper-V.
בפוסט הבלוג הזה, אנו מתארים כיצד PowerShell פועל, אילו פקודות Hyper-V PowerShell יכולות לשפר ביצועי מכונת הוירטואל (VM), וכיצד כלי CLI זה יכול לפשט משמעותית את תהליך ניהול Hyper-V.
מהו PowerShell?
PowerShell הוא מסגרת אוטומציה של משימות וניהול תצורה שפותחה על ידי Microsoft, שכוללת מסך שורת פקודה ושפת תסריטות משויכת הנבנית על גבי ה-Framework של .NET ו-.NET Core.
פקודות PowerShell, הידועות גם כ-cmdlets, ניתן להשתמש בהן לאוטומציה של מגוון משימות על ידי איחוד מספר cmdlets בתסריט PowerShell יחיד. Microsoft פיתחה יותר ממאה פקודות יסודיות של PowerShell שניתן להשתמש בהן לביצוע משימות מורכבות ופשוטות כאחד.
מה יכול PowerShell לעשות?
PowerShell יכול לסייע למנהלי Hyper-V לאוטומטיז מהירות משימות שמנהלות מערכות הפעלה (Linux, macOS ו-Windows) ותהליכים קשורים. בניגוד לכלים GUI, PowerShell מאפשר לך לנהל את כל המערכת באמצעות שורת הפקודה בלבד.
ועוד, ניתן לשמור פקודות Hyper-V PowerShell נדרשות בקובץ טקסט (עם סיומת.ps1) ולהריץ את התסריט הזה כדי לבצע משימות מסוימות. מה שעוד יותר, ניתן לתזמן תסריטי PowerShell לריצה בזמן קבוע באמצעות מתזמן המשימות.
כיצד לפתוח את PowerShell
ישנם כמה דרכים שבהן ניתן להפעיל PowerShell ב-Hyper-V. דרך פשוטה לגישה ל-PowerShell היא להתחבר ישירות לשרת Hyper-V ולהפעיל אותו משם. כדי להתחבר מרחוק למארח Hyper-V, עלינו לוודא ש-Remote Desktop מופעל. לאחר ש-Remote Desktop מופעל, אנו יכולים להשתמש בכלי Remote Desktop ולהתחבר מרחוק לשרת כפי שנעשה עם כל ממשק משתמש גרפי של Windows Server.
פתיחת PowerShell מהממשק הגרפי
- כדי לפתוח את PowerShell במערכת ההפעלה המבוססת על ממשק גרפי, עקוב אחר השלבים הבאים:עליך ללחוץ על התחל ולהקליד PowerShell בסרגל החיפוש.
- לחץ על סמל ה-PowerShell ובחר הפעל כמנהל כדי לפתוח את PowerShell במצב מגבוה.
פתיחת PowerShell מהשורת פקודה
כדי להפעיל את PowerShell אם אתה מפעיל את Windows Server Core או Hyper-V Server, עקוב אחר השלבים הבאים:
- הקלד PowerShell בפקודת הפתיחה ולחץ Enter.
- 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 רחוק
באמצעות PowerShell, ניתן גם לפעול באופן מרוחק עם Hyper-V. במילים אחרות, ניתן לבצע פקודות PowerShell באופן מרוחק על המארח של Hyper-V ללא קשר שולחן עבודה רחוק.
מעבר לתחנת ניהול מנהלים בה יש טכנולוגיות ניהול של Hyper-V טענו, ניתן להפעיל את פקודות ה-Hyper-V שלנו. תחילה, עלינו להתקין את הכלים של Hyper-V, כולל הפקודות הללו (cmdlets).
Install-WindowsFeature RSAT-Hyper-V-Tools
לאחר שהכלים טעונים, ניתן להפעיל סוגי פקודות דומות באמצעות פרמטר ה־-computername שמצביע לשרת ה-Hyper-V שלנו כמו בתמונת המסך למטה. אנו מעבירים את שם המארח שלנו לפקודת ה־get-vm של PowerShell.
12 פקודות PowerShell חיוניות של Hyper-V
קיימות מספר פקודות PowerShell של Hyper-V היעילות שיכולות להפוך את תהליך הניהול של Hyper-V לקל ופשוט. בואו נסתכל על איך ניתן להשתמש בפקודות שונות של PowerShell של Hyper-V.
Get-Command
בואו נתחיל עם פקודת PowerShell של Hyper-V שמועילה למשתמשים חדשים ב-PowerShell שלא מכירים אילו cmdlets צריך להשתמש וכיצד. על ידי הפעלת פקודת ה-cmdlet Get-Command, ניתן לראות את הרשימה המלאה של כל ה-cmdlets הזמינים (פקודות PowerShell של Windows), פונקציות וקיצורי דרך המותקנים במחשב.
אם ברצונך להגביל את החיפוש ולקבל את רשימת פקודות הפווער-שליטה של Hyper-V המתאימות לקריטריונים מסוימים, תוכל להשתמש בפקודת ה-Get-Command *-VM כדי למצוא את רשימת הפקודות שמאפשרות לך לשלוט ולהגדיר מכונות וירטואליות.
על ידי שינוי הפרמטר VM ל-VHD, תוכל לקבל את רשימת הפקודות המלאה המשמשות לניהול דיסקים קשיחים וירטואליים. לכן, תוכל לנסות פרמטרים שונים כדי לקבל את התוצאות שאתה זקוק להן.
Get-Help
לאחר שהחלטת על פקודת הפווער-שליטה של Hyper-V שברצונך להשתמש בה, תוכל ללמוד עוד על הפקודה הזו. למטרה זו, תוכל להשתמש בפקודת ה-Get-Help. לדוגמה, כדי לקבל מידע נוסף על פקודת ה-Get-VM, יש להקליד את הפקודה הבאה:
Get-Help Get-VM
Get-VM
פקודת ה-PowerShell Get-VM מאפשרת לך לראות את כל המכונות הווירטואליות הזמינות על מארח אחד או יותר של Hyper-V. כדי לראות את כל המכונות הווירטואליות על מארח ה-Hyper-V המקומי, יש להפעיל את פקודת ה-PowerShell Get-VM.
על מסך ה-PowerShell, תוכל לראות את רשימת המכונות הווירטואליות הזמינות, כולל שמן, מצב, שימוש במעבד, זיכרון שהוקצה, זמן פעילות, מצב וגרסה.
Start-VM
פקודת ה-PowerShell המסוימת הזו להתחלת מכונה וירטואלית. למטרה זו, יש להפעיל את פקודת ה-PowerShell של Hyper-V הבאה:
Start-VM -Name 'Windows Server 2016'
כתוצאה, המכונה הווירטואלית בשם Windows Server 2016 מופעלת על מארח ה-Hyper-V המקומי שלך. בוא נבדוק כדי לראות האם המכונה הופעלה בפועל על ידי הפעלת פקודת ה-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 מסייעת ביצירת Checkpoint ל-MV של Hyper-V (נקרא גם צילום Hyper-V). הריצו את הפקודה הבאה כדי ליצור צ'קפוינט בשם Update1 של ה-VM המסוימת (Windows Server 2016):
Checkpoint-VM -Name 'Windows Server 2016' -SnapshotName Update1
כדי לוודא שה-VM נוצר בהצלחה, השתמשו בפקודת PowerShell של Hyper-V הבאה:
Get-VMSnapshot -VMName 'Windows Server 2016'
מאידך, אם ברצונכם למחוק צילומי Hyper-V מסוימים, תוכלו להשתמש בפקודת Remove-VMSnapshot. לדוגמה, אם ברצונכם למחוק את כל הצילומים של ה-VM שמסתיימים בשם 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, אנו ממליצים לקרוא את פוסט הבלוג שלנו על יסודות העבודה עם קבצי VHD ו-VHDX ב-Hyper-V.
Measure-VM
הפקודה של PowerShell הזו מאפשרת לך לאסוף נתוני יעילות משאבים עבור מכונת וירטואלית מסוימת. לדוגמה, הפעל את הפקודה הבאה כדי ללמוד על שימוש במעבד, שימוש בזיכרון, קיבולת הדיסק ותעבורת הרשת עבור המכונה הוירטואלית בשם 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 שלך. בדוק את המדריך שלנו על פקודות ה-cmdlets שיכולות לעזור לך לנהל ולהגדיר מתאמי רשת וירטואליים בסביבת ה-Hyper-V שלך.
Update-VMVersion
PowerShell מציע פקודה שמאפשרת לך לעדכן את גרסת ה-VM שנבחרה:
Update-VMVersion -Name 'TestVM'
לאחר הרצת הפקודה של Hyper-V PowerShell, ה-VM ששמה TestVM תוכל להיות מעודכנת לגרסה הנוכחית של VM.
Get-Process
פקודה זו של Hyper-V PowerShell יכולה לעזור לך לראות את כל התהליכים הנוכחיים במחשב המקומי שלך. לאחר הרצת ה-fkGet-Processקוד של 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"
< Ivrit >
Start-Process -FilePath "powershell" -Verb RunAs
Stop-Process -Name "notepad"
זה יעצור את כל ה인스턴סים של הapplication Notepad במחשב המקומי.
Get-Process
Stop-Process -ID 5052
זה יסתיר רק התהליך הנבחר של Notepad.
Where-Object
הפקודה הזו של Hyper-V PowerShell מאפשרת לך לסנן אובייקטים בצינור ולמצוא את הנתונים המדויקים שאתה זקוק אליהם. במקרה זה, עליך ליצור סקריפט של PowerShell שבו תציין אילו אובייקטים יכולים לעבור לאורך הצינור. באמצעות מספר קריטריונים חיפוש שונים, תוכל למצוא כל אובייקט במחשב המקומי.
לדוגמה, אם תרצה לאתר את התהליכים שהפסיקו לרוץ, השתמש בפקודה זו:
Get-Service | Where-Object {$_.Status -eq 'Stopped'}
דוגמה נוספת לשימוש בפקודת Where-Object היא כאשר ברצונך למצוא פקודה מסוימת. הפקודה הבאה של Hyper-V PowerShell יכולה לעזור לך למצוא את כל הפקודות שמתחילות ב- 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 הוא ליצור מכונות וירטואליות. בואו נצפה בסט של פקודות Hyper-V PowerShell ליצירת מכונות וירטואליות חדשות.
פקודות PowerShell ליצירת מכונה וירטואלית חדשה
ליצור מכונה וירטואלית חדשה מדור 2 עם דיסק קשיח VHDX חדש בנפח של 60 ג'יגה-בייט ולחבר אותו לשטח וירטואלי מסוים (במקרה זה, "ExternalSwitch"), הפעל את הפקודות הבאות בסקריפט PowerShell שלך על מארח ה-Hyper-V שלך.
-
יצירת מכונה וירטואלית:
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
-
אם נרצה ליצור דיסק בגודל קבוע ולצרף אותו ל-MVM שלנו, נוכל להריץ את הפקודות הבאות כדי ליצור VHDX בגודל קבוע ולצרף אותו ל-MVM שלנו:
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 ולשפר את הניהול בסביבת ה-Hyper-V שלך. רק תזכור שבכל זמן שאתה משתמש לנהל את ה-MVM שלך, אתה צריך ליצור גיבויים כדי למנוע אובדן נתונים ועצירת פעילות.
NAKIVO Backup & Replication הוא פתרון לשמירה על נתונים יציב וחזק, שיכול לעזור לך להגן על סביבות VMware, Hyper-V, Nutanix, AWS EC2, Linux, Windows ו-Microsoft 365.
Source:
https://www.nakivo.com/blog/essential-hyper-v-powershell-commands/