כיצד לחבר שירותי Exchange Online של Office 365 לפו־אר של PowerShell

לעיתים קרובות, Microsoft Office 365 וכל היישומים הכלולים ניהול דרך דפדפן אינטרנט בממשק משתמש גרפי. בגדול, אתה משתמש במרכז ניהול Office 365 ובממשקי האינטרנט של מרכז הניהול של Exchange. אך יתכן ותצטרך להשתמש בממשק שורת הפקודה (CLI) כדי לבצע פעולות מסיביות החלות על מאות חשבונות משתמש. בנוסף, עשויים להיות רוצה להשתמש ב- cmdlets של Exchange Online, שאינם זמינים במרכז הניהול.

דרישות

קיימות דרישות שחייבות להיעמד כדי להתחבר ל- PowerShell של Exchange Online.

  • עליך להשתמש ב- PowerShell ב- Windows 7 SP1, או גרסאות Windows נייחות חדשות יותר ו- Windows Server 2008 R2 SP1, או גרסאות שרת Windows חדשות יותר. שים לב שיש להתקין .NET Framework 4.5 או מאוחר יותר בנוסף להתקנת גרסה מעודכנת של Windows Management Framework 3.0, 4.0 או 5.1.
  • חיבור אינטרנט נדרש. יש לפתוח פתח TCP 80 כדי להתחבר מהמכשיר המקומי שלך למארח היעד.
  • גישה ל-Exchange Online PowerShell חייבת להיות מאופשרת עבור המשתמש הנוכחי (בדרך כלל גישה כזו מאופשרת עבור מנהלים).

באפשרותך לאפשר באופן ידני גישה להתחבר ל-Exchange Online PowerShell עבור המשתמש המסוים באמצעות הפקודה:

Set-User -Identity [email protected] -RemotePowerShellEnabled $true

עקרון הפעולה

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

השיקול העיקרי שעומד מאחורי התחברות ל-Microsoft Exchange Online ב-PowerShell כולל את הבא:

  • יצירת סשן רחוק ל-Exchange Online ב-PowerShell שנפתח על המחשב המקומי שלך.
  • ספק הגדרות חיבור, העברת אימות.
  • ייבוא cmdlets של PowerShell שנדרשים לניהול Exchange Online מרחוק.

בפוסט בבלוג של היום, נפעיל cmdlets של PowerShell על Windows 10.

הגדרה ידנית

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

  1. פתחו את Windows PowerShell. ניתן לעשות זאת בשיטה לפחות דווקאית.
    1. לחצו על התחל, הקלידו cmd, לחצו על מעטפת הפקודות ובחרו הרץ כמנהל בתפריט ההקשר.
    2. עברו אל התחל > Windows PowerShell. לחצו ימינה על Windows PowerShell ולחצו על הרץ כמנהל כדי לוודא שניתן להריץ פקודות PowerShell ללא הגבלות.
  2. אפשרו את הרצת הסקריפטים (מומלץ להריץ את הפקודה הזו בתחילת ההכנות להנהלת PowerShell כדי לנהל את Exchange Online ו- Office 365), אחרת ייתכן שתקבלו שגיאה בעת הרצת הפקודה Import-PSSession:

    Import-PSSession : קבצים לא ניתנים לטעינה מאחר שהרצת הסקריפטים כבויה במערכת זו. ספקו תעודה תקפה עם היכולת לחתום על הקבצים.

  3. כדי להריץ סקריפטים, עליך להגדיר את מדיניות ההרצה ל־RemoteSigned.

    Set-ExecutionPolicy RemoteSigned

  4. לחץ על Y כדי לאשר שינוי במדיניות אם יתבקש. באפשרותך גם להשתמש בפקודת Set-ExecutionPolicy Unrestricted כדי להשתמש במדיניות Unrestricted.

    ברירת המחדל, מצב מדיניית ההרצה הוא Restricted.

  5. הפעל את הפקודה בפווה של Windows כדי לקבל סמכויות ולהזין את התחברות המנהל שלך/הסיסמה בחלון הקופץ כדי לגשת ל-Exchange Online. המשתמש חייב לקבל הרשאות מנהל גלובליות ב-Office 365.

    $Credential=Get-Credential
    הפרטים שהוזנו ישמרו במשתנה וישמשו בפקודה הבאה כ-$Credential.

  6. נדרש ליצור סשן PowerShell רחוק עם פקודת ה-New-PSSession ולהריץ את הפקודה הבאה:

    $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection

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

  7. פקודות PowerShell של Exchange Online חייבות להיות מיובאות למהלך הנוכחי עם הפקודה:

    Import-PSSession $Session

  8. ניתן לראות את מודד ההתקדמות במהלך קבלת הפקודות.

  9. הערה:
    אם אתה משתמש ב- MFA עבור החשבון שלך, ה-cmdlets התקניים שנתבארו למעלה לא יעבדו. אם ברצונך להתחבר ל-Exchange Online ב-PowerShell באמצעות MFA, הרץ את הפקודה הבאה:

    Connect-EXOPSSession -UserPrincipalName YOUR_UPN

    שם YOUR_UPN (שם המשתמש הראשי) הוא שם החשבון של Office 365 שאתה משתמש בו. עשוי להיות נדרש להתקין את ה-Exchange Online Remote PowerShell Module של Microsoft. שים לב כי בעת שימוש במודול זה, הסשן מסתיים אחרי שעה אחת, מה שעשוי להיות לא נוח להרצת תסריטים ארוכים. שקול להשתמש בכתובות IP מהימנות (כלומר כתובות ה-IP של הארגון שלך) כדי לעקוף את MFA כאשר מתחברים מרשת החברה שלך ל-Exchange Online PowerShell. MFA (Multi-Factor-Authentication) הוא השיטה המתקדמת לאימות שמוסיפה שכבה שנייה של אבטחה. לאחר הזנת סיסמה, קוד האישור נשלח לטלפון הנייד של המשתמש והמשתמש חייב להזין את קוד האישור כדי לאמת את החשבון ולקבל גישה לשירותי הענן של Office 365.

  10. לאחר התחברות ל־Office 365 ול־Exchange Online, תוכל לנהל את הסביבה שלך בענן של Office 365. בוא נוודא שהתחברנו ל־Exchange Online כראוי ונפרט את תיבות הדואר של המשתמשים, לדוגמה.

    Get-Mailbox

    ניתן לרשום את כל ה־cmdlets הזמינים עבור Exchange Online PowerShell עם הפקודה הבאה:


    Get-Command -Module tmp*

    שמות ה־cmdlets של Exchange Online PowerShell לא מתורגמים.

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

    Remove-PSSession $Session

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

