מדוע עליך להשתמש ב- PowerShell עבור Microsoft 365

מאמר זה חל הן על Microsoft 365 Enterprise והן Office 365 Enterprise.

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

הערה

מודול Azure Active Directory מוחלף על-ידי SDK של Microsoft Graph PowerShell. באפשרותך להשתמש ב- SDK של Microsoft Graph PowerShell כדי לגשת לכל ממשקי ה- API של Microsoft Graph. לקבלת מידע נוסף, ראה תחילת העבודה עם Microsoft Graph PowerShell SDK. חלק מהפקודות של PowerShell עבור Microsoft 365 במאמר זה עודכנו לשימוש ב- Microsoft Graph PowerShell.

מאמר זה מראה כיצד להשתמש ב- PowerShell כדי לנהל את Microsoft 365 כדי:

  • חשוף מידע נוסף שאינך יכול לראות מרכז הניהול של Microsoft 365

  • קביעת תצורה של תכונות והגדרות אפשריות רק באמצעות PowerShell

  • ביצוע פעולות בצובר

  • סינון נתונים

  • הדפסה או שמירה של נתונים

  • ניהול בין שירותים

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

Get-Mailbox

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

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

  • התקן את המודולים של PowerShell עבור Microsoft 365 (מתבצע פעם אחת בלבד עבור כל מחשב מנהל מערכת).

  • התחבר למנוי Microsoft 365 שלך (פעם אחת עבור כל הפעלה של PowerShell).

  • אסוף את המידע הדרוש להפעלת הפקודות הנדרשות של PowerShell עבור Microsoft 365.

  • הפעל פקודות של PowerShell עבור Microsoft 365.

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

PowerShell עבור Microsoft 365 יכול לחשוף מידע שאינך יכול לראות באמצעות מרכז הניהול של Microsoft 365

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

דוגמה להצגה של משתמשים וקבוצות מרכז הניהול של Microsoft 365.

תצוגה זו מספקת את המידע הדרוש לך במקרים רבים. עם זאת, יש מקרים שבהם אתה זקוק ליותר. לדוגמה, רישוי Microsoft 365 (ותכונות Microsoft 365 הזמינות למשתמש) תלויות בחלקן במיקום הגיאוגרפי של המשתמש. ייתכן שהמדיניות והתכונות שניתן להרחיב למשתמש שגר בארצות הברית לא יהיו זהות לאלה שניתן להרחיב למשתמש בהודו או בבלגיה. בצע שלבים אלה מרכז הניהול של Microsoft 365 כדי לקבוע את המיקום הגיאוגרפי של המשתמש:

  1. לחץ פעמיים על שם התצוגה של המשתמש.

  2. בחלונית התצוגה של מאפייני המשתמש, בחר פרטים.

  3. בתצוגת הפרטים, בחר פרטים נוספים.

  4. גלול עד שתמצא את הכותרת מדינה או אזור:

    דוגמה של פרטי האזור עבור משתמש מרכז הניהול של Microsoft 365.

  5. כתוב את שם התצוגה והמיקום של המשתמש על פיסת נייר, או העתק והדבק אותם ב'פנקס רשימות'.

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

הערה

מודול Azure Active Directory מוחלף על-ידי SDK של Microsoft Graph PowerShell. באפשרותך להשתמש ב- SDK של Microsoft Graph PowerShell כדי לגשת לכל ממשקי ה- API של Microsoft Graph. לקבלת מידע נוסף, ראה תחילת העבודה עם Microsoft Graph PowerShell SDK.

תחילה, השתמש Microsoft Entra DC, יישום ענן מרכז הניהול או חשבון מנהל מערכת כללי כדי להתחבר לדייר Microsoft 365 שלך.

קבלת מידע עבור משתמש דורשת את טווח ההרשאה User.ReadBasic.All או אחת מההרשאות האחרות המפורטות בדף ההפניה ל- Graph API של 'הקצאת רשיון' של Graph.

טווח ההרשאה Organization.Read.All נדרש כדי לקרוא את הרשיונות הזמינים בדייר.

הערה

Azure AD ו- MSOnline PowerShell הוצאו משימוש נכון ל- 30 במרץ, 2024. לקבלת מידע נוסף, קרא את עדכון הפחת. לאחר תאריך זה, התמיכה במודולים אלה מוגבלת לסיוע בהעברה ל- Microsoft Graph PowerShell SDK ולתוני אבטחה. המודולים שהופחתו ימשיכו לפעול עד 30 במרץ 2025.

