البدء في إدارة SharePoint باستخدام PowerShell

“هل يملك مركز إدارة sharepoint القدرة على إثارة الملل لديك؟ هل تجده ناقصًا وترغب في الانتقال إلى سطر الأوامر؟ نعم، يُمكنك ذلك باستخدام وحدة powershell sharepoint online management.

تتيح لك هذه الوحدة إنجاز نفس المهام التي تقوم بها عادة في مركز إدارة sharepoint باستخدام powershell. والأهم من ذلك، يمكنك أتمتة مهام sharepoint online الخاصة بك!

يعلمك هذا البرنامج التعليمي أساسيات إدارة powershell لـ sharepoint online. ستتعلم كيفية تثبيت الوحدة، وأداء المهام الإدارية الشائعة، وأتمتة الأفعال المكررة. لا تتردد في البدء!

المتطلبات الأولية

سيكون هذا البرنامج التعليمي عرضًا توضيحيًا عمليًا. إذا كنت ترغب في متابعة، تأكد من وجود ما يلي:

  • يجب أن تكون لديك دور مسؤول sharepoint أو أعلى في مستأجر microsoft 365.
  • يجب أن تعرف عنوان url الخاص بمسؤول sharepoint online وعنوان url للبوابة الخاصة بك. راجع هذا الرابط لمعرفة كيفية الحصول على عنوان url لمسؤول sharepoint online في مستأجرك.

سيتم استخدام عنوان url للبوابة https://lzex.sharepoint.com وعنوان url للمسؤول https://lzex-admin.sharepoint.com في هذا البرنامج التعليمي.”

  • نظام Windows PowerShell 5.1 أو الإصدار الأحدث PowerShell 7 على نظام Windows. يستخدم هذا البرنامج التعليمي نظام Windows PowerShell 5.1 على نظام التشغيل Windows 10.

تثبيت وحدة إدارة SharePoint Online لـ PowerShell

لإدارة SharePoint Online باستخدام PowerShell، يجب عليك أولاً تثبيت وحدة إدارة SharePoint Online لـ PowerShell. توفر هذه الوحدة الأوامر التي تسمح لك بالاتصال وإدارة منظمة SharePoint الخاصة بك على الإنترنت والموارد الخاصة بها.

أسرع وأكثر الطرق راحة لتثبيت وحدة إدارة SharePoint Online لـ PowerShell هو من المعرض الخاص بـ PowerShell باستخدام الأمر Install-Module. للقيام بذلك، اتبع الخطوات أدناه.

1. افتح PowerShell كمسؤول.

2. قم بتشغيل الأمر التالي. يقوم هذا الأمر بتثبيت وحدة Microsoft.Online.SharePoint.PowerShell.

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. لتأكيد نجاح عملية تثبيت الوحدة، قم بتشغيل الأمر التالي للحصول على معلومات الوحدة.

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

يُرجى ملاحظة أن الأمر يعيد اسم الوحدة وإصداره. كما يمكنك رؤية أدناه، هناك إصدار واحد من وحدة Microsoft.Online.SharePoint.PowerShell على هذا الكمبيوتر. آخر إصدار حتى كتابة هذا النص هو 16.0.22615.12000.

Listing the PowerShell SharePoint Online module information

أخيرًا، قم بتوريد وحدة PowerShell SharePoint عبر تشغيل الأمر أدناه في PowerShell.

ملحوظة: بينما تعمل وحدة PowerShell SharePoint Online مع PowerShell 7، يجب عليك استيراد الوحدة بشكل صريح باستخدام مفتاح التبديل -UseWindowsPowerShell.

# في Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# في PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

تجاهل التحذير بشأن الأفعال غير المعتمدة. يُنبهك هذا التحذير إلى الأوامر الخاصة التي لا تبدأ بأفعال معتمدة في قائمة Get-Verb ولكنها لا تؤثر على وظائف الوحدة.

لتجنب هذا التحذير، أضف مفتاح التبديل -DisableNameChecking إلى أمر Import-Module.

