אולי אתה עובד בשמחה על שרת Windows מרוחק, ואז מגלה תהליך שרץ בצורה שגויה וצורף מעגלי CPU יקרים. מה עושים? הרוג אותו!
במדריך זה, תלמד כיצד להרוג תהליכי Windows באמצעות יישומים פנימיים, יישומים מצד שלישי ופוורשל. תתחיל כדי ללמוד כיצד לבדוק את התהליכים הפעילים בחלונות ולאחר מכן להרוג תהליכים.
דרישות מוקדמות
אם ברצונך להתקדם עם השלבים במדריך זה, וודא שיש לך את הבא לפניך:
- A Windows PC – All demos in this tutorial will use Windows 10, but Windows 7+ will work also.
- A Windows Server or another Windows desktop to use as your target for killing the remote tasks. This tutorial uses a standalone Windows Server 2016 as the remote server.
- את חבילת Sysinternals ממיקרוסופט.
- Windows PowerShell 5 או גרסה יותר גדולה. במדריך זה נעשה שימוש ב-PowerShell v7.1.3
שאילתת תהליכי Windows מרוחק עם Tasklist
מאז Windows XP, יש כלי שימושי בשם tasklist. Tasklist הוא כלי מועיל המשאיר שאילתות על תהליכים במחשבים מרוחקים. לפני שתוכל להרוג תהליך, עליך ראשית לגלות אותם!
פתח ישיבת PowerShell או את מסלול הפקודות בשולחן העבודה שלך והקלד את הפקודה הבאה כדי להציג את כל התהליכים הפעילים במחשב המרוחק שלך.
הפקודה למטה משאירה שאילתת מחשב מרוחק (/S
) ומאמתת את החיבור עם שם משתמש של המנהל (/U
) וסיסמה (/P
).
תשים לב למטה ששם הסשן Session Name אינו מופיע. מכיוון שאת/ה מפעיל/ה את tasklist
על מחשב מרוחק, tasklist
אינו מספק את שם הסשן.

אולי תעדיף/י לרשום רק תהליך יחיד. אין בעיה. כדי לעשות זאת, ציין/י את הפרמטר /FI
. הפרמטר /FI
מקבל שאילתא שמועברת ל־tasklist
כדי לסנן תהליכים מסוימים.

שאילתת תהליכי Windows מרוחקים עם PSList
כלי נוסף להצגת תהליכים רציניים הוא PSList, והכלי הזה חלק מה־Sysinternals Suite. סוויטת כלים זו קיימת כבר שנים רבות ונוצרה על ידי מארק רוסינוביץ', CTO של Azure!
בוא/י נתחיל באיך ניתן להציג תהליכים רציניים במחשב מרוחק.
1. פתח/י סשן PowerShell או פקודה בשורת פקודה על השולחן שלך ושנה/י את התיקייה למקום שבו פירטת/י את סוויטת הכלים Sysinternal.
2. בסשן PowerShell שלך, הפעל/י את הפקודה הבאה כדי להציג את התהליכים הרציניים במחשב מרוחק ואת שימוש ה־CPU המשוייך בזמן אמת.
הפקודה למטה מריצה pslist
כדי לשאול את כל התהליכים המרוחקים ב-Windows על המחשב WIN-BANGJIEFNOC
תוך אימות שם המשתמש Administrator
(-u
) והסיסמה (-p
).
הפקודה משתמשת במתג -s
הופך את pslist
ל"מצב מנהל המשימות" שמעדכן באופן חוזר את הרשימה.
אם זו הפעם הראשונה שאתה משתמש בכלי של Sysinternals, ייתכן שיופיע באנר שמבקש ממך לקבל את ה-EULA; לחץ על אישור.
אתה כעת רואה את הפלט הבא מריצת הפקודה הזו; לצורך המאמר הזה, אתה מתעניין ב-3 מהערכים האלה. כפי שמוצג למטה.
- שם: שם התהליך.
- Pid: מזהה התהליך, ערך קריטי שנמצא בשימוש במדריך זה, מספר ה-PID יכול לשמש להריגת תהליך מרוחק. זהו המזהה המספרי המוקצה לתהליך.
- CPU: זה מראה בזמן אמת קרוב את הניצול של ה-CPU הזמין שלך באופן כולל.
הערכים האחרים הם קשורים לזיכרון ומחוץ להיקף מאמר זה.

3. מכיוון ששלב שני השתמש במתג -s
, לחץ על Ctrl-C כדי לצאת מpslist
כדי לחזור לקונסול.
צמצם את רשימת התהליכים שהוחזרו על ידי שימוש במתג
-e
אחריו שם התהליך, לדוגמה,-e Winlogon
.
הורג תהליכים לפי שם התהליך עם PSKill
כשכבר אתה יודע איך למצוא תהליכים רחוקים, בוא נתחיל כעת ללמוד איך להורוג אותם. לאתחל, נכסה את הכלי pskill . למד תחילה כיצד להורוג תהליכים לפי שם התהליך.
1. וודא שיש לך תהליך שאתה יכול להורג בשרת המרוחק שלך. במדריך זה, נשתמש בתהליך של notepad.
2. פתח חלון של PowerShell או אופן פעולה בפקודת שורה בשולחן העבודה המקומי שלך ושנה את התיקייה לאן שחילצת את ה-Sysinternal Suite והפעל את הפקודה הבאה. תוכל לראות שהתחברות עם pskill
דומה ל-pslist
.

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