אנו ממליצים לעבור ל- Microsoft Graph PowerShell כדי לקיים אינטראקציה עם Microsoft Entra מזהה (בעבר Azure AD). לשאלות נפוצות בנושא העברה, עיין בשאלות נפוצות בנושא העברה. הערה: גירסאות 1.0.x של MSOnline עשויות להיתקל בהפרעה לאחר 30 ביוני 2024.

Connect-MgGraph -Scopes "User.ReadBasic.All"
Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation

להלן דוגמה של התוצאות:

DisplayName                               UsageLocation
-----------                               -------------
Bonnie Kearney                            GB
Fabrice Canel                             BR
Brian Johnson (TAILSPIN)                  US
Anne Wallace                              US
Alex Darrow                               US
David Longmuir                            BR

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי (Get-MgUser), אך רק להציג את השם והמיקום עבור כל משתמש (בחר DisplayName, UsageLocation).

מאחר ש- PowerShell עבור Microsoft 365 תומך בשפת מעטפת פקודה, באפשרותך להמשיך ולטפל במידע שהתקבל על-ידי הפקודה Get-MgUser . לדוגמה, ייתכן שתרצה למיין משתמשים אלה לפי המיקום שלהם, לקבץ את כל המשתמשים הברזילאים יחד, את כל המשתמשים של ארצות הברית יחד וכן הלאה. להלן הפקודה:

Get-MgUser -All -Property DisplayName, UsageLocation | Select DisplayName, UsageLocation | Sort UsageLocation, DisplayName

להלן דוגמה של התוצאות:

DisplayName                                 UsageLocation
-----------                                 -------------
David Longmuir                              BR
Fabrice Canel                               BR
Bonnie Kearney                              GB
Alex Darrow                                 US
Anne Wallace                                US
Brian Johnson (TAILSPIN)                    US

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי, אך הצג רק את השם והמיקום עבור כל משתמש ומיין אותם תחילה לפי מיקומם ולאחר מכן את שמם (Sort UsageLocation, DisplayName).

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

Get-MgUser -All -Property DisplayName, Country | Where-Object {$_.Country -eq "BR"} | Select DisplayName, Country 

להלן דוגמה של התוצאות:

DisplayName                                           UsageLocation
-----------                                           -------------
David Longmuir                                        BR
Fabrice Canel                                         BR

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי, שהמיקום שלו הוא ברזיל (כאשר {$_. UsageLocation -eq "BR"}) ולאחר מכן הצג את השם והמיקום עבור כל משתמש.

הערה לגבי תחומים גדולים

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

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

Get-MgUser -All | Select DisplayName, UsageLocation

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

$x = Get-MgUser -All -Property DisplayName, UsageLocation
$x | Select DisplayName, UsageLocation

הפרשנות של ערכה זו של פקודות PowerShell היא:

  1. קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי ולאחסן את המידע במשתנה בשם $x ($x = Get-MgUser).
  2. הצג את תוכן המשתנה $x, אך כלול רק את השם והמיקום עבור כל משתמש ($x | בחר DisplayName, UsageLocation).

Microsoft 365 כולל תכונות שניתן להגדיר באמצעות PowerShell עבור Microsoft 365 בלבד

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

לדוגמה, מרכז הניהול Skype for Business Online מספק כמה אפשרויות ליצירת הזמנות מותאמות אישית לפגישה:

דוגמה להצגה של הזמנות מותאמות אישית לפגישה במרכז Skype for Business Online מרכז הניהול.

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

  • משתמשים אנונימיים כדי לקבל כניסה אוטומטית לכל פגישה.

  • משתתפים כדי להקליט את הפגישה.

  • כל המשתמשים מהארגון שלך ייועדו כמציגים כשהם מצטרפים לפגישה.

הגדרות אלה אינן זמינות במרכז הניהול Skype for Business Online. באפשרותך לשלוט בהם מתוך PowerShell עבור Microsoft 365. להלן פקודה שמבטלת את שלוש ההגדרות הבאות:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $False -AllowConferenceRecording $False -DesignateAsPresenter "None"

הערה

כדי להפעיל פקודה זו, עליך להתקין את Skype for Business Online PowerShell Module.

הפרשנות של פקודת PowerShell זו היא:

  1. בהגדרות עבור פגישות מקוונות חדשות של Skype for Business (Set-CsMeetingConfiguration), הפוך את מתן אפשרות למשתמשים אנונימיים לקבל כניסה אוטומטית לפגישות (-AdmitAnonymousUsersByDefault $False).
  2. השבת את היכולת של משתתפים להקליט פגישות (-AllowConferenceRecording $False).
  3. אל תקצה את כל המשתמשים מהארגון שלך כמציגים (-DesignateAsPresenter "None").

