5 cmdlets כדי להתחיל עם PowerShell
PowerShell הופכת במהירות לשפת ה- scripting המועדפת ול- CLI של Power Power וכן ל- IT Pros. זה שווה ללמוד כמה פקודות כדי להתחיל, אז יש לנו 5 שימושי cmdlets לך ללמוד היום.
קבל פקודה
ה- Get-Command הוא אחד מה- cmdlets השימושיים ביותר בכל PowerShell, שכן הוא יעזור לכם להגיע לאחיזה עם PowerShell בכך שתאפשר לכם לחפש cmdlets מסוימים. באמצעות Get-Command בכוחות עצמה הוא לא ממש שימושי כמו שלה רק הולך לירוק את כל פקודה PowerShell יש.
אבל מכאן אנו יכולים לראות כי אובייקטים כי PowerShell פלטי יש גם שם ו ModuleName רכוש. באמצעות מידע זה אנו יכולים לדקדק את החיפוש שלנו, על ידי חיפוש cmdlets המכילים מונחים מסוימים. לדוגמה, אם אני רוצה למצוא את כל cmdlets המכילים את המילה "IP", אני יכול לעשות את זה:
Get-Command -Name * IP *
כפי שאתה יכול לראות אנחנו עדיין מקבלים לא מעט תוצאות, האפשרות הבאה שלנו היא לחפש בתוך מודול מסוים. במקרה שלנו אני יבחר את מודול NetTCPIP.
Get-Command -Module NetTCPIP -Name * IP *
תקבל עזרה
לאחר שמצאת את cmdlet אתה מחפש באמצעות Get-Command, אתה הולך רוצה לדעת את התחביר ואיך אתה יכול להשתמש ב- cmdlet ספציפי. זה המקום שבו Get-Help מגיע, אם יש לך אי פעם להשתמש בשורת הפקודה ב- Windows כנראה עשית משהו כזה:
ipconfig /?
ובכן, זה לא עובד ב PowerShell, הסיבה לכך היא PowerShell שטח משמש להפריד פקודה מן הפרמטרים שלה. במקום זאת אנו משתמשים ב- Get-Help ומעבירים שם של cmdlets ל- Get-Help כפרמטר.
Get-Help קבל תהליך
קבל חבר
Get-Member מאפשר לנו לקבל מידע על אובייקטים שמחזירים cmdlets. לתפוס עם חבר מקבל, היא כי היא מסתמכת על תכונה של צינור PowerShell, כדי להדגים את זה, נוכל להשתמש ב- cmdlet Get-Process.
כפי שניתן לראות פלט של PowerShell מראה לנו כמה מאפיינים, אשר ניתן לראות בחלק העליון של כל עמודה. הבעיה הראשונה היא, כי אלה הם המאפיינים שאתה עשוי להיות מחפש רוב הזמן, יש עדיין יותר מהם. הבעיה השנייה היא שזה לא מראה שום שיטות שאנחנו יכולים לקרוא על האובייקט. כדי לראות את השיטות ואת המאפיינים אנו יכולים צינור הפלט שלנו Get-Member, כך:
קבל תהליך | קבל חבר
אמנם זה לא אומר לך כלום עכשיו, אתה במוקדם או במאוחר צריך להשתמש Get-Member, וככל שתקדים ללמוד להשתמש בו יותר טוב. כדוגמה, באמצעות מידע מן הפלט נוכל לעשות משהו כמו:
Start-process notepad.exe
$ NotepadProc = Get-Process-Name Notepad
$ NotepadProc.WaitForExit ()
Start-process calc.exe
כי התסריט יפעיל את הפנקס, ולאחר מכן מקצה פלט של "Get-Process-Name Notepad" למשתנה NotepadProc $, ואז נקרא שיטת WaitForExit ב NotepadProc $ אשר גורם את התסריט כדי להשהות עד שאתה סוגר את הפנקס, ברגע שיש לך נסגר פנקס ואז המחשבון יופעל.
$ _ (אובייקט הצינור הנוכחי)
אמנם לא בדיוק cmdlet, הוא אחד המשתנים המיוחדים ביותר בשימוש PowerShell. השם הרשמי עבור $ $ הוא "אובייקט הצינור הנוכחי". הוא משמש בלוקים סקריפט, מסננים, סעיף תהליך של פונקציות, שבו אובייקט, foreach-object ו בוררים. עם זאת קל יותר להסביר עם דוגמה, אשר מביא אותנו אל cmdlet הבא והסוף שלנו, איפה אובייקט.
איפה - אובייקט
במקום שבו אובייקט עושה בדיוק את מה שהוא נשמע, הוא בוחר אובייקט המבוסס על האם הוא עומד בקריטריונים מסוימים. זה יביא $ _, ואת המאפיינים אנו יכולים לראות באמצעות Get-Member. כדי להדגים זאת, אנו צינור הצינור של Get-Process לתוך האובייקט cmdlet אובייקט.
קבל תהליך | אובייקט-אובייקט $ _. Name -Eq "iexplore"
אז מה קורה פה? ובכן הדבר הראשון שאנחנו עושים הוא מקבל רשימה של תהליכים במחשב שלנו עובר את הפלט (באמצעות התו |) אל cmdlet אובייקט שלנו, אשר לוקח בלוק סקריפט כפרמטר. הבלוק סקריפט (המוגדר על ידי מסמרים מתולתל) מורה את האובייקטים cmdlet אובייקט רק אובייקטים לבחור שם הפרמטר שם שלהם שווה "iexplore", ולכן אנחנו מקבלים רק רשימה של המופעים IE הפועלים. זה כל מה שיש, לעשות חיים!