Importing the PowerShell SharePoint Online module

الاتصال بـ PowerShell SharePoint Online

أنت الآن جاهز للاتصال بجلسة PowerShell SharePoint Online. ولكن قبل أن تقوم بذلك، فهم أن الصيغة والطريقة قد تختلف اعتمادًا على حالة مصادقة العامل المتعدد لحساب المسؤول.

حساب المسؤول بدون MFA

إذا لم يتم تمكين حساب المسؤول الخاص بك من MFA، قم بتشغيل الأمر أدناه Connect-SPOService. حدد عنوان URL الخاص بالمسؤول بعد المعلمة -Url وUPN الخاص بك بعد المعلمة -Credential.

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential spoadmin@domain.com

اكتب كلمة المرور الخاصة بك في الإطار التالي واضغط على Enter.

Connect SPOService
Connecting to PowerShell SharePoint online without MFA

تقبل المعلمة -Credential أيضًا كائن PSCredential، والذي يمكنك إنشاؤه باستخدام cmdlet Get-Credential.

حساب المسؤول مع MFA

بالنسبة لحساب المسؤول مع MFA، اتبع الخطوات التالية للاتصال بجلسة PowerShell SharePoint Online.

1. قم بتشغيل الأمر أدناه في PowerShell. تأكد من تحديد عنوان URL الصحيح للمسؤول في SharePoint.

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. في نافذة تسجيل الدخول التي تظهر، اكتب اسم مستخدم المسؤول الخاص بك وانقر على التالي.

Type the SharePoint admin username

3. بعد ذلك، اكتب كلمة المرور لحساب المسؤول وانقر على تسجيل الدخول.

Enter the account password

4. في النهاية، أكمل تحدي MFA الخاص بك. وفقًا لكيفية تكوين MFA لحسابك، قد تختلف طريقة MFA عن الشاشة المصورة أدناه.

Completing the MFA challenge

بمجرد أن تكون قد أكملت هذه الخطوات، يجب أن تكون جلسة الاتصال بـ PowerShell SharePoint عبر الإنترنت الخاصة بك نشطة الآن.

إدارة المواقع والمستخدمين والمجموعات باستخدام وحدة PowerShell SharePoint

من خلال PowerShell، يمكنك تنفيذ بعض الوظائف التي يوفرها SharePoint لـ SharePoint Online وموارد متنوعة. في هذا القسم، ستقوم بأداء المهام النموذجية في SharePoint Online، مثل إنشاء مواقع، وإنشاء مجموعات، وإضافة مستخدمين، وإزالة مستخدمين من المجموعات، وإنشاء تقارير المستخدمين.

إنشاء موقع SharePoint جديد

من خلال استخدام أمر New-SPOSite، يمكنك إنشاء موقع SharePoint Online جديد. فلنفترض أنك تقوم بإنشاء موقع جديد لفريق Team Site الحديث باسم My First Team Site، قم بتنفيذ الخطوات التالية.

1. أولاً، احصل على اسم قالب Team Site.

Get-SPOWebTemplate

ابحث عن القالب الذي ترغب في تطبيقه على الموقع الجديد. في هذا المثال، انسخ قيمة الاسم من قالب الموقع الخاص بالفريق (بدون مجموعة Microsoft 365)، STS#3.

Listing all available SharePoint web templates

2. الآن، قم بتشغيل الأمر أدناه لإنشاء موقع الفريق الحديث. تأكد من أن المعلمات التالية مكتملة.

  • Url - يحدد عنوان URL الجديد للموقع. يتبع هذا العنوان البنية التالية - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

تأكد من أن عنوان الURL فريد. سيفشل إنشاء الموقع إذا كان هناك موقع آخر بنفس العنوان URL، حتى إذا كان الموقع في سلة المهملات.

  • Title – يحدد عنوان موقعك الجديد.
  • Owner - يعين اسم المستخدم الرئيسي لمالك الموقع.