כדי לשחזר הגדרות ברירת מחדל אלה (הפוך את האפשרויות לזמינות), הפעל פקודה זו:

Set-CsMeetingConfiguration -AdmitAnonymousUsersByDefault $True -AllowConferenceRecording $True -DesignateAsPresenter "Company"

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

PowerShell עבור Microsoft 365 הוא דרך נהדרת לפעולות בצובר

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

אך אם עליך לשנות דברים רבים או כמה דברים שנבחרו מתוך קבוצה גדולה של דברים אחרים, ייתכן שהמכשיר מרכז הניהול של Microsoft 365 הוא הכלי הטוב ביותר. לדוגמה, נניח שתצטרך לשנות את הקידומת באלפי מספרי טלפון או להסיר את המשתמש הספציפי Ken Myer מכל אתרי SharePoint שלך. איך היית עושה את זה מרכז הניהול של Microsoft 365?

עבור הדוגמה האחרונה, נניח שיש לך כמה מאות אתרי SharePoint, ואינך יודע באלו קן מייר חבר. יהיה עליך להתחיל ב- מרכז הניהול של Microsoft 365 מכן לבצע הליך זה עבור כל אתר:

  1. בחר את כתובת ה- URL של האתר.

  2. בתיבה מאפייני אוסף האתרים , בחר את הקישור כתובת אתר אינטרנט כדי לפתוח את האתר.

  3. באתר, בחר שתף.

  4. בתיבת הדו-שיח שיתוף, בחר את הקישור שמציג את כל המשתמשים שיש להם הרשאות לאתר:

    דוגמה להצגת החברים באתר SharePoint במרכז מרכז הניהול SharePoint.

  5. בתיבת הדו-שיח משותף עם, בחר מתקדם.

  6. גלול מטה ברשימת המשתמשים, חפש ובחר Ken Myer (בהנחה שיש לו הרשאות לאתר) ולאחר מכן בחר הסר הרשאות משתמש.

פעולה זו תחלוף זמן רב במשך כמה מאות אתרים.

החלופה היא להפעיל את הפקודה הבאה ב- PowerShell עבור Microsoft 365 כדי להסיר את Ken Myer מכל האתרים שלך:

Get-SPOSite | ForEach {Remove-SPOUser -Site $_.Url -LoginName "kenmyer@litwareinc.com"}

הערה

פקודה זו דורשת התקנה של מודול SharePoint PowerShell.

הפרשנות של פקודה זו של PowerShell היא: קבל את כל אתרי SharePoint במנוי Microsoft 365 הנוכחי (Get-SPOSite) שעבור כל אתר הסר את קן מייר מרשימת המשתמשים שיכולים לגשת אליו (ForEach {Remove-SPOUser -Site $_. כתובת URL -LoginName "kenmyer@litwareinc.com"}).

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

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

Get-SPOSite | ForEach {Add-SPOUser -Site $_.Url -LoginName "bkearney@litwareinc.com" -Group "Members"}

הפרשנות של פקודה זו של PowerShell היא: קבל את כל אתרי SharePoint במנוי Microsoft 365 הנוכחי, עבור כל אתר אפשר לבוני קרני לגשת על-ידי הוספת שם הכניסה שלה לקבוצת החברים באתר (ForEach {Add-SPOUser -Site $_. כתובת URL -LoginName "bkearney@litwareinc.com" -קבוצה "חברים"}).

PowerShell עבור Microsoft 365 הוא פתרון מצוין לסינון נתונים

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

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

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

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

באפשרותך להשתמש בפקודה הבאה של PowerShell עבור Microsoft 365 כדי לקבל רשימה של תיבות דואר עבור כל האנשים הגרים בבלומינג או בסן דייגו:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")} | Select DisplayName, City

להלן דוגמה של התוצאות:

DisplayName                              City
-----------                              ----
Alex Darrow                              San Diego
Bonnie Kearney                           San Diego
Julian Isla                              Bloomington
Rob Young                                Bloomington

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי שיש להם תיבת דואר בעיר סן דייגו או בלומינגטון (כאשר {$__. RecipientTypeDetails -eq "UserMailbox" - ו- ($_. עיר -eq "סן דייגו" -או $_. City -eq "Bloomington")}) ולאחר מכן הצג את השם והעיר עבור כל אחד מהם (בחר DisplayName, City).