הורג תהליכים לפי מספר זיהוי התהליך עם PSKill
להורוג את התהליך לפי שם יכול להיות מספיק טוב עבור צורכיך אם יש רק הופעה אחת של תהליך זה רצה או אם ברצונך להורוג את כל התהליכים עם אותו שם. אך מה קורה אם אתה רוצה להורוג מופע כלשהו של תהליך שרץ? השלבים הבאים ידגימו את זה.
1. על השרת המרוחק שלך, פתח Notepad פעמיים; תהרוג אחד מתהליכים אלו בהדגמה זו; כמובן שתוכל להחליף תהליכים אחרים.
2. הפעל את הפקודה הבאה ושים לב לאחת מה-Pid כפי שמוצג למטה; תצטרך לזכות בזה עבור השלב הבא.

3. באמצעות ה-PID, הרץ כעת את pskill
, וספק את ה-PID כפרמטר האחרון.

4. לבסוף, בדוק שיש לך עדיין רק יחידה של Notepad רצה על ידי הרצת מחדש של pslist
. עכשיו אתה אמור לראות רק יחידה אחת של Notepad רצה.

הרג של תהליכים רחוקים באמצעות TaskKill לפי שם
הכלי taskkill מובנה ב-Windows וכולל אפשרויות נוספות בשורת פקודה לאחזור תהליכים על ידי שם משתמש ושם אפליקציה. בואו נתחיל ונהרוג שוב את Notepad!
הורג על ידי שם
1. על השרת המרוחק שלך, פתח את Notepad; Notepad הוא התהליך שתהוגן במחזור דגם זה; בהחלט תוכל להחליף תהליך אחר.
2. פתח חלון פושרשל או פקודת פקודה בשולחן העבודה שלך. לקליקה על הפקודה הבאה תהרוג את notepad.exe
הפלט מוצג למטה:
/IM הוא הפרמטר לתמונה; במקרה זה, זה notepad.exe

3. לאימות שהתהליך נעצר, הרץ tasklist
. עכשיו אתה אמור לראות שאין משימות התואמות את המסנן.

הורג של תהליכים רחוקים באמצעות TaskKill לפי PID
ההורג של תהליך עם taskkill
באמצעות PID אינו שונה הרבה משימוש בשם התהליך. אך, מכיוון שאין באפשרותך להשתמש בשם, תצטרך תחילה למצוא את ה-PID ולאחר מכן להעביר אותו ל-taskkill
.
בהנחה שיש לך את Notepad רץ במחשב Windows המרוחק שלך:
1. הרץ את tasklist
כפי שמוצג למטה כדי למצוא את זיהוי ה־PID של תהליך ה־Notepad. שים לב לאחת מה־PID’s כפי שמוצג למטה; יש צורך בזה לשלב השלב הבא.

2. כעת, הרץ את taskkill
וספק את ה־PID כארגומנט אחרון.

3. לבסוף, הרץ את tasklist
כדי לוודא שהתהליך נעצר.

להורג תהליך מרוחק באמצעות PowerShell
PowerShell מספק לך מספר אפשרויות להרוג תהליכים מרוחקים; ה־cmdlet הראשון Stop-Process
אינו יכול להרוג תהליך מרוחק באופן טבעי, מכיוון שאין לו אפשרות לציין שם מחשב. אך, ניתן לעקוף את הבעיה זו על ידי הרצת Stop-Process
מרחוק באמצעות פקודות רימוט של PowerShell.
1. אם המחשב המארח והשרת המרוחק אינם נמצאים בדומיין של Active Directory, ספק תחילה שם משתמש וסיסמה, וצור אובייקט PSCredential.

שלברולים, מאחל לך חוויית קודום נפלאה! כאן תרגום לטקסט שלך בעברית:
2. לבצע זאת, מכיוון שהמדריך ישתמש ב-SSL להתחבר למחשב רחוק וישתמש בתעודה אוטומטית, יש ליצור PSSessionOption שידלג על בדיקת התעודה עבור רשות תעודה אמינה.
3. כעת, להתחבר לשרת עם הפקודה Enter-PSSession
, שתקים ישיבה אינטראקטיבית לשרת הרחוק.
הפקודה למטה מתחברת למחשב WIN-BANGJIEFNOC.local.net
באמצעות שם משתמש וסיסמה שסופקו למעלה (Credential
), דולגת על בדיקת רשות התעודה (SessionOption
), ומתחברת באמצעות SSL (UseSSL
).

4. לאחר התחברות לשרת רחוק, יש לבדוק את התהליך שברצונך להפסיק על ידי הרצת Get-Process
. במקרה זה, ייתכן ותראה את התהליך של notepad
.

5. על מנת להפסיק את התהליך הזה, יש להריץ את Stop-Process
, כפי שמוצג למטה.
6. לבסוף, לוודא שהתהליך הופסק על ידי הפעלת מחדש של Get-Process
, וכדאי לקבל הודעת שגיאה.

אם ברצונך להפסיק תהליך Windows רחוק באופן לא אינטראקטיבי, יש להשתמש בפקודה
Invoke-Command
עם הפרמטרים הבאים:Invoke-Command -ComputerName WIN-BANGJIEFNOC.local.net -Credential $credentials -ScriptBlock {Stop-Process -ProcessName notepad} -UseSSL
. כלכלה בפקודהStop-Proces
בפרמטרScriptBlock
שולחת את הפקודה לשרת רחוק.
סיום
למדת על שיטות שונות להרוג תהליכים מרחוק וכיצד להתמודד עם מצבים בהם כללי הגנה ברשת עשויים למנוע את פעולתם של כלי העזר; מדריך זה עשוי גם לעזור לך לתקן בעיות בחלונות.
הכלים שלמדת עליהם הם כלים עזים; השתמש בהם בזהירות!
Source:
https://adamtheautomator.com/how-to-kill-a-windows-process/