SharePointOnline

SharePointPowerShellを使用してサイトにサイトコレクション管理者としてユーザーを一括追加する

SharepointPowerShellの実行には、SharePoint管理者のみではなく、取得、変更を行うサイトのサイト管理者(サイトコレクション管理者)まで権限を求められることがある。すべてのサイトに対してSharePointPowerShellから情報の取得・変更をする場合は、事前に本記事参考にサイト管理者の権限を付与すること。

検証環境について

動作確認した検証環境は以下の通り。

OS:Microsoft Windows 11 Enterprise
OSbuildバージョン:10.0.22621
PowerShellのバージョン:5.1.22621.2506

SharePointPowershellのモジュール名とバージョン
Microsoft.Online.SharePoint.PowerShell 16.0.24524.12000

サインインアカウントの権限はグローバル管理者。

使用するコマンド

Get-SPOUser

使用例

Get-SPOUser -Site https://****.sharepoint.com/sites/12345

取得できる情報例

Display Name                   Login Name                                              Groups          User Type
------------                   ----------                                              ------          ---------
12345 Members                  fc1d000b-ee6f-4aa1-9357-5dc82683b017                    {12345 Members} Member
12345 Owners                   fc1d000b-ee6f-4aa1-9357-5dc82683b017_o                  {12345 Owners}  Member
Everyone                       true                                                    {}              Member
Everyone except external users spo-grid-all-users/5bb01870-ac2a-4aa5-a80d-01e5ea98abc4 {12345 Members} Member
NT Service\spsearch            nt service\spsearch                                     {}              Member
SharePoint App                 app@sharepoint                                          {}              Member
System Account                 SHAREPOINT\system                                       {12345 Owners}  Member
田中 太郎                       ****@****.onmicrosoft.com                               {}              Member

Get-SPOSite

使用例

Get-SPOSite -IncludePersonalSite:$false -Limit ALL

取得できる情報例

Url                                                 Owner Storage Quota
---                                                 ----- -------------
https://0vzhl.sharepoint.com/sites/project                      26214400
https://0vzhl.sharepoint.com/sites/knowledge                     1048576
https://0vzhl.sharepoint.com/sites/Mark8ProjectTeam             26214400

すべてのサイトにサイト管理者として追加する

#サイト管理者に追加するアカウント
$siteAdmin = "****@*****.onmicrosoft.com"

#SharepointPowerShellに接続する
Connect-SPOService -Url https://***-admin.sharepoint.com/

#個人サイトと読み取り専用を除いたすべてのSharepointサイトを取得する
$allSite = Get-SPOSite -IncludePersonalSite:$false -Limit ALL | ?{$_.LockState -ne "ReadOnly"}

#取得したサイトの数だけ繰り返す
foreach($site in $allSite){
    #該当サイトのサイト管理者にユーザーを追加する
    Set-SPOUser -Site $site.Url `
        -LoginName $siteAdmin `
        -IsSiteCollectionAdmin $true
}

#SharepointPowerShellから切断する
Disconnect-SPOService

問い合わせフォーム

リンク切れのご報告や、記載内容に不備がありましたら、お手数をおかけしますが
以下お問い合わせフォームからご報告をお願い致します。
コマンドの仕様確認やエラー内容の確認、対処方法については、ご契約されているMicrosoftかCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。

    GraphPowerShellを利用してMicrosoft365管理者アカウントを一括取得する前のページ

    Microsoft365アカウントの認証方法登録情報を取得する次のページ

    関連記事

    最近の記事

    PAGE TOP