והנה הפקודה להציג רשימה של כל תיבות הדואר עבור אנשים הגרים בכל מקום מלבד בלומינגטון:

Get-User | Where {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"} | Select DisplayName, City

להלן דוגמה של התוצאות:

DisplayName                               City
-----------                               ----
MOD Administrator                         Redmond
Alex Darrow                               San Diego
Allie Bellew                              Bellevue
Anne Wallace                              Louisville
Aziz Hassouneh                            Cairo
Belinda Newman                            Charlotte
Bonnie Kearney                            San Diego
David Longmuir                            Waukesha
Denis Dehenne                             Birmingham
Garret Vargas                             Seattle
Garth Fort                                Tulsa
Janet Schorr                              Bellevue

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי שיש להם תיבת דואר שלא ממוקמת בעיר בלומינגטון (כאשר {$__. RecipientTypeDetails -eq "UserMailbox" - ו- $_. City -ne "Bloomington"}), ולאחר מכן להציג את השם והעיר עבור כל אחד מהם.

שימוש בתווים כלליים

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

באפשרותך לאתר משתמש זה ב- מרכז הניהול של Microsoft 365 באמצעות כלי החיפוש ולבצע שלושה חיפושים שונים:

  • אחד לאנדרסון

  • אחד להנדרסון

  • אחד ליורגנסון

מאחר שכל שלושת השמות האלה מסתיימים ב- "son", באפשרותך לומר ל- PowerShell להציג את כל המשתמשים ששמם מסתיים ב"בן". להלן הפקודה:

Get-User -Filter '{LastName -like "*son"}'

הפרשנות של פקודה זו של PowerShell היא: קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי, אך השתמש במסנן המפרט רק את המשתמשים ששמות המשפחה שלהם מסתיים ב- "son" (-Filter '{LastName -like "*son"}'). התווים * מייצגים כל קבוצת תווים, שהם אותיות בשם המשפחה של המשתמש.

PowerShell עבור Microsoft 365 מקל עליך להדפיס או לשמור נתונים

הטבלה מרכז הניהול של Microsoft 365 מאפשרת לך להציג רשימות של נתונים. להלן דוגמה של מרכז הניהול Skype for Business Online המציג רשימה של משתמשים שהוכנו עבור Skype for Business Online:

דוגמה של Skype for Business Online מרכז הניהול מציג רשימה של משתמשים שהוכנו עבור Skype for Business Online.

כדי לשמור מידע זה בקובץ, עליך להדביק אותו במסמך או בגליון עבודה של Microsoft Excel. כל אחד מ הרישיות עשוי לדרוש עיצוב נוסף. בנוסף, מרכז הניהול של Microsoft 365 אינו מספק דרך להדפיס ישירות את הרשימה המוצגת.

למרבה המזל, באפשרותך להשתמש ב- PowerShell לא רק כדי להציג את הרשימה אלא גם כדי לשמור אותה בקובץ שניתן לייבא אותו בקלות ל- Excel. להלן פקודה לדוגמה לשמירת נתוני משתמש של Skype for Business Online בקובץ ערכים המופרדים באמצעות פסיק (CSV), שניתן לייבא בקלות כטבלה בגליון עבודה של Excel:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation

להלן דוגמה של התוצאות:

דוגמה לטבלה שיובאה לגליון עבודה של Excel Skype for Business נתוני משתמש מקוונים שנשמרו בקובץ ערכים המופרדים באמצעות פסיק.

הפרשנות של פקודה זו של PowerShell היא: קבל את כל משתמשי Skype for Business Online במנוי Microsoft 365 הנוכחי (Get-CsOnlineUser); השג רק את שם המשתמש, ה- UPN והמיקום (בחר DisplayName, UserPrincipalName, UsageLocation); ולאחר מכן שמור מידע זה בקובץ CSV בשם C:\Logs\SfBUsers.csv (Export-Csv -Path "C:\Logs\SfBUsers.csv" -NoTypeInformation).

באפשרותך גם להשתמש באפשרויות כדי לשמור רשימה זו כקובץ XML או כדף HTML. למעשה, עם פקודות נוספות של PowerShell, באפשרותך לשמור אותו ישירות כקובץ Excel, עם כל עיצוב מותאם אישית שתרצה.

באפשרותך גם לשלוח את הפלט של פקודת PowerShell המציגה רשימה ישירות למדפסת ברירת המחדל ב- Windows. להלן פקודה לדוגמה:

Get-CsOnlineUser | Select DisplayName, UserPrincipalName, UsageLocation | Out-Printer

כך ייראה המסמך המודפס:

דוגמה של מסמך מודפס שהיה הפלט של פקודת PowerShell שנשלחה ישירות למדפסת ברירת המחדל ב- Windows.

הפרשנות של פקודה זו של PowerShell היא: קבל את כל משתמשי Skype for Business Online במנוי Microsoft 365 הנוכחי; השג רק את שם המשתמש, ה- UPN והמיקום; ולאחר מכן שלח מידע זה למדפסת Windows המהווה ברירת מחדל (Out-Printer).

המסמך המודפס כולל עיצוב פשוט זהה לעיצוב התצוגה בחלון הפקודה של PowerShell. כדי לקבל עותק קשיח, פשוט הוסף | מדפסת מחוץ לסיום הפקודה.

PowerShell עבור Microsoft 365 מאפשר לך לנהל בכל מוצרי השרת

הרכיבים המרכיבים את Microsoft 365 מיועדים לפעול יחד. לדוגמה, נניח שאתה מוסיף משתמש חדש ל- Microsoft 365, ואתה מציין מידע כגון המחלקה ומספר הטלפון של המשתמש. לאחר מכן, מידע זה יהיה זמין אם אתה ניגש למידע של המשתמש בכל אחד מהשירותים של Microsoft 365: Skype for Business Online, Exchange או SharePoint.

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

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

  • שם התצוגה של המשתמש

  • אם למשתמש יש רשיון עבור Microsoft 365

  • אם תיבת הדואר של Exchange של המשתמש נקבעה כזמינה

  • אם המשתמש זמין עבור Skype for Business Online

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

החלופה היא להשתמש בקובץ Script של PowerShell כדי להדר את הדוח עבורך.

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

Connect-MgGraph -Scopes "User.ReadBasic.All"
$x = Get-MgUser -All

foreach ($i in $x)
    {
      $y = Get-Mailbox -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled

      $y = Get-CsOnlineUser -Identity $i.UserPrincipalName
      $i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -Value $y.Enabled
    }

$x | Select DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB

להלן דוגמה של התוצאות:

DisplayName             IsLicensed   IsMailboxEnabled   EnabledForSfB
-----------             ----------   ----------------   --------------
Bonnie Kearney          True         True               True
Fabrice Canel           True         True               True
Brian Johnson           False        True               False
Anne Wallace            True         True               True
Alex Darrow             True         True               True
David Longmuir          True         True               True
Katy Jordan             False        True               False
Molly Dempsey           False        True               False

הפרשנות של קובץ Script זה של PowerShell היא:

  1. קבל את כל המשתמשים במנוי Microsoft 365 הנוכחי ולאחסן את המידע במשתנה בשם $x ($x = Get-MgUser).
  2. הפעל לולאה שמופעלת מעל כל המשתמשים במשתנה $x ($i ב- $x)).
  3. הגדר משתנה בשם $y ואחסן את פרטי תיבת הדואר של המשתמש בו ($y = Get-Mailbox -Identity $i.UserPrincipalName).
  4. הוסף מאפיין חדש למידע המשתמש בשם IsMailBoxEnabled. הגדר אותו לערך של המאפיין IsMailBoxEnabled של תיבת הדואר של המשתמש ($i | Add-Member -MemberType NoteProperty -Name IsMailboxEnabled -Value $y.IsMailboxEnabled).
  5. הגדר משתנה בשם $y, ואחסן את פרטי המשתמש Skype for Business Online בו ($y = Get-CsOnlineUser -Identity $i.UserPrincipalName).
  6. הוסף מאפיין חדש למידע המשתמש בשם EnabledForSfB. הגדר אותו לערך של המאפיין זמין של המידע המקוון של המשתמש Skype for Business ($i | Add-Member -MemberType NoteProperty -Name EnabledForSfB -value $y.Enabled).
  7. הצג את רשימת המשתמשים, אך כלול רק את שמם, בין אם יש להם רשיון ושני המאפיינים החדשים המציינים אם תיבת הדואר שלהם זמינה ואם הם זמינים עבור Skype for Business Online ($x | בחר DisplayName, IsLicensed, IsMailboxEnabled, EnabledforSfB).

למידע נוסף

תחילת העבודה עם PowerShell עבור Microsoft 365

ניהול חשבונות משתמשים, רשיונות וקבוצות של Microsoft 365 באמצעות PowerShell

שימוש Windows PowerShell כדי ליצור דוחות ב- Microsoft 365