
RemoteSigned, כלומר רק סקריפט שמגיע מרחוק צריך להיות חתום. אחרת משתמשים ב-Set-ExecutionPolicy.Install-Module. עובדים בכלי ISE. מגדירים שלא לשלוח מידע שימוש ל-VMware.Get-Command עם שם המכיל snapshot מציג פקודות כמו Get-Snapshot, New-Snapshot, Remove-Snapshot, Set-VM. בסך הכול נמצאו 4,925 פקודות.Connect-VIServer ל-vCenter (אפשר כמה vCenters ברשימה אחת, ואפשר עם משתמש וסיסמה). הפקודות מדברות עם ה-API של ה-vCenter, ולכן מה שנעשה בסקריפט נראה גם בממשק.Get-VM, מסננים לפי שם (למשל מכונות שמתחילות ב-testVM באמצעות כוכבית).foreach על כל מכונה, בונים שם בסגנון שם-המכונה עם סיומת backup, ומריצים New-Snapshot עם -Confirm:$false ו--RunAsync.Get-VM | Get-Snapshot מציג את הרשימה. אפשר לשרשר ל-Select-Object כדי לראות עמודות נוספות (גודל, תאריך יצירה) ול-Export-Csv לקובץ שנפתח באקסל.Get-Snapshot | ForEach-Object עם Set-VM -VM $_.VM -Snapshot $_ ו--Confirm:$false. בלי סינון הלולאה עוברת על כל ה-Snapshots, וחוזרת לכל אחד בתורו, עד האחרון. כדי לחזור לנקודה מסוימת מסננים עם -Name, למשל רק אלה שנגמרים ב-backup. אפשר לסנן גם לפי תאריך.Remove-Snapshot.Remove-Snapshot.הטקסט המלא של הדקות הראשונות בהרצאה «יצירת Snapshot עם PowerCLI» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה זו אנחנו נלמד איך לעשות סנאפשוטים על כמה מכונות וירטואליות בו זמנית מתוך CMD, מתוך PowerShell והמטרה לעשות סקריט שיעשה הכל אוטומט עבורנו שלא נצטרך כל פעם ללחוץ על טייק סנאפשוט או לחזור אחורה בזמן רוורט סנאפשוט או דליט סנאפשוט עכשיו זאת לא בעיה לעשות את
זה עדנית ברמת מכונה בודדת אבל מה קורה אם יש לי פרויקט שמורכב מעשר מכונות? אני לא רוצה עשר פעמים ללחוץ טייק סנאפשופט, אחרי זה עשר פעמים ללחוץ רבעות או עשר פעמים ללחוץ delete.
אני רוצה סקריפט אחד שעושה את זה במכה אחת מתוך פאוורשל על כל המכונות הווירטואליות. דבר ראשון אנחנו צריכים לבדוק האם יש לנו אישור להריץ סקריפטים. במקרה שלי זה כבר remote sign, זה אומר שרק סקריפט שמורץ מרחוק חייב להיות חתום דיגיטלית.
אם סקריפט מורץ מקומית הוא לא צריך להיות חתום דיגיטלית. דרך אגב, אם היה לי משהו אחר הייתי מריץ את הפקודה set execution policy בפאוורשייל וקובע שזה יהיה remote signed.
זאת ההגדרה הכללית שאני אוהב לעשות בווינדוס אצלי, שרק סקריפטים מרחוק צריכים להיות חתומים דיגיטלית. טוב, בואו נתחיל עם VMware, ויש לנו מודול של וימור שנקרא Power CLI.
אנחנו יכולים להריץ אותו, להתקין אותו, אינסטול מודול. דרך אגב, אני בכלי שנקרא ISE, הוא מובנה בכל וינדוס. והכלי הזה של פאור של ה-SE למעלה פותח לי קובץ שאני יכול להריץ את כולו במכה אחת או רק את ה-SELECTION.
ופה למטה אני יכול לכתוב כל פקודה שבא לי. לדוגמה, אני כותב CLEAR וזה מנקה לי את המסך. אפשר לפתוח פאור של ופשוט להריץ את הפקודות, אם עדיף לעשות את זה ככה, בסוף זה אותו פאוורשל.
בואו נגדיר לו שאנחנו מסכימים להשתתף בתוכנית אנונימית לאיסוף מידע על משתמש, סתם שלא יתריע לי אחרי זה, מי שלא רוצה שיעשה פה פולס, ואז הוא לא שולח מידע לביםוור, מה שאתם רוצים, אני עושה yes to all, והוא מגדיר לי פה את ההגדרה.
אחרת הוא יתריע לי כל מיני הודעות מעצבנות. קבעתי שהיוזר שלי לא ישלח מידע עכשיו על השימושים שלו בכלים של VMware לחברת VMware. הם אוספים את זה לסטטיסטיקה, במה אנשים משתמשים, במה לא.
טוב, מה עם המודול שלנו? בואו נבדוק איזה פקודות יש לנו שקשורות לסנאפשוט. הרי התכנסנו פה בשביל לעשות אוטומציה לסנאפשוטים שלנו על כמה מכונות.
אז אני עושה לו get command, תביא לי פקודות מסוג cmd let's, שזה הפקודות הרגילות של פאוורשל, מתוך המודולים של VMware ושימו לב יש הרבה מודולים ל-VMware ובתוך השם של הפקודה אני רוצה רק את המילת סנפשוט אז הוא מביא לי פה גט סנפשוט ו-new סנפשוט ו-remove סנפשוט ו-set סנפשוט ואנחנו נראה עוד מעט את כל הפקודות האלו מה שבאתי להראות לכם שגט קומנד עוזר לי
לחפש פקודה ולדעת לאיזה כיוון להתקדם לדוגמה יש לנו פה פקודות שקשורות בכלל ל-VSAN דרך אגב כמה פקודות יש בכלל אני עושה get command על כל המודול של VMware, שם את זה בסוגריים ואומר כל הפקודות האלו חוזרות כאובייקט אחד, תעשה לי קאונט על האובייקט הזה, תספור לי כמה פקודות יש.
ואנחנו יכולים לראות שיש 4,925 פקודות. דרך אגב, אם הייתי מריץ את הפקודה הזאת בלי הקאונט, הייתי מקבל את כל ה-4,925 פקודות שקיימות. הנה הן רצות פה על המסך, אתם יכולים לראות.
ואם אני רוצה לסנן, אני יכול לעשות מינוס name snapshot. טוב, אז בואו נתחיל להשתמש בפקודות של הסנפשוט שלנו. מה אנחנו נעשה? פה למעלה אני מנקה את הקונסול ואני מתחבר ל-VCenter, קונקט ל-VCenter.
למעשה, תחנת העבודה שלי תתחבר ל-API של VCenter. אני כותב כאן קונקט ל-VCenter, שימו לב, פסיק VCenter 2. אני בא להראות לכם שאפשר להתחבר לכמה VCentרים בו זמנית ולהריץ פקודות על כמה VCentרים בו זמנית, זה מדהים ואני אומר עם איזה יוזרנם ואיזה פסוורד אם לא הייתי מציין פה יוזרנם ופסוורד הוא היה מתחבר עם ntlm או קרברוס עם היוזר שלי באקטיב דירקטורי אז תדעו שאפשר להתחבר
לכמה v-centרים בו זמנית בואו נריץ את הפקודה הזאת כמובן שאין לי את ה-v-center השני הוא לא קיים זה סתם להראות לכם שזה אפשרי שימו לב הוא התחבר ל-v-center הראשון בפורט 443 עם היוזר הזה אבל נתן לי הודעת שגיאה על v-center 2 כי כמובן שהוא לא קיים.
בואו נבדוק לאן הוא התחבר. אפשר לבדוק על vCenter אחד, ויש פקודה שבודקת את כל החיבורים עם ה-S בסוף. כרגע אני מחובר רק לאחד, אבל תדעו שזה אפשרי.
כל מה שאני מספר לכם אפשר למצוא באתר של VMware. אנחנו פה על קצה הקרחון נוגעים ביכולות האוטומציה של VMware. בואו נעשה get vm כשאנחנו מחוברים, ואנחנו רואים את כל המכונות הווירטואליות שלנו, כולל המכונות של VMware עצמו לניהול של הקלאסטר,
ובזה אני לא נוגע בכלל ובוא נבדוק איזה סנפשוטים יש לנו כרגע זאת אומרת לוקחים כל מכונה ועבור כל מכונה מריצים פקודת גט סנפשוט בוא נראה כרגע אין לנו אף סנפשוט במערכת המטרה שלנו לעשות סנפשוטים ל-VM1 ו-VM2 בלבד אז אנחנו מכריזים על המשתנה שנקרא דולר אפ VMs אתם יכולים להמציא איזה שם שבא לכם ואני אומר לו תבחר לי VMים אבל לא את הכל ככה הוא יבחר לי את הכל.
אני לא רוצה את כל ה-VM'ים שישבו בתוך המשתנה הזה כמו שזה קורה עכשיו. אני רוצה רק שהשם שלהם מתחיל בטסט VM ואז כוכבית. ברגע שאני עושה את הפקודה הזאת, הוא מתוך כל ה-VM'ים ישלוף רק את אלו שהשם שלהם ככה,