למה כדאי להפריד מהסשן? ובכן, פשוט כי מספר הסשנים הפעילים המקבילים שניתן לפתוח בו זמנית מוגבל לשלושה. אם תפתח שלושה סשנים של Exchange Online PowerShell בבת אחת ולא תפריד מהם כאשר אינם בשימוש, תצטרך לחכות עד שאחד מהסשנים הללו יתמחה לפני שתוכל להתחבר שוב ל Exchange Online PowerShell מתוך קונסולת PowerShell חדשה.

התקנה אוטומטית

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

  1. הורדה את התסריט מאתר האינטרנט של מיקרוסופט. שמה של קובץ התסריט הוא ConnectExchangeOnlinePowerShell.ps1 במקרה זה.
  2. עבור אל המדריך בו נמצא התסריט; בדוגמה שלנו, התסריט נשמר בC:\temp_win\.
  3. לפני שתרוץ את התסריט, תעדכן את מדיניות הביצוע של התסריט (בדומה למה שמוצג בשיטה הראשונה), אחרת תקבל את השגיאה:

    הקובץ C:\temp_win\ConnectExchangeOnlinePowerShell.ps1 אינו מורשה באופן דיגיטלי. אין באפשרותך לרוץ בתסריט זה במערכת הנוכחית.

    אפשר להחיל את התעלמות מדיניות הביצוע כדי להתגבר על הבעיה:


    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

  4. הקלד Y לאשר שינוי מדיניות הביצוע.
  5. לאחר מכן, אפשר להפעיל את התסריט. אם אינך משתמש ב-MFA, הפעל את התסריט ללא טיעונים נוספים:

    .\ConnectExchangeOnlinePowerShell.ps1

    אם משתמשים ב-MFA (Multi-Factor Authentication) בסביבת Office 365 שלך, נסה את הפקודה:


    .\ConnectExchangeOnlinePowerShell.ps1 -MFA

  6. Get-Mailbox

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


    ./ConnectExchangeOnlinePowerShell.ps1 -UserName admin@your_domain.com -Password your_password

    שימו לב שהזנת סיסמאות כטקסט פשוט בשורת הפקודה עשויה לא להיות מאובטחת.

  7. כאשר אתם מסיימים לעבוד עם Exchange Online ב-PowerShell, אל תשכחו לסיים את הסשן:

    ./ConnectExchangeOnlinePowerShell.ps1 -ניתוק

שיטה אלטרנטיבית

נבחן שיטה נוספת שניתן להשתמש בה כדי להתחבר ל-Exchange Online PowerShell. שיטה זו ניתנת לתת כהבנה כמחילוף של שיטה הראשונית.

  1. צרו פרופיל חדש עבור PowerShell עם הפונקציה:

    New-item -type file -force $profile

  2. ערכו את קובץ התצורה של הפרופיל בעורך טקסט כדי להוסיף את הפונקציה בכותרת Connect-EXOnline:

    notepad $profile

  3. הוסף את התוכן הבא לקובץ התצורה של פרופיל PowerShell ושנה [email protected] לשם החשבון שלך, ואז שמור את קובץ הטקסט.

    פונקציה Connect-EXOnline
    {
    $credentials = Get-Credential -Credential [email protected]
    Write-Output “מקבל את צוותי הפקודות של Exchange Online”
    $Session = New-PSSession -ConnectionUri https://outlook.office365.com/powershell-liveid/ `
    -ConfigurationName Microsoft.Exchange -Credential $credentials `
    -Authentication Basic -AllowRedirection
    Import-PSSession $Session
    }

  4. סגור את החלון הנוכחי של PowerShell ופתח חלון חדש של PowerShell כמנהל מערכת. הרץ את הפקודה כדי להתחבר ל-Exchange Online PowerShell:

    Connect-ExOnline
    הזן את הסיסמה שלך בחלון הקופץ.

  5. כאשר תסיים לעבוד עם Exchange Online PowerShell, סיים את השיחה באמצעות הפקודה:

    Get-PSSession | Remove-PSSession

מסקנה

Exchange Online PowerShell הוא אלטרנטיבה נחמדה לממשק האינטרנט של מרכז הניהול של Exchange. עם Office 365 PowerShell ו-Exchange Online PowerShell, ניתן לבצע פעולות גורפות ופעולות עם אובייקטים מרובים באמצעות פקודה או סקריפט יחיד. פוסט הבלוג של היום כיסה איך להתחבר ל-Exchange Online PowerShell באמצעות שלושה שיטות, אחת מתוכן היא אוטומטית. עקרון הפעולה של כל אחת מהשיטות דומה ומורכב משלושה שלבים עיקריים: יצירת סשן רחוק של PowerShell, אימות, וייבוא של פקודות Exchange Online PowerShell.

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

Source:
https://www.nakivo.com/blog/how-to-connect-office-365-exchange-online-powershell/