ملاحظة: يعين SPO تلقائيًا مجموعة المسؤولين في الشركة كمالك للموقع إذا كان المالك الذي تحدده لديه دور مسؤول.

  • Template – يشير إلى القالب الويب الذي تطبقه على الموقع الجديد.
  • StorageQuota - يكون قيمة حصة تخزين الموقع في MB.

ملاحظة: تأثير قيمة StorageQuota يظهر فقط إذا كان حد التخزين للموقع في مؤسسة SharePoint Online الخاصة بك مُعينًا إلى الوضع اليدوي. إذا كان الإعداد تلقائي، فإن حصة تخزين المؤسسة الإجمالية تأخذ الأولوية.

New-SPOSite `
    -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
    -Title 'My First Team Site' `
    -Owner '[email protected]' `
    -Template 'STS#3' `
    -StorageQuota 1000

إذا نجح إنشاء الموقع، فلن تحصل على أي استجابة أو رسالة في PowerShell.

3. تأكد من وجود الموقع الجديد عن طريق تشغيل cmdlet Get-SPOSite.

Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'
Getting the new SPO site details

4. أخيرًا ، افتح عنوان موقع SharePoint في متصفح الويب الخاص بك للتحقق من أن الموقع يعمل.

Opening the new SPO site in the browser

إنشاء مجموعات المواقع وإضافة المستخدمين

بعد إنشاء موقع SPO جديد ، يمكنك بدء إنشاء مجموعات وإضافة مستخدمين بأذونات محددة. في هذا القسم ، ستتعلم كيفية إنشاء مجموعات وإضافة مستخدمين إلى مثل هذه المجموعات.

أولاً ، قم بإنشاء المجموعات التي تتبع المواصفات في الجدول أدناه.

للحصول على قائمة بمستويات الأذونات ، قم بزيارة صفحة أذونات المستخدم ومستويات الأذونات في خادم SharePoint.

Site Group PemissionLevels
https://tenant.sharepoint.com/sites/MyFirstTeamSite Editing Team Edit
https://tenant.sharepoint.com.sites/MyFirstSite Design Team Design

لإنشاء المجموعات ، فإن أمر New-SPOSiteGroup هو الأمر الذي يجب تنفيذه. قم بتشغيل الأوامر أدناه لإنشاء المجموعات.

# حدد عنوان الموقع.
$siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
# قم بإنشاء مجموعة 'Editing Team' بأذونة 'تحرير' على الموقع.
New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
# قم بإنشاء مجموعة 'Design Team' بأذونة 'تصميم' على الموقع.
New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
Creating new groups on the SPO site

بعد ذلك ، قم بإضافة المستخدمين الذين ترغب في جعلهم أعضاءً في المجموعات. للقيام بذلك ، قم بتشغيل أوامر Add-SPOUser أدناه.

# أضف مستخدم إلى مجموعة موقع 'Editing Team'
Add-SPOUser -Site $siteURL -Group 'Editing Team' –LoginName spoeditor@lzex.ga
# أضف مستخدم إلى مجموعة موقع 'Design Team'
Add-SPOUser -Site $siteURL -Group 'Design Team' –LoginName spodesigner@lzex.ga

بعد تنفيذ كل أمر، ستتلقى نتائج مشابهة للصورة أدناه.

Adding users to SPO site groups

إنشاء قائمة مستخدمي الموقع

باستخدام الأمر Get-SPOUser، يمكنك إنشاء قائمة بالمستخدمين الذين يمكنهم الوصول إلى الموقع.

قم بتشغيل الأمر أدناه لإنشاء قائمة المستخدمين على موقع فريقي الأول.

Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append

ستبدو النتيجة مشابهة للصورة أدناه. كما يمكنك رؤية النتائج التي تظهر لك قائمة المستخدمين وانتماءاتهم إلى المجموعات.

Getting the list of users on the SPO site

يمكنك أيضًا إخراج النتائج إلى أنواع ملفات مختلفة، بما في ذلك CSV، XML، JSON، YAML، HTML، ونص عادي.

