Cmdlets של Powershell שישפרו את כישורי הניהול של Windows

Cmdlets של Powershell שישפרו את כישורי הניהול של Windows

Powershell היא דרך מושלמת עבור קודן חדש להתחיל עם Windows. Powershell הוא כלי שורת פקודה וחלקים שווים ושפת סקריפטים. זה נותן לך את האפשרות להפוך את המחשב שלך לאוטומטי באמצעות אותן פקודות שבהן אתה משתמש לניהולו . אם יש לך מערכת חלונות מודרנית, יש לך כבר Powershell. רוב השימושים שלו הם ממוקדים ב- Windows, אך ניתן להתקין את Powershell גם במחשב Mac או Linux.





עבודה עם פאוארשל

ישנן שתי דרכים לשימוש ב- Powershell. יש חלון שורת הפקודה הבסיסי, המשמש להפעלת פקודות או הפעלת סקריפטים שנכתבו מראש. ואז יש את ISE, המשלב את חלון CLI עם סביבת פיתוח בסיסית. באמצעות זה אתה יכול לכתוב ולבדוק את הסקריפטים שלך.





ל- ISE יש רשימת פקודות ניתנת לחיפוש, ותוכל להשתמש בחלון הטרמינל שלו ללא פתיחת קובץ. רשימת הפקודות מאפשרת לך לבנות את הפקודה שלך ולהכניס אותה. אם אתה עושה פיתוח מתקדם יותר, התקן את קוד Visual Studio של Microsoft. הקוד כולל תמיכה בבקרת גרסאות Git ושפות אחרות.





Powershell ייחודי בכך שהוא בנוי כולו מפקודות, מיקרוסופט מכנה אותן Cmdlets. פקודות אלה זהות אם אתה עובד באמצעות שורת פקודה או כותב סקריפטים מורכבים. אז כשאתה משתמש בפקודות אלה, אתה יכול לחשוב כיצד לחבר אותן יחד ליצירת הסקריפטים הראשונים שלך.

היסודות: Get-Command, Get-Help, Get-Member

כל פקודות ה- Powershell לובשות צורה של פעל-שם עצם. הפעלים בדרך כלל הם: קבל, הגדר וחדש .



Get-Command מאפשר לך לראות כל פקודה זמינה. בעת הפעלת Get-Command, אתה רואה שיש המון פקודות שמתחילות עם אלה.

אם אתה מחפש יותר רק את השמות של cmdlets, אתה מתחיל לראות שלכולם יש מבנה דומה. אתה קורא להם בשמם, בדיוק כמו שעשית עם Get-Command. שימוש בפרמטרים משנה את המידע שאתה מקבל. עם זאת, אם השתמשת פעם בפקודה עם אפשרויות ברירת מחדל, כיצד תוכל לגלות כיצד להשתמש בפרמטרים מתקדמים?





משתמש ב תקבל עזרה cmdlet עם Get-Command מציג מידע נוסף על cmdlet. אנו משתמשים ב- cmdlet עם התחביר הבא:

Get-Help Get-Command

לאחר מכן תראה את המידע הבסיסי אודות הפרמטרים. אם ברצונך לראות את פרטי הפרמטר וכמה דוגמאות לשימוש, הוסף את הפרמטר -Full.





אם אתה רק רוצה לראות את הדוגמאות, תוכל להריץ:

Get-Help Get-Command -Examples

Cmdlet זה מחזיר רק את הדוגמאות מקובץ העזרה. דוגמאות אלה מועילות למדי מכיוון שהן כוללות תיאורים. טקסט עזרה זה מסביר מה cmdlet והפרמטרים עושים בעת ההפעלה.

אם אתה רוצה להוציא את קובץ העזרה לחלון נפרד, אתה יכול להשתמש -הצג חלון . אז אם אתה רץ:

Get-Help Get-Command -ShowWindow

Powershell צץ מחלון עם קובץ העזרה המלא. אינך צריך להשתמש כאן בפרמטר Full, מכיוון שהחלון מושך את המאמר המלא.

ככל שתתקדם יותר עם Powershell, תגלה שאתה משתמש ב- Get-Member לעתים קרובות יותר. זוהי דרך קלה לראות אילו שדות זמינים מנתונים שהוחזרו, כמו גם משיטות אחרות בהן תוכל להריץ. לעתים קרובות, ל- cmdlets יהיה -תכונה פרמטר שיאפשר לך לקרוא לאלה.

עבודה עם קבצים: Get-ChildItem, Remove-Item, Move-Item, Copy-Item

עכשיו שיש לך מושג כיצד cmdlets פועלים וכיצד לקבל עזרה, בואו נעשה שינויים. אתה יכול לקבל את התוכן של כל תיקיה באמצעות Get-ChildItem פקודה. לדוגמה, תוכל לקבל את הקבצים של כונן שלם באמצעות אות הכונן. להיכנס:

Get-ChildItem E:

מה שהוא קיצור של:

