מתחילים ב-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