إدارة مستخدمي 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
لاستخدام هذه الأوامر، استبدل كل شيء داخل علامات الاقتباس، بما في ذلك الأحرف < و > ، بالأسماء الصحيحة.
على سبيل المثال، تضيف هذه المجموعة من الأوامر Opal Castillo (اسم المستخدم opalc) إلى قائمة مسؤولي الموقع على مجموعة المواقع المشتركة 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 Management Shell لتشغيلها.
إضافة مستخدم إلى مجموعات مجموعة مواقع مشتركة أخرى
في هذه المهمة، نستخدم 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
على سبيل المثال، دعنا نضيف Glen Rife (اسم المستخدم glenr) إلى مجموعة المراجعين على مجموعة المواقع المشتركة 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
الإنشاء مجموعة مواقع مشتركة
يمكنك استخدام 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 Management Shell و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
على سبيل المثال، دعنا نزيل بوبي أوربي من مجموعة مراجعي مجموعة المواقع المشتركة في مجموعة المواقع المشتركة 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. يمكنك بسهولة إنشاء مثل هذه القائمة في Excel ثم تصديرها كملف CSV. بعد ذلك، يمكنك استخدام برنامج نصي Windows PowerShell للتكرار من خلال السجلات (الصفوف) في ملف CSV، وإضافة المستخدمين إلى المجموعات والمجموعات إلى المواقع.
على سبيل المثال، دعنا ننشئ ملف CSV لتعريف مجموعة من مجموعات المواقع المشتركة والمجموعات والأذونات. بعد ذلك، سنقوم بإنشاء ملف CSV لملء المجموعات بالمستخدمين. وأخيرا، سنقوم بإنشاء وتشغيل برنامج نصي Windows PowerShell يقوم بإنشاء المجموعات وتعبئتها.
يضيف ملف 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}
يستورد البرنامج النصي محتويات ملف 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 Management Shell لإدارة المستخدمين في بيئة SharePoint.
راجع أيضًا
الاتصال ب SharePoint PowerShell
إدارة SharePoint باستخدام PowerShell
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