ניהול משתמשים וקבוצות של SharePoint באמצעות PowerShell
מאמר זה חל הן על Microsoft 365 Enterprise והן Office 365 Enterprise.
אם אתה מנהל מערכת של SharePoint שעובד עם רשימות גדולות של חשבונות משתמשים או קבוצות ואתה מעוניין בדרך קלה יותר לנהל אותם, באפשרותך להשתמש ב- PowerShell עבור Microsoft 365.
לפני שתתחיל, ההליכים במאמר זה מחייבים אותך להתחבר ל- SharePoint. לקבלת הוראות, ראה התחברות ל- SharePoint PowerShell
קבל רשימה של אתרים, קבוצות ומשתמשים
לפני נתחיל לנהל משתמשים וקבוצות, עליך לקבל רשימות של האתרים, הקבוצות והמשתמשים שלך. לאחר מכן תוכל להשתמש במידע זה כדי לעבור על הדוגמה במאמר זה.
קבל רשימה של האתרים בדייר שלך באמצעות פקודה זו:
Get-SPOSite
קבל רשימה של הקבוצות בדייר שלך באמצעות פקודה זו:
Get-SPOSite | ForEach {Get-SPOSiteGroup -Site $_.Url} | Format-Table
קבל רשימה של המשתמשים בדייר שלך באמצעות פקודה זו:
Get-SPOSite | ForEach {Get-SPOUser -Site $_.Url}
הוספת משתמש לקבוצת מנהלי האתרים
השתמש ב- Set-SPOUser
cmdlet כדי להוסיף משתמש לרשימת מנהלי האתרים באוסף אתרים.
$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
Set-SPOUser -Site https://$tenant.sharepoint.com/sites/$site -LoginName $user@$tenant.com -IsSiteCollectionAdmin $true
כדי להשתמש בפקודות אלה, החלף את כל מה שכלול במרכאות, < כולל התווים והתווים > , בשמות הנכונים.
לדוגמה, קבוצה זו של פקודות מוסיפה את אופל קסטילו (אופל שם משתמש) לרשימת מנהלי האתרים באוסף האתרים ContosoTest ב הדיירות Contoso:
$tenant = "contoso"
$site = "contosotest"
$user = "opalc"
Set-SPOUser -Site https://$tenant.sharepoint.com/sites/$site -LoginName $user@$tenant.com -IsSiteCollectionAdmin $true
באפשרותך להעתיק ולהדביק פקודות אלה ב'פנקס רשימות', לשנות את הערכים המשתנים עבור $tenant, $site ו- $user לערכים בפועל מהסביבה שלך ולאחר מכן להדביק אותם בחלון מעטפת ניהול SharePoint כדי להפעיל אותם.
הוספת משתמש לקבוצות אוסף אתרים אחרות
במשימה זו, אנו משתמשים ב Add-SPOUser
- cmdlet כדי להוסיף משתמש לקבוצת SharePoint באוסף אתרים.
$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
$group = "<group name name, such as Auditors>"
Add-SPOUser -Group $group -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site
לדוגמה, בוא נוסיף את גלן Rife (שם משתמש גלנן) לקבוצה Auditors באוסף האתרים ContosoTest בשכירות contoso:
$tenant = "contoso"
$site = "contosotest"
$user = "glenr"
$group = "Auditors"
Add-SPOUser -Group $group -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site
Create קבוצת אוסף אתרים
השתמש ב- New-SPOSiteGroup
cmdlet כדי ליצור קבוצת SharePoint חדשה ולהוסיף אותה לאוסף אתרים.
$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$group = "<group name name, such as Auditors>"
$level = "<permission level, such as View Only>"
New-SPOSiteGroup -Group $group -PermissionLevels $level -Site https://$tenant.sharepoint.com/sites/$site
ניתן לעדכן מאפייני קבוצה, כגון רמות הרשאה, מאוחר יותר באמצעות ה- Set-SPOSiteGroup
cmdlet.
לדוגמה, בוא נוסיף את הקבוצה 'מבקרים' עם הרשאות 'הצג בלבד' לאוסף האתרים של contosotest במשרה הנוכחית של contoso:
$tenant = "contoso"
$site = "contosotest"
$group = "Auditors"
$level = "View Only"
New-SPOSiteGroup -Group $group -PermissionLevels $level -Site https://$tenant.sharepoint.com/sites/$site
הסרת משתמשים מקבוצה
לעתים עליך להסיר משתמש מאתר או אפילו מכל האתרים. אולי העובד עובר ממחלקה אחת לאחרת או עוזב את החברה. באפשרותך לעשות זאת עבור עובד אחד בקלות בממשק המשתמש, אך פעולה זו אינה מתבצעת בקלות כאשר עליך להעביר חלוקה מלאה מאתר אחד לאחר.
עם זאת, השימוש במעטפת ניהול SharePoint ובקובצי CSV הוא מהיר וקל. במשימה זו, עליך להשתמש Windows PowerShell כדי להסיר משתמש מתוך קבוצת אבטחה של אוסף אתרים. לאחר מכן, תשתמש בקובץ CSV ותסיר משתמשים רבים מאתרים שונים.
נשתמש ב- cmdlet 'Remove-SPOUser' כדי להסיר משתמש יחיד של Microsoft 365 מקבוצה של אוסף אתרים כדי שנוכל לראות את תחביר הפקודה. כך נראה התחביר:
$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
$user = "<user account name, such as opalc>"
$group = "<group name name, such as Auditors>"
Remove-SPOUser -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site -Group $group
לדוגמה, בוא נסיר את Asaf Overby מהקבוצה 'מבקרים' של אוסף האתרים באוסף האתרים contosotest בשכירות contoso:
$tenant = "contoso"
$site = "contosotest"
$user = "bobbyo"
$group = "Auditors"
Remove-SPOUser -LoginName $user@$tenant.com -Site https://$tenant.sharepoint.com/sites/$site -Group $group
נניח שאנחנו רוצים להסיר את בובי מכל הקבוצות שהוא נמצא שבהם כעת. כך נעשה זאת:
$tenant = "contoso"
$user = "bobbyo"
Get-SPOSite | ForEach {Get-SPOSiteGroup –Site $_.Url} | ForEach {Remove-SPOUser -LoginName $user@$tenant.com -Site $_.Url}
אזהרה
זוהי רק דוגמה. אין להפעיל פקודה זו אלא אם עליך להסיר משתמש מכל קבוצה, לדוגמה, אם המשתמש עוזב את החברה.
הפיכת ניהול אוטומטי של רשימות גדולות של משתמשים וקבוצות לאוטומטי
כדי להוסיף מספר רב של חשבונות לאתרי SharePoint ולהעניק להם הרשאות, באפשרותך להשתמש בפקודות מרכז הניהול של Microsoft 365, בפקודות נפרדות של PowerShell או ב- PowerShell ובקובץ CSV. מתוך אפשרויות אלה, קובץ ה- CSV הוא הדרך המהירה ביותר להפוך משימה זו לאוטומטית.
התהליך הבסיסי הוא ליצור קובץ CSV עם כותרות (עמודות) התואמות לפרמטרים הדרושים ל- Windows PowerShell Script. באפשרותך ליצור בקלות רשימה כזו ב- Excel ולאחר מכן לייצא אותה כקובץ CSV. לאחר מכן, עליך להשתמש Windows PowerShell Script כדי לעבור בין רשומות (שורות) בקובץ ה- CSV, ולהוסיף את המשתמשים לקבוצות ולקבוצות לאתרים.
לדוגמה, בוא ניצור קובץ CSV להגדרת קבוצה של אוספי אתרים, קבוצות והרשאות. לאחר מכן, ניצור קובץ CSV לאכלוס הקבוצות במשתמשים. לבסוף, אנו ניצור ונפעיל קובץ Windows PowerShell Script שייצור וימלא את הקבוצות.
קובץ ה- CSV הראשון מוסיף קבוצות אחת או יותר לאוספי אתרים אחד או יותר ומבנה זה יהיה:
כותרת:
Site,Group,PermissionLevels
פריט:
https://tenant.sharepoint.com/sites/site,group,level
הנה קובץ לדוגמה:
Site,Group,PermissionLevels
https://contoso.sharepoint.com/sites/contosotest,Contoso Project Leads,Full Control
https://contoso.sharepoint.com/sites/contosotest,Contoso Auditors,View Only
https://contoso.sharepoint.com/sites/contosotest,Contoso Designers,Design
https://contoso.sharepoint.com/sites/TeamSite01,XT1000 Team Leads,Full Control
https://contoso.sharepoint.com/sites/TeamSite01,XT1000 Advisors,Edit
https://contoso.sharepoint.com/sites/Blog01,Contoso Blog Designers,Design
https://contoso.sharepoint.com/sites/Blog01,Contoso Blog Editors,Edit
https://contoso.sharepoint.com/sites/Project01,Project Alpha Approvers,Full Control
קובץ ה- CSV השני מוסיף משתמש אחד או יותר לקבוצות אחת או יותר ומבנה זה יהיה:
כותרת:
Group,LoginName,Site
פריט:
group,login,https://tenant.sharepoint.com/sites/site
הנה קובץ לדוגמה:
Group,LoginName,Site
Contoso Project Leads,bobbyo@contoso.com,https://contoso.sharepoint.com/sites/contosotest
Contoso Auditors,allieb@contoso.com,https://contoso.sharepoint.com/sites/contosotest
Contoso Designers,bonniek@contoso.com,https://contoso.sharepoint.com/sites/contosotest
XT1000 Team Leads,dorenap@contoso.com,https://contoso.sharepoint.com/sites/TeamSite01
XT1000 Advisors,garthf@contoso.com,https://contoso.sharepoint.com/sites/TeamSite01
Contoso Blog Designers,janets@contoso.com,https://contoso.sharepoint.com/sites/Blog01
Contoso Blog Editors,opalc@contoso.com,https://contoso.sharepoint.com/sites/Blog01
Project Alpha Approvers,robinc@contoso.com,https://contoso.sharepoint.com/sites/Project01
בשלב הבא, עליך לשמור את שני קבצי ה- CSV בכונן שלך. להלן פקודות לדוגמה המשתמשות הן בקבצי CSV והן בהוספת הרשאות לחברות בקבוצה:
Import-Csv C:\O365Admin\GroupsAndPermissions.csv | ForEach {New-SPOSiteGroup -Group $_.Group -PermissionLevels $_.PermissionLevels -Site $_.Site}
Import-Csv C:\O365Admin\Users.csv | ForEach {Add-SPOUser -Group $_.Group –LoginName $_.LoginName -Site $_.Site}
קובץ ה- Script מייבא את תוכן קובץ ה- CSV ומשתמש בערכים בעמודות כדי לאכלס את הפרמטרים של הפקודות New-SPOSiteGroup ו - Add-SPOUser . בדוגמה שלנו, אנו שומרים קובץ זה בתיקיה O365Admin בכונן C, אך באפשרותך לשמור אותו בכל מקום שתרצה.
כעת, בוא נסיר קבוצה של אנשים עבור כמה קבוצות באתרים שונים המשתמשים באותו קובץ CSV. להלן פקודה לדוגמה:
Import-Csv C:\O365Admin\Users.csv | ForEach {Remove-SPOUser -LoginName $_.LoginName -Site $_.Site -Group $_.Group}
יצירת דוחות משתמשים
ייתכן שתרצה לקבל דוח עבור כמה אתרים ולהציג את המשתמשים עבור אתרים אלה, את רמת ההרשאה שלהם ומאפיינים אחרים. כך נראה התחביר:
$tenant = "<tenant name, such as litwareinc for litwareinc.com>"
$site = "<site name>"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | select * | Format-table -Wrap -AutoSize | Out-File c\UsersReport.txt -Force -Width 360 -Append
פעולה זו תופסת את הנתונים עבור שלושת האתרים האלה וכותבים אותם לקובץ טקסט בכונן המקומי שלך. הפרמטר –Append מוסיף תוכן חדש לקובץ קיים.
לדוגמה, בוא נפעיל דוח באתרים ContosoTest, TeamSite01 ו- Project01 עבור הדייר Contoso1:
$tenant = "contoso"
$site = "contosotest"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
$site = "TeamSite01"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site |Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
$site = "Project01"
Get-SPOUser -Site https://$tenant.sharepoint.com/sites/$site | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
היינו צריכים לשנות רק את $site המשתנה. המשתנה $tenant שומר על הערך שלו בכל שלוש ההפעלות של הפקודה.
עם זאת, מה אם תרצה לעשות זאת עבור כל אתר? באפשרותך לעשות זאת מבלי להקליד את כל אתרי האינטרנט הללו באמצעות פקודה זו:
Get-SPOSite | ForEach {Get-SPOUser –Site $_.Url} | Format-Table -Wrap -AutoSize | Out-File c:\UsersReport.txt -Force -Width 360 -Append
דוח זה פשוט למדי, ובאפשרותך להוסיף קוד נוסף כדי ליצור דוחות או דוחות ספציפיים יותר הכוללים מידע מפורט יותר. עם זאת, פעולה זו אמורה לתת לך מושג כיצד להשתמש במעטפת הניהול של SharePoint כדי לנהל משתמשים בסביבה של SharePoint.
למידע נוסף
התחברות ל- SharePoint PowerShell
ניהול SharePoint באמצעות PowerShell
משוב
https://aka.ms/ContentUserFeedback.
בקרוב: במהלך 2024, נפתור בעיות GitHub כמנגנון המשוב לתוכן ונחליף אותו במערכת משוב חדשה. לקבלת מידע נוסף, ראה:שלח והצג משוב עבור