חבר'ה, מראש אני אומר, אני לא מומחה.. התחלתי ללמוד את זה אתמול בדך הכל (ויש לי מרצה שפיץ!) אז אל תיקחו הכל פה כקדוש, ומקווה שזה יעזור למישהו מכם..
שאלות, אשמח לענות וגם אם אני לא יודע אני אחפש תשובות ואביא אותן..אני מאד אוהב להדריך ולהעביר חומר, בעבר גם הייתי מדריך קורסים בנטוויז'ן, אבל שם ידעתי את החומר פיקס (אחרי חצי שנה של עבודה, חייבים לדעת) ופה אני עוד משתפשף וגם הרבה זמן לא העברתי חומר (מעולם לא בכתיבה) בצורה כזו..
מקווה שתהנו!
אז מה זה בכלל Power Shell?
PS זו למעשה שפת סקריפט שבנויה על גבי .NET. עד היום הייתה הבדלה מאד גדולה בין מנהלי רשת (שאם תיכנסו לעומק ב PS, תגלו ששום ניהול לא קורה באמת ללא PS), לבין תוכניתנים.
PS באה לגשר על הפער העצום הזה ולתת למנהלי הרשת את הכוח לשלוט ולנטר את הרשת שלהם ללא צורך בתוכניתן מנוסה ושעות רבות של תיכנות בשפת תיכנות כזו או אחרת.
PS עובדת עם אובייקטים, כל אובייקט מכיל מידע וכמובן יש לו Properties ו Methods שאפשר להפעיל עליו.
איפה אפשר להשתמש ב PS?
המערכת מגיעה מובנית במערכות הפעלה Windows Server 2008 R2 וב-Windows 7/8
ניתן להתקין את המערכת גם על
Windows Server 2008 SP/SP2
Windows Vista SP1/SP2
Windows Server 2003 SP2
Windows XP SP3
כמו כן, לצורך התקנת המערכת יש צורך ב:
.NET Franework 2.0 SP1
או
.NET Framework 3.5 SP1 אם מעוניינים להשתמש ב ISE (נלמד על כך בהמשך)
PS הינה מבוססת על גבי פקודות CMD ולכן כל הפקודות שאתם מכירים מה CMD הישן והמוכר, יעבדו גם ב PS.
לחלק מהפקודות אפילו יש קיצורים ומה שנקרא Alias (ניגע בנושאים הללו בהמשך).
3 פעולות שכדאי שנכיר ב PS:
Get - משמש לצורך "שליפת מידע"
Set - משמש לצורך "הצבת מידע"
Out - משמש לצורך הפניית הפלט ל...
פקודה מאד שימושית ב PS היא Get-Help.
ניתן להכיל את הפקודה הזו על כל דבר שאנחנו לא מכירים ומיד נקבל את כל המידע הנחוץ לנו בכדי להשתמש בפקודה מסויימת.
לדוגמא, אם תרשמו Get-Help Get-Content מיד נקבל איך משתמשים בפקודה Get-Content כולל דוגמאות רבות,
יש אפשרות גם לרשום Get-Help Get-Content -online וישר נישלח לאתר של מייקרוסופט עם המידע המעודכן ביותר לגבי שאלתינו.
שימו לב כי ב PS v3.0 ה Help מתעדכן באופן אוטומטי ואילו בגירסה 2.0 אין עידכונים ל Help ולכן לפעמים מומלץ להשתמש ב -online
הפקודה השניה שנכיר היא:
get-command -commandtype cmdlet

כך נוכל למעשה לראות את כל הפקודות שאיתן ניתן לעבוד (בלי שום קשר לתכונות או פונקציות שקיימות במערכת על כל אחת מהפקודות הללו)
ל PS יש אפשרות להוסיף Snapin שונים כאשר כל אחד מהם נותן לנו עוד קצת (או הרבה) cmdlet להשתמש בהם.
אפשרות משמעותית שיש לPS זה לרוץ על מחשבים מרוחקים,
לדוגמא אני יכול לרוץ על המחשב שלי בעזרת הפקודה Get-Proccess שזה למעשה מוציא לי את רשימת ה Proccesses שרצים על המחשב שלי,
עם זאת, אני יכול להריץ את הפקודה על מחשב מרוחק, לדוגמא בעזרת הפקודה - Get-Process -computername COMPUTER_NAME נוכל לקבל את רשימת הProccesses שרצים על אותו מחשב.
אפשר גם לבצע פילטר ולקבל רק את ה Proccesses שנקראים "powershell"

וכך ניתן למצוא תהליכים מסויימים שרצים על מחשבים (לחפש וירוסים, התקנות שלא רוצים שיבוצעו וכדומה)
על כל אלה, כמו שאמרתי מקודם, יש קיצורים שנקראים במערכת Alias.
מה זה אומר? במקום לכתוב Get-Process, אנחנו פשוט יכולים לכתוב GPS
בכדי לראות את הרשימה של ה Alias's אפשר פשוט לרשום "Alias" ולקבל רשימה מלאה
לחלק האחרון, אני אסביר לגבי Format-Table או Format-List
אם אני ארשום לדוגמא gps, התוצאה תהיה:

לעומת זאת, אני יכול להוסיף | select name, definition ולמעשה אני אקבל רק את העמודות שציינתי

אם נוסיף לכך | ft -AutoSize זה גם ייראה קצת יותר טוב..

אפשר גם להוסיף fl במקום ft וזה יראה בצורת רשימה

אשמח להערות לשיעור הבא, שאלות שאתם רוצים שאני אענה עליהן ועוד..
עד פה לבנתיים