
Get-Service מחזיר רשימה של אובייקטים, ולא רק את שלוש העמודות שמוצגות כברירת מחדל. Format-List * מציג את כל השדות של כל אובייקט.AddDays, שמחשבות תאריך עתידי או עבר. מספר שלם לעומת זאת אין לו הצגה כטקסט, ולכן הוא לא מודפס ישירות.[Math]::PI. מחלקה יכולה לייצר הרבה אובייקטים, אבל את הערכים הסטטיים פונים אליה ישירות.Where-Object מסנן לפי תנאי, Select-Object בוחר שדות או מספר שורות, ו-Sort-Object ממיין לפי שדה. בדוגמה סוננו קבצים גדולים מ-100 מגה-בייט, ורשימתם נכתבה לקובץ.begin רץ פעם אחת לפני המעבר, והבלוק process רץ על כל אובייקט.Get-Service | Where-Object {$_.Status -eq 'Running'} לסינון סרוויסים שרצים.Get-Date מחזיר אובייקט תאריך, ואפשר להפעיל עליו .AddDays(17) או .AddDays(-17).Out-File -FilePath <קובץ> -Append כותב לקובץ בלי לדרוס אותו.Select-Object -First 5 לבחירת החמישה הראשונים מתוך הפלט.-Append כל הרצה דורסת את הקובץ הקודם.הטקסט המלא של הדקות הראשונות בהרצאה «Powershell object» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
ברוכים הבאים להרצאה על אובייקטים, אנחנו נדבר על סורט אובייקט ונראה איך מפעילים קלאסים ומתודות ונחפור בתוך האובייקט בפנים בואו נתחיל, דבר ראשון אנחנו רוצים לראות לדוגמה בגט סרוויס, לדוגמה גט סרוויס מחזיר לנו רשימת סרוויסים אבל מה קורה מתחת למכסה המנוע, איזה מאפיינים יש להם, מה אפשר לעשות, מה שראינו עד עכשיו
אפשר לעשות פורמט ליסט כוכבית ואז הוא יראה לנו את כל השדות ולא רק שלוש עמודות הדיפולטיות שלו. ברגע שאני עושה פורמט ליסט כוכבית אני רואה שפה לכל סרוויס יש יותר שדות שלא ראינו עד עכשיו, וזה מאוד מאוד נוח לגלות את האמת שמאחורי האובייקט ולא רק את השדות המוצגים ברירת מחדל.
אז פורמט ליסט כוכבית מראה לי את כל השדות ועכשיו אני רואה שיש לנו פה שדות שלפני כן לא ראינו, כשהפעלנו גט סרוויס רגיל ראינו רק שלוש אוקיי אז פורמט ליסט כוכבית מראה לי את כל השדות אבל זה לא באמת כל הפעולות שאפשר לעשות אין לנו פה פעולות על האובייקט כן זאת אומרת שיש לנו פה רק מידע חלקי אם
אנחנו נעשה גט ממבר אנחנו נגלה את האמת שמסתתרת מאחורי כל אובייקט כזה אוקיי ומה אנחנו רואים שגט סרוויס מאחורה הוא מהסוג הזה שזה סיסטם סיסטם פונס סרוויס קונטרולר אנחנו רואים את הסוג שלו למה זה חשוב לנו כי אם אנחנו נעשה פייפ אנחנו נעביר את זה לפקודה הבאה אנחנו צריכים לוודא שהפקודה הבאה יודעת לקבל את הטייפ
הזה את הסוג הזה ויש פקודות שכתוב שם לדוגמה שאני רוצה סרוויס קונטרולר אובייקט מסוג סרוויס קונטרולר הלאה מה אנחנו עוד רואים פה אנחנו רואים פה אליאס בפרופרטיז מה זה אומר זה אומר שכשאני כותב name get GetService-Name, פרופרטי בשם name, למעשה זה כמו לרשום ServiceName.
אתם רואים, name ו-ServiceName זה אותו דבר. פשוט ServiceName לא נוח לי לכתוב, אז עשו לי name. אז כשאני כותב GetService-Name זה כמו לרשום מינוס ServiceName.
מה אנחנו רואים פה? יש פה עוד אליאס על הפרופרטי. פרופרטי זה המאפיינים הטקסטואליים שאנחנו רואים. נכון כשאנחנו עושים נקודה, GetService- אנחנו מקבלים את הפרופרטי, פרופרטיז האלו תסתכלו get service ככה power של עובד מאחורי הקלע היא מינוס שימו לב מה הוא נותן לנו פה מינוס computer name שימו לב מה זה computer name computer name
computer name איפה הפרופרטי שלנו של computer name dependency services בואו נראה שנייה זה לא מסודר לי לפי הסדר פשוט כן ה computer name כנראה מגיע שזה לא הפרופרטי שלו יפה מה אנחנו יכולים לראות שעל כל פרופרטי, האם אנחנו יכולים לעשות לו גט?
אתם רואים גט? זה אומר רק לקרוא אותו, או אם יש לנו גם סט, רואים סט? זה גם לקבוע אותו. ברגע שכתוב פה גט או סט, האם אנחנו יכולים רק לקרוא אותו, או גם לקבוע אותו? מה שכתוב גט, זה אומר שרק לקרוא אותו, אסור לנו לשנות אותו.
מה יש לנו עוד? יש לנו פה עוד מתודות. מתודות על אובייקט, יש לנו פה מתודות על אובייקט. שימו לב, אנחנו מדברים על טייפ הזה, על אובייקט מסוג Service Control.
עכשיו שימו לב, הגט סרוויס עצמו מחזיר את האובייקט הזה אבל גט סרוויס זה תוכנה קטנה שיש לה יכול להיות לה עוד דברים שלא קשורים לאובייקט עצמו זאת אומרת גט סרוויס יכול לעבור על הרבה האובייקטים האלו ולעשות עליהם כל מיני פעולות אז גט סרוויס זה מיני תוכנה שכתובה בדוטנט ויש לה כל מיני פרמטרים
שהיא קולטת כמו קומפיוטר נעים לדוגמה והיא יודעת לרוץ על כל המחשבים ולעשות דברים בסופו של דבר התוצאה הסופית שהיא נותנת את הפלט זה האובייקט הזה זאת אומרת זה התוצאה של האובייקט ואני יכול לקחת אותו ולעשות איתו פעולות ולכן אני יכול לעשות get service bits והתוצאה מה שאנחנו רואים על המסך זה בעצם פונקציה
to string כל פעם שאתם עושים הדפסה על המסך מופעלת פונקציה to string של האובייקט אוקיי אז האובייקט הזה service control הוא תוצאה של get service וה-toString הדפיס אותו.
מה זה מעניין אותי? אני יכול פתאום לעשות דברים שאין בפעולת getService. לדוגמה, ב-getService אין פעולה של, בואו נראה, פעולות זה מתודות.
אתם רואים כל המתודות פה. תסתכלו כמה פעולות יש לנו. לדוגמה, יש לנו פה פעולה stop. יכולנו לעשות stop לסרוויס, אבל לא על ידי פקודת stopService. תחשבו שלא המציאו פקודת stopService.
שכחו ב-powerShell לרשום stopService, אנחנו יכולים לעשות get service bits מה יחזיר לנו את האובייקט כמו שראינו אותו את האובייקט מסוג service controller הוא מחזיר לנו אובייקט מסוג service controller ברגע שאני שם סוגריים אני מתחיל לבצע את הפעולה הזאת עשיתי את הפעולה get service bits קיבלתי
את האובייקט בחזרה ופתאום יש לי פעולות עכשיו אני עושה ברמת האובייקט לא ברמת הפקודה אני כבר יצאתי מהפקודה הפקודה הסתיימה אז בפקודת גט סרוויס יש דברים שלא הכל היא יודעת לעשות היא גם יודעת לעשות כל מיני דברים נוספים כמו לעבור על כל המחשבים אבל הדבר המדהים אתם רואים
זה המאפיינים זה המאפיינים של גט ממבר הסביבה הגרפית פה נותנת לי גט ממבר למעשה שימו לב יש לנו פה לא רק מאפיינים שזה הריבועים האלו שנותנים לנו מידע נניח סטטוס של סרוויס אלא גם פעולות אני יכול פתאום לעשות סטופ לסרוויס אוקיי ברגע שאני קורא לה מתודה, אני קורא לה עם סוגר
נקודה, עם סוגריים מתודה זה כמו פונקציה, קוראים לה עם סוגריים והנה זה המתודות שיש, ושימו לב מה הן מקבלות אתם רואים, יש כל מיני מתודות שצריכות לקבל ערכים לדוגמה, command וכאלו מה אנחנו רואים פה? ש-stop לא מקבלת כלום אז אני יכול לעשות get service bits לקבל בחזרה את האובייקט של הסרוויס ולהפעיל אצלו מתודה.
זאת אומרת, אני ירדתי למטה מתחת, אני עכשיו לא משתמש ב-CMDs, באופציות המוכנות של המתכנתים, אלא אני עובד עם האובייקט ישירות. הנה בבקשה, Get Service Bits, הוא עכשיו סטופ.
וזה טוב למקרה שהמתכנתים שכחו לעשות לי משהו שקיים בדוטנט הקלאסי. זאת אומרת, האובייקטים האלו מגיעים לי מתוך המערכת ההפעלה, מתוך הדוטנט. וה-CMD-Less, כמו Get Service, Stop Service, זה מיני תוכנות שבעצם עושות אותו דבר.
אז אם אנחנו נעשה, עכשיו זה Running. אתם רואים, היה Stopped, עכשיו Running. זאת אומרת, אנחנו עם הסוגריים, אנחנו בעצם מבצעים את הפעולה, מקבלים את התשובה, שזה האובייקט, ואנחנו יכולים לעשות על האובייקט הזה פעולות, שזה המתודות.
איך אנחנו יכולים לדעת מהם המתודות? לעשות get member ברגע שאני עושה על משהו שהגיע לי get member אני מקבל את האופציות שיש לי בואו תראו עוד פעם אני אעשה את הפעולה הזאת אבל נניח שאני לא יודע מה הן האופציות אז אני מעביר את כל האובייקט הזה ל get member ואז אני מקבל שמה שהגיע בפייפ זה האובייקט הזה וזה מה שקיים אצלי אבל אין פה ערכים יש
פה רק הגדרות שלו אוקיי מה שיש לו to string זה בעצם זה מה שמודפס על המסך ברגע שאתם רואים אם משהו מודפס על המסך זה מה שמבצעת פונקציית toString.
למה זה חשוב לכם? כי אפשר לעשות גם דברים קצת יותר ככה מסובכים. לדוגמה אחד, אני לוקח טקסט בואו נעשה מספר 123 נניח 1024 סתם לוקח איזשהו מספר מעביר אותו בפייפ ואני רואה שבגטממבר שלו הוא SystemInt 32 ואין לו toString.
אין לו toString בגלל שאין לו toString כי אין לו toString אם אם אני אנסה להדפיס אותו סתם, פתאום הפייפ מסתיים, והפונקציה הדפולטית בסוף הפייפ מנסה להדפיס אותו על המסך, אני אקבל אירור.
אוקיי, אני מקבל אירור. למה אני מקבל אירור? כי אי אפשר להדפיס אותו על המסך. אבל הוא עדיין קיים בפייפ, אני יכול לעשות for each ו-for each object, או for each או for each object זה אותו דבר, ולעבור על כל האובייקטים בפייפ, עם זה אני עובר על האובייקט הנוכחי, ולחלק אותו בשתיים.
אני יודע מה, לא יודע מה, ולחלק אותו בשתיים, סתם דוגמא, והנה חילקתי אותו בשתיים ואין שום בעיה, אוקיי?
זאת אומרת, אני כן יכול לעבור על האובייקטים בפייפ, אבל לא כל אובייקט יכול להיות מודפס, יש טיפוסים שאין להם toString, זה טיפוסים מיוחדים שלא יורשים הכל מהאובייקט הבסיסי.
למה זה חשוב לנו כל זה? כי אנחנו יכולים עכשיו להתחכם ואנחנו יכולים לחקור ואנחנו יכולים להבין איך עובד הסינטקס בואו נראה עוד כמה דברים לדוגמה לדוגמה איך אנחנו יכולים לעשות לבחור שדות מסוימים בואו נראה איך אנחנו יכולים לעשות שדות מסוימים לדוגמה יש לנו פונקציה שנקראת get date get date והיא מחזירה לי שעכשיו 11 למאי 2016 יפה
מאוד מה אני יכול לעשות אני יכול לקחת אותה בסוגריים ובואו נפנה get member לחקור אותה מה אני יכול לעשות עם תאריכים ואני רואה פה הרבה מאוד מתודות הרבה מאוד פעולות System Daytime אני רואה הרבה מאוד פעולות איזה פעולות אני רואה אני רואה פה להוסיף ימים להוסיף שעות להוסיף דקות הוא יכול לחשב לי כמה זה יהיה עוד 17 יום מה התאריך יהיה בעוד 17
יום יש לי פה כל מיני מאפיינים שאני יכול לשלוף מהם את הנתונים יפה מאוד שימו לב יש פה פונקציה To String אז לא תהיה לנו בעיה להדפיס את האובייקט ישירות יפה מאוד אז אנחנו יכולים לעשות Get Date ולעשות לו לקחת אותו כאובייקט נקודה ולראות לדוגמא לדוגמא לראות לעשות איזושהי פעולה לדוגמא add days כמה זה יהיה מה יהיה התאריך בעוד 17 יום אנחנו מקווים שזה הולך להיות
28 במאי אנחנו יכולים לעשות מינוס 17 יום ולראות שלפני 17 ימים היה 24 באפריל אוקיי אנחנו יכולים ככה בקלות להוסיף להוריד זמנים הלאה אנחנו אנחנו יכולים גם לקחת גט דייט הזה וכאובייקט הוא נכנס למשתנה נניח now משתנה now אני מקבל את המשתנה now עכשיו 11 למאי ואני יכול לעשות
בגלל שזה אובייקט יושב בפנים אובייקט ולא רק טקסט וזה העוצמה בעצם אחרי זה אנחנו זה העוצמה בעצם גם שהפייפ מעביר לאובייקטים נשחק עם זה בהרצאה של פייפ add dates אני יכול ישר להוסיף לאובייקט 17 יום אוקיי ואני אני יכול להוריד יום אחד יפה מאוד אני יכול להוסיף דקות שעות וכולי הלאה מה יש לנו עוד יש מחלקות בדוטנט שכבר כתובות אבל נניח שלא
כתבו בשבילהם תוכנה לא כתבו cmd let's כן מיני תוכנות של פאור שלא כתבו בגלל שזה קלאס שנמצא בדוטנט הבסיסים שמותקן אצלי על המחשב אני יכול לקרוא לקלאסים האלו סוגריים מרובעיים אני יכול לקרוא לקלאס לדוגמה מת מתמטי ואז אני יכול לראות את כל מה שיש לי בתוך הקלאס ואנחנו רואים שבתוך הקלאס שזה הסוג שלו אנחנו רואים פה כל מיני מתודות
שאפשר להפעיל אנחנו יכולים לראות פה כל מיני מאפיינים ובואו נמצא משהו מעניין אנחנו צריכים בגלל שאני לא רוצה ללמד אתכם עכשיו אובייקט אוריינטד יש לנו קורס נפרד לזה אני רוצה אני רוצה ככה אני רוצה להראות לכם שיש יש מאפיינים שצריך לעשות ניו ולהתחל את האובייקט ניו אובייקט לעשות ולהתחל אותו
ויש מאפיינים שהם חלק מהקלאס הבסיסי ואז אני יכול בעצם לדבר איתם ישירות כי הם