מתחילים ב-PowerShell
גם אם אתם מאוד ותיקים בתחום התשתיות וניהול רשתות, ומכירים כבר פקודות cmd על בוריין- עם פקודות Powershell תוכל להשיג הרבה יותר ובקלות. אנו נסקור כאן רשימת פקודות נפוצות ב-Powershell.
לפני שמתחילים, ראשית יש לפתוח את PowerShell כמנהל.
תוכן העניינים
בדיקת הרצת PowerShell במחשב
על מנת לבדוק אם בכלל ניתן להריץ פקודות PS במחשב יש להקליד:
Get-ExecutionPolicy
לפקודה זו יש 4 תוצאות:
Restricted- סקריפטים של PS אינם מותרים.
AllSigned- תוכלו להריץ סקריפטים רק ממפתחים מאומתים. אותם תצטרכו לאשר בעת ההפעלה.
RemoteSigned- תוכלו להריץ סקריפטים שיצרתם בעצמכם החתומים ע”י מפתחים מאומתים.
Unrestricted- תוכל להריץ איזה סקריפט שתרצה.
במידה והתוצאה היא ה-2 הראשונות- על מנת לאפשר למערכת שלכם להריץ פקודות PS יש להשתמש בפקודה הבאה:
Set-ExecutionPolicy RemoteSigned
*יש ללחוץ על Y כדי לאשר ואנטר
מהם PowerShell Cmdlets
הנה מה הן מאפשרות:
- הרצת פקודות system, פקודות user ו-cmdlets מותאמות אישית.
- הוצאת פלט כאובייקט/ים
- קבלת והעברת נתונים אל פקודות cmdlets נוספות באמצעות Pipes
לפני שנתחיל לצלול חשוב להבין את חלקי הפועל בפקודה:
- Get- על מנת להשיג משהו
- Set- על מנת להגדיר משהו
- Start- על מנת להריץ משהו
- Stop- על מנת לעצור משהו שרץ
- Out- לקבלת פלט של משהו
- New- ליצור משהו
אנו נציג כעת מספר פקודות מעניינות זריזות וקלות להפעלה:
הצגת רשימת תהליכים במערכת
הפקודה הבאה היא פקודה קצר ושימושית:
Get-Process
פעולה זו מציגה את רשימת התהליכים שכרגע רצים על המחשב שלכם, והיא נראית כך בפעולה:
PS C:\> Get-Process Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 822 74 142456 2664 10.28 17752 1 Acrobat 584 31 18680 5448 1.39 7976 1 AcroCEF 345 34 62664 948 2.44 15764 1 AcroCEF 323 34 59624 700 2.11 16000 1 AcroCEF 492 14 3280 1052 0.58 11360 1 acrotray 214 14 2296 1232 0.06 4644 0 agent 519 31 23480 27972 15.00 10604 1 ApplicationFrameHost 146 9 1852 1160 0.02 21408 0 armsvc 402 19 5360 1908 0.63 4776 0 arsm 278 17 30132 24284 6.34 1804 0 audiodg 236 14 4156 17192 0.05 24720 1 backgroundTaskHost 260 17 24700 5276 0.34 452 1 chrome 383 26 80356 15604 28.00 2980 1 chrome 475 28 87740 86752 6.09 3344 1 chrome 362 23 84316 62684 342.47 3632 1 chrome 551 33 76576 44456 895.80 4036 1 chrome 234 14 12068 14396 0.13 4516 1 chrome
להוצאת רשימה זו כטבלה מסודרת באקסל יש להשתמש בשיטה הבאה
פקודות שימושיות נוספות:
Get-Service
– מציגה רשימה של Services עם הסטטוס שלהם
Get-Content
– מציגה את התוכן הנמצא בתוך קובץ, לדוגמה:
Get-Content C:\intel\pinglog.txt
פקודות Cmdlets Custom
באפשרותך ליצור פקודות מותאמות אישית המורכבות ממספר פרמטרים.
שימוש בכלי PowerShell ISE משלים אוטומטית פרמטרים קיימים על סוגיהם, כל שתצטרך הוא להקליד את הסימן מינוס (-) לקבלת הרשימה:
לדוגמה הפקודה הבאה תציג תהליכים הרצים כעת ומתחילים באות W:
Get-Process -Name W*
התוצאה:
PS C:\> Get-Process -Name W* Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 979 28 167628 5008 74.23 10068 1 WavesSvc64 527 22 24824 7188 66.47 5428 0 WavesSysSvc64 156 11 1440 1156 0.13 876 0 wininit 297 14 3348 4820 4.77 1188 1 winlogon 1060 72 53200 336 2.28 9176 1 WinStore.App 1090 49 41228 34892 3.36 4476 1 WINWORD 102 6 1400 1956 0.27 19024 0 wlanext 192 13 3132 4784 9.72 13892 0 WmiPrvSE 282 14 5892 12920 1.98 19336 0 WmiPrvSE 378 18 9012 14712 66.75 1040 0 WUDFHost 370 12 5088 3920 2.88 1336 0 WUDFHost
אם שכחתם פרמטר, תוכלו תמיד להשתמש בפקודה הבאה להצגת הפרמטרים של אותה פקודה:
Get-Process | Get-Member
PS C:\> Get-Process | Get-Member TypeName: System.Diagnostics.Process Name MemberType Definition ---- ---------- ---------- Handles AliasProperty Handles = Handlecount Name AliasProperty Name = ProcessName NPM AliasProperty NPM = NonpagedSystemMemorySize64 PM AliasProperty PM = PagedMemorySize64 SI AliasProperty SI = SessionId VM AliasProperty VM = VirtualMemorySize64 WS AliasProperty WS = WorkingSet64
אם אתם לא מוצאים את פקודת ה-cmdlets, תוכלו לעדכן את ה-Help של אותה פקודה ולבדוק:
Update-Help #to update the help data Get-Help Get-Process -Examples
קיצורי דרך
כמו כל דבר בחיים גם כאן יש אפשרות לקיצורי דרך (כינויים). לכן, במקום לכתוב:
Start-Process notepad
ניתן לכתוב:
start notepad
ולקבל את אותה תוצאה.
כדי לראות את כל קיצורי הדרך הכניסו את הפקודה הבאה:
Get-Alias
המדריך המלא והמקיף יוצע לרכישה בקרוב כאן באתר.
מאמר מצוין! מסביר בצורה ברורה איך להתחיל עם Powershell