Windows PowerShell הוא חלק בלתי נפרד ממערכת ההפעלה Windows. זוהי מעטפת שורת פקודה ושפת סקריפט המשמשת לאוטומטיות של משימות חוזרות שגוזלות זמן, ליצור כלי ניהול מותאמים אישית ולבנות, לבדוק ולפרוס פתרונות לבעיות שונות אחרות.
גרסת ברירת המחדל של PowerShell שמגיעה ארוזה מראש בתוך מערכת ההפעלה Windows היא PowerShell 5.1, או פשוט Windows PowerShell. אבל עם PowerShell 7 שכבר שוחרר ויציב, האם לא הגיוני יותר שמערכת ההפעלה Windows תשתמש בגרסה האחרונה של PowerShell? אילו יתרונות מספקת PowerShell 7 בכל מקרה? והאם זה שווה את השדרוג? בוא נדבר על זה!
מה זה PowerShell 7?
PowerShell 7 היא גרסת ה-LTS האחרונה של PowerShell. גרסה זו של PowerShell פותחה באמצעות המסגרת החדשה יותר .NET Core, המאפשרת מספר עדכונים עיקריים שמשתמשים חזקים של Windows ימצאו שימושיים.
PowerShell 7 רשום ומורשה תחת רישיון MIT. זה עכשיו תוכנת קוד פתוח, שבו אנשים יכולים להציג באופן חופשי, לשנות ולהפיץ עותק משלהם של קוד המקור של התוכנה. מפתחים יכולים גם לתרום למהדורות הרשמיות של PowerShell על ידי הצטרפות דף GitHub הרשמי של PowerShell.
עם תמיכת הקהילה שלה, גרסה זו של PowerShell היא כעת חוצה פלטפורמות! כלומר, כעת ניתן להתקין ולהשתמש בו ב-Windows, macOS ו-Linux. להלן רשימה של מערכת ההפעלה x64 הנתמכת:
- Windows 8.1, 10, 11
- Windows Server 2012, 2012 R2, 2016 ו-2019
- macOS 10.13+
- Red Hat Enterprise Linux (RHEL) / CentOS 7
- פדורה 30+
- דביאן 9
- אובונטו LTS 16.04+
Alpine Linux 3.8+ PowerShell 7 נתמך גם בהפצות שונות של ARM32 ו-ARM64 של Debian, Ubuntu ו-ARM64 Alpine Linux. למעוניינים, קיימות גם חבילות לא נתמכות עבור Arch ו-Kali Linux.
מהן התכונות החדשות הכלולות ב- PowerShell 7?
מלבד היותו חוצה פלטפורמות ומקור פתוח, ל-PowerShell 7 יש תכונות חדשות רבות אחרות המשפרים עוד יותר את הפרודוקטיביות. הנה כמה מהבולטים יותר:
1. תאימות לאחור משופרת
עם ההבדל בין המסגרת, לגירסאות Windows PowerShell ו-PowerShell המשתמשות במסגרת .NET Core תהיה אי-התאמה. כדי להקל על אנשים את המעבר, PowerShell 7 משלב כעת את מודול התאימות של Windows. מודול זה נועד לאפשר מודולים של Windows PowerShell ורבים פקודות CMD פופולריות לעבוד ב- PowerShell 7.
2. הקבילה של צינור עם ForEach-Object
ל- PowerShell 7 יש כעת פרמטר מקביל. ב-Windows PowerShell, כל אובייקט צינור המשתמש ב-cmdlet ForEach-Object יתבצע אחד בכל פעם. אבל עם הפרמטר Parallel החדש, כל האובייקטים המופיעים מבוצעים כעת בו-זמנית. זה משפר באופן דרסטי את הביצועים שיכולים לחסוך לך זמן.
3. מפעילים טרנריים
תנאי Windows PowerShell מתבצעים באמצעות הצהרות if-else. PowerShell 7 עושה את זה אפילו יותר פשוט על ידי הצגת אופרטורים טרינריים, שהם בעצם גרסאות מפושטות של הצהרות if-else באמצעות "?" ו-":" בתחביר. תכונה זו מאפשרת חווית סקריפטים מהירה ונקייה יותר.
4. מפעילי שרשרת צינורות
מפעילי צינור הם תכונה חשובה של Windows PowerShell. זה מאפשר לך ליצור ביטויים מורכבים על ידי לקיחת הפלט של cmdlet ושימוש בו על cmdlet אחר. עם זאת, הדבר מוגבל מכיוון ש-Windows PowerShell אינו יכול לעבד ביטויים מותנים באמצעות אופרטורים רגילים של צינורות.
PowerShell 7 מתקן בעיה זו על ידי הצגת מפעילי שרשרת צינורות, שהם "&&" ו-"||". מפעיל צינור חדש זה מאפשר ל-PowerShell לבצע פקודות עם ביטויים מותנים.
אופרטור && משמש לביצוע פקודת הצינור הימני רק אם הפקודה לפני המפעיל מצליחה. מפעיל בעוד || יבצע את פקודת הצינור הימני רק אם הפקודה לפני המפעיל נכשלת.
מדוע PowerShell 7 אינו ברירת המחדל ב-Windows?
PowerShell 7 היא תוכנה חוצת פלטפורמות במקור פתוח המספקת תכונות שיכולות לשפר באופן דרסטי את הביצועים ואת מהירות הסקריפט. אז למה מיקרוסופט לא הופכת אותו ל-PowerShell ברירת המחדל ב-Windows?
PowerShell הנוכחי שמגיע מותקן מראש עם מערכות Windows חדשות יותר הוא PowerShell 5.1. זוהי גרסת PowerShell האחרונה המשתמשת במסגרת NET. למרות שזה נכון שהגרסאות העוקבות שלה מספקות תכונות טובות יותר, ל-Windows PowerShell עדיין יש יתרון אחד שאין ל-PowerShell החדש יותר - תאימות לאחור מלאה.
ה-PowerShell הראשון שוחרר ב-14 בנובמבר 2006. זה היה כאשר Windows Vista ו-XP עדיין היו מערכת ההפעלה העדכנית ביותר של Windows. לפי מחקר מ-enlyft, בארצות הברית לבדה יש יותר מ-46,000 חברות שעדיין משתמשות ב-Windows XP. חברות אלו פשוט אינן יכולות לשדרג ל-PowerShell העדכנית ביותר מכיוון שהיא תגרום להמון בעיות של אי תאימות לאחור אפילו עם מודול WindowsCompatibility המשולב של PowerShell 7.
לחברות ענק ותשתיות קריטיות שונות (כספומטים, ספקי אנרגיה, רכבות, בתי חולים וכו'), עיכוב שירות במשך שבועות עד חודשים רק כדי לבנות מחדש, לבדוק ולפרוס סקריפטים שכבר עבדו עם PowerShell 5.1 הוא פשוט לא אוֹפְּצִיָה. אל תחשוב על כל הבאגים שעלולים לצאת במהלך שעות הפעילות בפועל.
מכיוון ש-PowerShell 5.1 הוא ה-PowerShell העדכני ביותר שנבנה על. NET framework, מובטח שהיא תעבוד עם כל הגרסאות הקודמות של PowerShell, אפילו זו שפורסמה ב-2006.
האם כדאי לשדרג ל-PowerShell 7?
PowerShell 7 מספק עדכונים שימושיים רבים שהופכים את ממשק שורת הפקודה ויצירת סקריפטים לקלים, מהירים ונוחים יותר עם התמיכה בין הפלטפורמות שלו. לעומת זאת, Windows PowerShell מספק תאימות מלאה לאחור לכל PowerShell מדור קודם לפני PowerShell 6. אז האם להמשיך להשתמש ב-Windows PowerShell או לשדרג ל-PowerShell 7 החדש יותר?
הדבר הטוב ב- PowerShell 7 הוא שהוא תוכנן להתקיים במקביל עם Windows PowerShell 5.1. מלבד מודול תאימות Windows המשולב, PowerShell 7 מספק גם נתיב התקנה נפרד, שם הפעלה, PSModulePath ויומני אירועים כדי להבטיח שזה לא מפריע ל-Windows שכבר מותקן פגז כוח.
לכן, עבור הרוב הגדול של האנשים שרוצים לנסות את התכונות החדשות של PowerShell 7, הם בהחלט יכולים לעשות זאת תוך שמירה על ברירת המחדל של Windows PowerShell. אם אתה סקרן אם ה- PowerShell החדש יותר הוא בשבילך, אז אתה בהחלט צריך לנסות את ה- PowerShell החדש יותר.
למרות ש-PowerShell 7 אכן מספק תאימות לאחור טובה, תמיד יהיו כמה אי התאמות בגלל ההבדלים ביניהם במסגרת. אם אתה עובד בחברה או בארגון המסתמכים במידה רבה על כלים ותוכניות מותאמים אישית המיוצרים מ-Windows PowerShell, ייתכן שהעברת מערכת החברה ל-PowerShell 7 לא תהיה רעיון טוב.
PowerShell 7 סיפק הרבה עדכונים אבל גם הוציא לא מעט מודולים ו-cmdlet מדור קודם. אם אתה אדם שכבר מרוצה מברירת המחדל של PowerShell, אז אין באמת סיבה לעבור, במיוחד אם אין לך זמן לקרוא את התיעוד.
PowerShell 7 הופך את ה-Scripting למהיר יותר
PowerShell 7 היא אחת מהגרסאות היציבות החדשות ביותר של PowerShell עם תמיכה לטווח ארוך (LTS). הוא מספק דרך מהירה וקלה יותר להשתמש ב- PowerShell, גם אם משתמשים במערכות הפעלה אחרות כמו macOS או Linux. למרות שעשוי לקחת קצת זמן לקרוא את התיעוד שלו, בסופו של דבר תחסוך יותר זמן ברגע שתהיה מיומן בעדכונים החדשים.