Get-ChildItem -Path E:

כאשר אתה מפעיל פקודה זו, אתה מקבל רשימה של קבצים עם זמן הכתיבה האחרונה שלה, גודל תחת המאפיין אורך, שם ומצב. המצב הוא התכונות של קובץ או תיקיה. הערכים האפשריים הם:

  • לקריאה בלבד
  • מוּסתָר
  • מערכת
  • מַדרִיך
  • ארכיון
  • התקן
  • נוֹרמָלִי
  • זמני
  • SparseFile
  • ReparsePoint
  • דָחוּס
  • לא מקוון
  • NotContentIndexed
  • מוצפן

אם אתה רוצה להכניס את התוכן של כל ספריות המשנה לנתיב, אתה רוצה להשתמש ב -רפואה פָּרָמֶטֶר. אז אז תריץ:

Get-ChildItem -Path E: -Recurse

הקבצים שלך יוצאים כרשימות נפרדות עבור כל תיקיה בנתיב.

כדי להגביל את הנתונים המוחזרים תוכל להשתמש בכמה פרמטרים שונים: -קוֹבֶץ , -מוּסתָר , ו -לקריאה בלבד . אם אתה מעוניין לסנן את שמות הקובץ, תוכל להשתמש בכרטיסי בר בפרמטר Path. כדי להחזיר את כל קבצי .doc בספרייה, הזן:

Get-ChildItem -Path E:*.doc

שוב להוסיף -אחות אם רצית הכל גם מתיקיות המשנה.

אם ברצונך למחוק קובץ השתמש ב:

Remove-Item -Path E:OldFile.txt

כדי לדלג על אישור כל קובץ, הוסף את הפרמטר -אשר $ שקר (ל- Powershell יש שני קבועים לערכים בוליאניים: $ true ו- $ false). כדי לאלץ הסרה של קבצים לקריאה בלבד או מוסתרים, השתמש ב -כּוֹחַ פָּרָמֶטֶר.

העברת קבצים קלה לא פחות. כדי להעביר הכל מכונן הבזק לכונן המקומי בתיקייה השתמש:

Move-Item -Path E:* -Destination C:FlashDriveArchive

אתה יכול גם לתת שם לקובץ יחיד ב- -Path כדי להעביר רק את הקובץ. כדי להעתיק את הקובץ במקום להעביר אותו, אתה משתמש באותו תחביר עם העתק-פריט cmdlet.

ניטור ועבודה עם תהליכים ושירותים

כֹּל משתמשי Windows מכירים את מנהל המשימות . עם זאת, יש דרך מהירה יותר לראות את התהליכים הפועלים כעת מ- Powershell, Get-Process . אם אתה רוצה לדעת מה המשמעות של כל הערכים בטבלה זו, הפנה את הפקודה אליה Get-Member . הזן את ה- cmdlet:

Get-Process | Get-Member

Get-member מוציא רשימה של שיטות ומאפיינים המשויכים ל- Get-Process. המידע למעלה הוא מה שמעניין אותך. אתה רואה שלסוגים שונים של זיכרון יש כינויים.

אנו יכולים גם לראות מפלט זה כי אנו יכולים לקבל את מוצר נכס כדי לקבל שם ידידותי יותר לתהליכים. בואו נשנה את הפלט, כך שיהיה לו מידע טוב יותר שנוכל לעבוד איתו:

האם אני יכול לשדרג את הזיכרון ב- macbook pro
Get-Process | Select-Object Product, NPM, CPU, Name, ID | Sort-Object CPU -Descending

(יש מידע נוסף על בחירת אובייקט ומיון אובייקט בחלק הבא.)

כעת, כאשר יש לך את המזהה מהפקודה Get-Process שלך, תוכל לעצור אותו באמצעות cmdlet עצור-עיבוד. אז אם אתה מגלה שתהליך Chrome לועס את כל המשאבים שלך, מצא את המזהה בפקודה הקודמת. לאחר מכן, הפעל:

Stop-Process -ID 45960

החלף 49560 עם המזהה של חזיר המשאבים שלך.

באמצעות נתיב הקבצים, תוכל להתחיל תהליך באמצעות Powershell. כדי להפעיל את Chrome הפעל את הפקודה הבאה:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe'

(אתה צריך שיהיו הציטוטים סביב נתיב הקובץ בגלל הרווחים.) ה- -רשימת ארגומנטים פרמטר מאפשר לך להעביר ליישום אפשרויות שורת פקודה. במקרה של Chrome, אתה יכול לאלץ אותו להתחיל במצב גלישה בסתר באמצעות -אינקוגניטו דֶגֶל. כל ה- cmdlet הוא:

Start-Process -Filepath 'C:Program Files (x86) GoogleChromeApplicationchrome.exe' -ArgumentList '--incognito'

אתה יכול לעשות את רוב אותם דברים עם שירותים. קבל שירות מציג לך רשימה של כל השירותים הפועלים במחשב שלך. אותו דבר לגבי שירותי התחלה ועצירה, אתה יכול להשתמש בהם התחל שירות ו להפסיק את השירות .