إزالة المستخدمين من مجموعات الموقع

قد تحتاج إلى إزالة مستخدم ربما لأنك قمت بإضافة المستخدم إلى المجموعة الخاطئة أو لأن المستخدم لم يعد في الفريق. يعتبر أمر Remove-SPOUser الأداة المناسبة لهذه المهمة.

على سبيل المثال، قم بتشغيل الأمر أدناه لإزالة المستخدم [email protected] من فريق التصميم.

Remove-SPOUser `
    -LoginName spodesigner@lzex.ga `
    -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
    -Group 'Design Team'

كما ترى، أصبحت قائمة المستخدمين في فريق التصميم فارغة الآن بعد إزالة عضوها الوحيد.

Removing a user for the SPO site group

استخدام PowerShell SharePoint Online للتشغيل التلقائي

بما أنك تعمل مع PowerShell ، يمكنك الاستفادة من قوته لتحقيق التلقائية. على سبيل المثال، يمكن أن يكون البرمجة هو نهج أكثر عملية عند إنشاء مواقع متعددة.

يمكنك دمج أمر PowerShell SharePoint Online New-SPOSite مع أوامر مدمجة مثل Import-Csv و ForEach-Object. تقدم الخطوات التالية مثالًا على إنشاء مواقع متعددة بخصائص مختلفة.

1. قم بتشغيل الأمر أدناه لإنشاء ملف CSV جديد يسمى sites.csv.

New-Item -Type File -Path .\sites.csv

2. بعد ذلك، افتح ملف CSV في محرر نصوص. يستخدم هذا المثال notepad.exe.

notepad.exe .\sites.csv

3. انسخ النص أدناه إلى ملف CSV الخاص بك واحفظه. تأكد من استبدال قيم المالك والرابط لتتناسب مع منظمتك.

Owner,StorageQuota,Url,Template,Name
spoadmin@lzex.ga,100,https://lzex.sharepoint.com/sites/new-site,STS#0, موقع جديد
ata_dev@lzex.ga,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0, موقع تطويري

سيظهر ملف CSV الخاص بك على النحو الموضح في الصورة أدناه.

Creating the CSV list of new sites

4. قم بتشغيل السيناريو التالي في PowerShell.

Import-Csv .\sites.csv | ForEach-Object {
    New-SPOSite `
        -Owner $_.Owner `
        -StorageQuota $_.StorageQuota `
        -Url $_.Url `
        -Template $_.Template `
        -Title $_.Name `
        -NoWait
}

إذا لم تظهر أي أخطاء، فلن تحصل على أي نتائج إضافية على الشاشة.

Creating multiple sites using the PowerShell SharePoint online script

5. في الختام، قم بتنفيذ الأمر التالي للتحقق من وجود المواقع الجديدة.

Import-Csv .\sites.csv | ForEach-Object {
    Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}
Listing the new sites

يمكنك تطبيق نفس التقنية التي قمت بها لأتمتة مهام السائل الضخمة مثل إنشاء مجموعات المواقع وتحديثات عضوية مجموعات المواقع.

الختام

الوحدة النمطية لـ PowerShell SharePoint Online تتيح لك تحسين كيفية إدارة منظمتك عبر الإنترنت في SharePoint. ليست هذه الوحدة النمطية مقصورة على استبدال مركز مسؤول SharePoint ولكن كأداة لزيادة مهاراتك في SharePoint عبر الإنترنت.

بالإضافة إلى الوحدة النمطية لـ PowerShell SharePoint Online، هل تعلم أن هناك وحدة نمطية أخرى تتيح لك إدارة SharePoint عبر الإنترنت في PowerShell؟ نعم، تلك الوحدة هي الوحدة PnP PowerShell. لماذا لا تستكشف أيضًا تلك الوحدة وتقارن أيهما يعمل بشكل أفضل بالنسبة لك؟

Source:
https://adamtheautomator.com/powershell-sharepoint/