שערי WinRM: מדריך להגדרות ברירת מחדל והתאמה אישית

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

קשור: שליטה בפוש רימוט: מדריך הסופי

המאזין של WinRM

אחד מהחלקים החשובים ביותר של WInRM (והפורטים שהוא פועל עליהם) הוא המאזין של WinRM.

המאזין של WinRM הוא שרת אינטרנט בלבו. הוא תקשר עם HTTP ו-HTTPS ובימי ההתחלה של ווינדוס 7 גם השתמש באופן ברירת המחדל באותם פורטים 80 ו-443 שרוב שרתי האינטרנט משתמשים בהם.

המאזין רץ כשירות במחשב שלך שמחכה להתחברויות שניתן להנסות להקים, בדומה לשרת אינטרנט רגיל.

A WinRm listener can listen two different ways; HTTP or HTTPS. The WinRM port for HTTP is 5985 while the WinRm port for HTTPS is 5986, by default.

  • HTTP – פורט 5985
  • HTTPS – פורט 5986

קשור: שליטה בפוש רימוט: מדריך הסופי

שגיאות בהתחברות לפורטים שגויים

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

שינוי הפורטים של WinRM

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

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

Failed WinRM connection due to wrong port

אם כן, הגיע הזמן לשנות את יצירת הקשרים בצד של השרת!

כדי לשנות את יצירת הקשרים ב- WinRM, תצטרך תחילה לגלות אם כבר יש לך שירות שקולט על היציאות האלו.

מעקב אחר חיבורים קיימים

הדרך הקלה ביותר לגלות אילו יציאות בשימוש במחשב ב-Windows היא להשתמש בכלי ה- netstat כלי. Netstat בודק את כל היציאות הפעילות במערכת שלך ואם הן פעילות, הוא מחזיר את כתובת ה-IP והיציאה מקור ויעד.

כדי למצוא יציאות שמקשרות לפני שאתה משנה יצירת קשר ב- WinRM, הפעל את netstat -aon. המתגים -aon:

  • מציגים את כל החיבורים הפעילים (a)
  • מציגים את מזהה התהליך של התהליך שפתח את החיבור (o)
  • אינם מנסים לפתור שמות DNS של יעדי IP (n)
Running netstat to find listening connections

אם שרת האינטרנט קשוב על יציאה 80, לדוגמה, תראה שורה שבה הכתובת המקומית נגמרת ב- :80 מתחת לעמודה Local Address. בשורה זו תראה את PID או מזהה התהליך שהחיבור משתמש בו.

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

Running Get-Process to find process name

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

הגדרת יציאות תאימות WinRM

WinRM מכיל תכונה הנקראת יציאות תאימות. יציאות התאימות קיימות כדי לתמוך באחזור אחורה עם מספר מערכות מותקנות ישנות שעובדות רק על יציאות 80 ל-HTTP ו-443 ל-HTTPS. אם נדרש לשנות את WinRM כדי להאזין ליציאות אלו, יש לאפשר את המאזינים לתאימות.

כאשר תידע שאין לך דברים נוספים רצים על יציאות 80 ו-443, יש להגדיר את המאזינים של WSMan להשתמש ביציאות התאימות (80 ל-HTTP ו-443 ל-HTTPS).

Set-Item WSMan:\localhost\Service\EnableCompatibilityHttpListener -Value $true
 Set-Item WSMan:\localhost\Service\EnableCompatibilityHttpsListener -Value $true

הגדרת WinRM להאזין לכל יציאה

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

  1. מצא את שם המאזין. ניתן לעשות זאת על ידי רשימת כל המאזינים של WinRM באמצעות פקודת הפוורשל Get-Item. הפקודה למטה מציינת את כל המאזינים (*) המותקנים כעת.
Get-Item WSMan:\localhost\Listener*
Getting all existing WinRm listeners

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

Set-Item WSMan:\localhost\Listener\\Port -Value 

3. בנקודה זו, מאזני WinRM מאזינים לפייתון בפורטים הנכונים, חמת האש של Windows כנראה מרדית חיבורים מרוחקים לאותם פורטים. עליך לפתוח את הפורטים הללו. כדי לעשות זאת, הרץ את הפקודה הבאה. הפקודה New-NetFirewallRule למטה יוצרת כלל חומת אש של Windows שמתיר לכל חיבורי TCP נכנסים לפורט מותאם אישית.

$FirewallParam = @{
     DisplayName = 'Custom WinRM Port Rule'
     Direction = 'Inbound'
     LocalPort = 
     Protocol = 'TCP'
     Action = 'Allow'
     Program = 'System'
 }
 New-NetFirewallRule @FirewallParam

קשור: השבת את חומת האש של Windows: גלה את הדרכים הרבות

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

Failed WinRM connection due to Windows firewall

התחברות לפורט מותאם אישית עם PSRemoting

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

באמצעות כל אחת מהפקודות PSRemoting כמו Invoke-Command או Enter-PSSession, ציין את הפרמטר Port והפורט שהוגדר כדי להתחבר בהצלחה.

Enter-PSSession -ComputerName <hostname> -Port 1111
Successful WinRm connection

קשור: Invoke-Command: הדרך הטובה ביותר להפעיל קוד מרחוק

Source:
https://adamtheautomator.com/winrm-port/