עבודה עם נתונים: מיון- Object, Select-Object, Where-Object

כאשר אתה עובד עם הנתונים מתוך cmdlet, ייתכן שלא תמיד הסדר שאתה רוצה. במקרים אלה, אתה רוצה להשתמש ב- מיון-אובייקט . אתה יכול לקרוא למיון-אובייקט על משתנה שיצרת, אך בעיקר הוא משמש על ידי צנרת cmdlet נוספת. כמו בדוגמה למעלה, אנו מצננים את הפלט של אובייקט אחד למשנהו וממיינים אותו. בואו ניצור מערך של שלושה מספרים אקראיים ונצמד אותו למיון-אובייקט.

כל דבר בסוגריים פועל קודם. צור מערך פשוט בעזרת:

$(Get-Random), $(Get-Random), $(Get-Random)

הקפד לשים לב לפסיקים המפרידים בין הערכים. אז כדי לראות את המספרים האקראיים ממוינים:

$(Get-Random), $(Get-Random), $(Get-Random) | Sort-Object

ה- cmdlet מוציא את המספרים מהקטן לגדול ביותר, אם אתה רוצה להפוך אותו הוסף -יורד .

כאשר אתה מציב cmdlets ל- Get-Member, יש יותר מאפיינים מפלט ברירת המחדל. אתה בוחר נכסים ספציפיים באמצעות Select-Object .

בדיוק כמו Sort-Object, אתה משתמש ב- Select-Object באמצעות cmdlet בצינורות. לדוגמה, ליצירת טבלת שירותים ושימוש בסטטוס שלהם:

Get-Service | Select-Object DisplayName, Status

למרות שהוצאת כל הנתונים האלה היא נחמדה, מה אם אתה רק רוצה לראות נתונים ספציפיים? ל- Get-ChildItem יש סינון מובנה, אך רוב הפקודות לא. במקרים אלה, אתה משתמש היכן-אובייקט .

אם תחזור לשירותים, הפעם אתה תקבל רק שירותי הפעלה. הזן את ה- cmdlet:

Get-Service | Where-Object Status -eq 'Running'

זֶה -משווה בהשוואה הוא Powershell עבור = . ב- Powershell אתה מבצע השוואות עם שילובי אותיות:

  • eq: שווה
  • ne: לא שווה
  • lt: פחות מ
  • gt: גדול מ
  • ge: גדול או שווה ל-
  • le: פחות או שווה ל-
  • כמו: השתמש כמו בהשוואות תווים כלליים

עזרה בעיצוב: עיצוב טבלה ועיצוב רשימה.

עבור ה- cmdlets השונים הללו, רוב הפלט היה בפורמטים של טבלה. זה מציג את הנתונים בשורות ועמודות עם כותרות. כדי להציג ערכים המופיעים בנכסיהם בנפרד, צנב את ה- cmdlet אל Format-List .

לפעמים יש לך פלט שמתרחב מדי עבור חלון ה- Powershell. כשזה קורה, Powershell מכריח אותו לפלט רשימה. כדי לוודא שאתה שומר אותו בתבנית הטבלה, צבר את הפלט שלך פורמט-טבלה .

משורת הפקודה ועד Scripting: השלבים הבאים

ברגע שנוח לך, סקריפטים הם עניין של הזנת cmdlets בקובץ טקסט ושמירתו. אם אתה עצבני לגבי ניסיון סקריפטים, אל תהיה. למיקרוסופט יש כמות עצומה של תיעוד על כל cmdlet. זה מעל ומעבר לתיעוד העזרה הארוך כבר, לכן הקפד לבדוק את Technet [לא זמין יותר].

אם אתה לומד Powershell, הודע לנו בתגובות מה אתה הכי נרגש לעשות. אם יש לך קצת יותר ניסיון, נשמח לשמוע על נושאים מתקדמים יותר שהיית רוצה לראות אותם מכוסים.

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל מחק את הקבצים והתיקיות של Windows כדי לפנות מקום בדיסק

צריך לפנות שטח דיסק במחשב Windows שלך? להלן הקבצים והתיקיות של Windows שניתן למחוק בבטחה כדי לפנות מקום בדיסק.

קרא הבא
נושאים קשורים
  • חלונות
  • תִכנוּת
  • פגז כוח
  • תסריט
על הסופר מייקל מק'קונל(פורסמו 44 מאמרים)

מייקל לא השתמש במאק כאשר הם נידונים לאבדון, אבל הוא יכול לקוד ב- Applescript. הוא בעל תארים במדעי המחשב ובאנגלית; הוא כותב על מק, iOS ומשחקי וידיאו מזה זמן מה; והוא קוף IT במשך היום במשך יותר מעשור, והתמחה בסקריפטים ווירטואליזציה.

עוד מאת מייקל מק'קונל

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה