
$_). כך נוצר השדה ComputerName מתוך השדה Name.* מחזירה את כל המחשבים.Get-Service bits, Get-ADComputer -Filter *, Select-Object, Format-List *, Export-Csv bits.csv, ConvertTo-Html ו-Set-Alias NP notepad. לעזרה על פקודה משתמשים ב-Get-Help או בחלון Show-Command, ו-Ctrl+Space נותן השלמה אוטומטית.Format-List * אילו שדות יש בפועל.הטקסט המלא של הדקות הראשונות בהרצאה «Powershell pipeline» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם בהרצאה הזאת אנחנו נדבר על פייפ ונשחק עם האופציות השונות של הפייפ ונדבר על סורט אובייקט נדבר על וויר אובייקט נדבר על הקבצים נדבר על אקטיב דירקטורי נכתוב כמה סקריפטים כאלו קטנים זאת הולכת להיות הרצאה מאוד מעניינת נעשה גם דיבאג בקיצור זה הולך להיות מעניין בואו נפעיל קודם כל פאור של ה-SI שיהיה לנו ככה יותר נוח
פאור של ה-SI ונדבר גם קצת על האינטרפייס ועל הכל אז בואו נתחיל לדבר על, אתם יודעים מה? על סורט אובייקט בואו נתחיל לדבר על סורט אובייקט מה עושה לנו סורט אובייקט ואיך זה עובד אז יש לנו פקודה get service שימו לב אני יכול לכתוב אותה פה get service ולחפש פה את הפקודה בגרפי זה מאוד נוח
אם אני רוצה לדעת את הפרמטרים שלה אני יכול לעשות show details ונפתח לי חלון עם כל הפרמטרים שאני צריך להאזין לפקודה כן, זה גם פה יש לכם את זה, show command windows זה נקרא, תכף נעשה את זה ככה, כן, אז נניח אנחנו יכולים לעשות get services ומה שבכוכבית זה חובה,
נניח אני כותב service bits, למה bits? כי זה סרוויס שאפשר לעצור אותו, להפעיל אותו ולא קורה כלום למערכת ההפעלה, אני רואה שהוא היחיד שהוא חובה, שימו לב מה יש לנו פה, כמה טאבים, מה זה אומר? שיש לנו סינטקס לפי החוקים האלו וסינטקס לפי החוקים האלו.
זאת אומרת, יש לנו כמה ענפים לעץ. אם נעשה get help על get services, נניח, אתם תראו שגם פה יש לנו כמה ענפים לעץ. אתם רואים?
יש get service, זה ענף אחד, זה הענף השני וזה הענף השלישי. שימו לב מה ההבדל שיש פה name ופה יש כבר input object, אוקיי?
זאת אומרת הוא לפי הפרמטרים של input קובע מה זה מה. בואו תראו יש tab ראשון default ויש לו computer name זה ה-default וזה ה-computer name זה הענף הראשון זה הענף הראשון display name אתם רואים חווה אצלו שם של סרוויס שזה הענף השני נכון למה כי למה הוא קרא לו display name כי הוא חווה אתם רואים זה שדה חווה כי הוא בסוגריים מרובעים
יפה מאוד ולאבא הוא קרא input object לפי הדבר הזה שזה משהו מיוחד בחתימה זאת אומרת הוא מזהה משהו מיוחד בחתימה יש לנו שלוש דרכים לכתוב את הפקודה get service שזה בדיוק מה שדיברנו בהרצאה על get help יפה מאוד אני עושה דבר כזה בוא ננקה רק את המסך שזה כלי host ועכשיו כתבנו פה את נניח ביץ את הcomputer name את השמות של המחשבים שאנחנו רוצים
לדוגמא אנחנו יכולים לרשום win7 service pack 1 זה שם של המחשב איך אני יודע מה אפשר לעשות? יש פה טרינג וסוגריים מרובעים זה אומר עם פסיקים win10 לדוגמא יש לי מחשב ויש לי מחשב dc ואני יכול להפעיל run ואני יכול לעשות קופי אם אני עושה קופי הוא נכנס לי פה בפייסט ואנחנו עשינו פייסט ויכולים להריץ את הפקודה
בקיצור הבנתם, הדבר הזה עוזר לנו לכתוב את הסינטקס, להבין את הסינטקס ואז לעשות קופי וזהו. טוב, אנחנו סוגרים את החלון הזה ואנחנו ממשיכים הלאה.
מה אנחנו רואים פה? get service, display name ושמות של מחשבים. אני רואה שמשהו פה לא עובד. בואו ננסה לאט לאט. בואו נתחיל בלי computer name.
בלי computer name, אה, זה display name, סליחה. יש מינוס name ויש display name. שם קצר לסרוויס שזה ביץ יפה אז הבעיה הייתה שזה לא דיספלי ניים אלא פשוט הניים הרגיל ציינתי לו את הניים הרגיל יופי אני רואה שזה באמת עובד גט סרוויס ביץ קומפיוטר ניים ואני מציין את השמות של המחשבים ראנינג סטופינג טה טה טה
טוב עד עכשיו זה שום דבר לא חדש בואו ניקח את השמות של המחשבים לא מהרשימה אלא אפשר לקחת את זה מקובץ אפשר לקחת את זה מאקטיב דירקטורי בואו ניקח את זה מאקטיב דירקטורי בואו ניקח את זה מהאקטיב דירקטורי בואו ניקח מהאקטיב דירקטורי נניח רשימה של כל המחשבים נעשה את זה ככה get active directory computers מינוס פילטר עכשיו למה אני יודע שפילטר חובה
אם אני אעשה בלי פילטר הוא שואל אותי פילטר אתם רואים הוא לא מוכן להריץ פקודה בלי פילטר אם אתם תעשו get help על get active directory computer אתם תראו שהפילטר זה שדה חובה אתם רואים יש פה כמה גם ענפים אבל אתם תראו שפילטר הוא טרינק חובה זה מה שאני בא להגיד לכם אפשר פילטר ככה לכתוב אפשר לעשות ldap פילטר אבל בכל מקרה זה חובה אוקיי יפה מאוד
אז יופי אז אנחנו עושים get active directory computer עושים enter בלי פילטר הוא שואל אותי תן לי פילטר אני יכול לעשות לו כוכבית ואז הוא נותן לי את כל המחשבים במקום לעשות אינטראקטיבית אני יכול לעשות מינוס פילטר או מינוס ldap פילטר אתם רואים פה הוא אומר או ככה או ככה, עם הפילטר כוכבית והוא נותן לי את כל המחשבים, יפה מאוד.
עכשיו, מה אני רוצה לעשות? אני רוצה להכניס אותם ל-Get Service. אז זה נשמע טריוויאלי, נכון? Get Service, Bits, עכשיו בואו נקרא שנייה לפני שאני אגלה לכם את התשובה, Get Help ו-Get Service.
Get Help על Get Service, אתם רואים שה-computer name מינוס פרמטר computer name, אתם רואים? הוא יכול להגיע ב-pipeline. הוא יכול להגיע בפייפליין לפי שם של פרופרטי, אוקיי? שזה Computer Name, אוקיי? אז הוא יכול להגיע בפייפליין, אני אומר מצוין.
אז אני יודע שזה יכול להגיע בפייפליין, אז אני עושה דבר כזה. אני מכניס getService מינוס name נניח ביץ, סרוויס בשם ביץ, אני משתמש ב-positioned parameter, שזה שם של הסרוויס, ואת השם של המחשב מגיע לי מפילטר של Active Directory, נכון?
הפילטר של מי גט אקטיב דירקטור קומפיוטר זה מגיע דרך פייפ אתם רואים דרך פייפ דרך פייפ מגיע לשמות של המחשבים למה כי בפקודת גט סרוויס קומפיוטר ניים יכול להגיע דרך פייפ יפה מאוד וזה אמור לעבוד ואנחנו מקבלים פה הודעת שגיאה איזה הודעת שגיאה cannot validate argument computer name הוא לא יכול למצוא את הקומפיוטר ניים אתם שואלים למה אתה לא יכול למצוא את הקומפיוטר ניים
הרי אנחנו נותנים לך את הקומפיוטר name. עכשיו, התשובה היא מאוד מעניינת, התשובה היא בגלל שהוא רוצה פרופרטי name שיהיה זהה, שיהיה קומפיוטר name רשום, כן? שהפרופרטי name יהיה זהה, השם של המאפיין יהיה זהה.
באיזה שם של המאפיין יש לנו פה? איזה שם של המאפיין נותן לנו get filter? הוא נותן לנו name, אתם רואים? הוא נותן לנו את כל המאפיינים, אבל אין פה קומפיוטר name.
הוא נותן לנו name, הוא נותן לנו name, אבל ה-Get Service רוצה Computer Name, הוא רוצה שהמאפיין יהיה Computer Name by Property Name, אנחנו צריכים להחליף שם למאפיין.
אתם מבינים איזה מעניין זה? עכשיו, תכף אנחנו נראה איך אנחנו עושים את זה. אנחנו עושים דבר נורא מעניין, אנחנו עושים Select Object, ואנחנו בוחרים איזה שדות אנחנו רוצים. לדוגמה, אנחנו יכולים להגיד לו, תקשיב, אני רוצה שדה בשם נניח name, ואני רוצה שתוציא לי
בפלט את השדה שנקרא נניח את השדה שנקרא dns hostname או נניח dns hostname אז מה שהוא עושה הוא לוקח סלקט אובייקט מה הוא עושה קודם כל איך זה עובד גט אקטיב דרקטור קומפיוטר לקח את כל האובייקטים של המחשבים שימו לב אובייקטים ולא רק טקסט הכניס אותם לפייפ סלקט אובייקט לוקח מתוך הפייפ כל אובייקט בנפרד ומוציא מהם את השדות
שביקשתי את זה ואת זה והוא מדפיס לי את ה-Name ואת ה-Distinguish Name כי זה מה שביקשתי מה אנחנו רוצים לעשות עכשיו אנחנו רוצים להחליף את השם של השדה של Name שיהיה Computer Name זאת אומרת אנחנו רוצים מה שנקרא לעשות שדה משלנו איך אנחנו עושים שדה משלנו שזה דבר
הכי מעניין אנחנו עושים שטרודל ובתוך השטרודל אנחנו יכולים לציין כמה דברים שטרודל מייצר לי שדה חדש N זה השם אני רוצה שיהיה לשדה יקראו Computer Name כן כן זה השדה שרציתי והערך שלו הערך שלו זה יהיה ערך של של מה של מה שיש כרגע בפייפ אתם יודעים פייפ הרי מוציא אובייקט אחד אחרי השני
אני אומר זה מה שיש כרגע בפייפ האובייקט הנוכחי בפייפ תיקח אצלו את הניים אוקיי זאת אומרת את מה שיש כרגע בפייפ אז סלקט אובייקט עובר על אובייקט אובייקט מתוך הפייפ אוקיי למעשה פייפ מוצא אותם אחד אחד הוא לוקח מהם את הנעים ומייצר עמודה חדשה שזה הכותרת של הקומפיוטר נעים והערך שלה זה מה שיש כרגע בפייפ הסימן הזה דולר ואנדרסקור זה מה שיש כרגע
בפייפ ומתוכו מוצא את הנעים יפה מאוד וזה מצליח חבר'ה זה מצליח אתם רואים איך אני יודע שזה הצליח? אתם רואים?
השדה נהיה קומפיוטר נעים יכלתי לעשות עוד כל מיני טריקים, מה שנקרא. אני יכול לעשות כל מיני טריקים, אבל הרעיון זה לייצר שדה משלנו. אנחנו כבר לא צריכים את עמודה name הזאת, הבנו מה זה.
אנחנו פשוט מוצאים computer name. ועכשיו יש לנו את ה-computer name בפייפ. דרך אגב, אם לא הייתי יודע, יכלתי לעשות פורמט ליסט כוכבית ולראות מה יש בפייפ כרגע.
בואו נעשה פורמט ליסט כוכבית. מה שיש לנו כרגע בתוך הפייפ, אתם רואים, אני עושה פורמט ליסט כוכבית, זה בעצם רק את ה-computer name, רק את העמודה של ה-computer name ורק את השמות.
אין לנו את כל השדות, אוקיי? Select Object בחר רק את מה שביקשנו, אוקיי? יפה מאוד, ככה אני יודע, אני עושה pipe ופורמט ליסט כוכבית, יודע מה לעשות הלאה.
עכשיו אני יכול לעשות get service, מזה התחלנו, get service bits ולא לציין לו את ה-computer name והוא ייקח את ה-computer name מתוך ה-pipe.
איך אני יודע שהוא ייקח את ה-computer name מתוך ה-pipe? ובגט הלפ, אני מזכיר לכם, ראינו שהקומפיוטר ניין עובד מתוך הפייפ. בואו תראו, והנה זה עובד לנו.
אתם רואים, יש לנו שלושה ביץ. אתם רואים, במחשב אחד הוא סטופ, במחשב אחד הוא ראנינג, ועוד במחשב אחד ראנינג. הלאה, זה לא טוב לי. למה זה לא טוב לי? כי הוא הדפיס לי שלוש עמודות, אבל אין פה את השם של המחשב.
אז אני יכול לעשות הלאה, אני יכול לעשות פורמט ליסט כוכבית. פורמט ליסט כוכבית, אני רואה את כל השדות שיש.
זה הפונקציה toString. אני צריך את השדה שנקרא MachineName. אז אני אומר לו כזה דבר: Select Object תבחר לי את השדות. אני יכול לכתוב רק Select, דרך אגב.
Select Object רק תבחר לי את השדות כאלו. MachineName, ותבחר לי גם, אנחנו רוצים עוד MachineName, סטטוס ו-Name. בואו ניקח מפה, שזה אותו דבר, סטטוס.