SharePoint管理センターに飽きたり、不十分だと感じたりして、コマンドラインに切り替えたいですか?はい、PowerShell SharePoint Online Managementモジュールを使用すれば可能です。
このモジュールを使用すると、通常SharePoint管理センターで行うタスクをPowerShellで実行できます。さらに、SharePoint Onlineのタスクを自動化することもできます。
このチュートリアルでは、PowerShell SharePoint Online Managementの基礎を学びます。モジュールのインストール方法、一般的な管理タスクの実行方法、および繰り返しのアクションの自動化方法を学びます。さあ、どこにも行かずにすぐに始めましょう!
前提条件
このチュートリアルは実演形式です。一緒にやりたい場合は、次のものを用意してください:
- Microsoft 365テナントでSharePoint管理者ロールまたはそれ以上の権限を持っている必要があります。
- SharePoint Onlineの管理URLとポータルURLを把握している必要があります。テナントでSharePoint Onlineの管理URLを取得する方法については、このリンクを参照してください。
このチュートリアルでは、ポータルURLをHTTPS://lzex.sharepoint.com、管理URLをHTTPS://lzex-admin.sharepoint.comとして使用します。
- Windows PowerShell 5.1またはWindows上の最新のPowerShell 7。このチュートリアルでは、Windows 10上のWindows PowerShell 5.1を使用します。
PowerShell SharePoint Onlineモジュールのインストール
PowerShellを使用してSharePoint Onlineを管理するには、まずPowerShell SharePoint Online Managementモジュールをインストールする必要があります。このモジュールには、SharePointオンライン組織とリソースに接続して管理するためのコマンドレットが提供されています。
PowerShell SharePoint Onlineモジュールをインストールする最も迅速かつ便利な方法は、Install-Moduleコマンドレットを使用してPowerShellギャラリーからインストールすることです。以下の手順に従ってください。
1. 管理者としてPowerShellを開きます。
2. 次に、以下のコマンドを実行します。このコマンドはMicrosoft.Online.SharePoint.PowerShellモジュールをインストールします。
3. モジュールのインストールが成功したことを確認するには、以下のコマンドを実行してモジュール情報を取得します。
このコマンドは、モジュールの名前とバージョンを返します。下記のように、このコンピューターにはMicrosoft.Online.SharePoint.PowerShellモジュールの1つのバージョンがあります。この執筆時点での最新バージョンは16.0.22615.12000です。

4. 最後に、PowerShellで以下のコマンドを実行してSharePointモジュールをインポートしてください。
注意: PowerShell SharePoint OnlineモジュールはPowerShell 7と動作しますが、-UseWindowsPowerShellスイッチを使用してモジュールを明示的にインポートする必要があります。
承認されていない動詞に関する警告を無視してください。この警告は、Get-Verbリストで承認された動詞で始まらないコマンドレットについて警告しますが、モジュールの機能に影響しません。
この警告を回避するには、Import-Moduleコマンドレットに-DisableNameCheckingスイッチを追加してください。

PowerShell SharePoint Onlineに接続
PowerShell SharePoint Onlineセッションに接続する準備ができました。ただし、接続の構文と方法は、管理者アカウントの多要素認証の状態によって異なります。
MFAなしの管理者アカウント
管理者アカウントがMFAで有効になっていない場合は、次のコマンドを実行してくださいConnect-SPOService
。 -Url
パラメーターの後に管理者のURLを指定し、-Credential
パラメーターの後にユーザー プリンシパル名 (UPN)を指定します。
次のプロンプトでパスワードを入力し、Enter キーを押します。


-Credentialパラメーターは、Get-Credentialコマンドレットで作成できるPSCredentialオブジェクトも受け入れます。
MFAを使用した管理者アカウント
MFA管理者アカウントの場合、以下の手順に従ってPowerShell SharePoint Onlineセッションに接続します。
1. PowerShellで以下のコマンドを実行します。正しいSharePoint管理者のURLを指定してください。
2. ポップアップするサインインウィンドウで、管理者のユーザー名を入力し、[次へ]をクリックします。

3. 次に、管理者アカウントのパスワードを入力し、[サインイン]をクリックします。

4. 最後に、MFAのチャレンジを完了します。アカウントのMFAを構成した方法によっては、以下のスクリーンショットとは異なる場合があります。

これらの手順を完了すると、PowerShell SharePointオンライン接続がアクティブになります。
PowerShell SharePointモジュールを使用したサイト、ユーザー、およびグループの管理
PowerShellを介して、SharePointが提供する一部の機能をSharePoint Onlineおよびさまざまなリソースに対して実行できます。このセクションでは、サイトの作成、グループの作成、ユーザーの追加、ユーザーのグループからの削除、およびユーザーレポートの生成など、典型的なSharePoint Onlineタスクを実行します。
新しいSharePointサイトの作成
New-SPOSiteコマンドを活用すると、新しいSharePoint Onlineサイトを作成できます。新しいモダンなチームサイトサイトMy First Team Siteを作成する場合は、以下の手順を実行します。
1. まず、チームサイトのテンプレート名を取得します。
新しいサイトに適用したいテンプレートを探してください。この例では、チームサイト(Microsoft 365 グループなし)テンプレートの名前値をコピーします。STS#3。

2。次に、以下のコマンドを実行して、モダンなチームサイトを作成します。以下のパラメータが完全であることを確認してください。
Url - 新しいサイトの URL を指定します。この URL 構造は次の規則に従います - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>。
URL が一意であることを確認してください。サイトがリサイクル ビンにある場合でも、同じ URL を持つサイトが存在すると、サイトの作成に失敗します。
Title
– 新しいサイトのタイトルを設定します。
Owner - サイト所有者のユーザー プリンシパル名を割り当てます。
注意: 指定した所有者が管理者ロールを持っている場合、SPO は自動的に企業管理者グループをサイト所有者として設定します。
Template
– 新しいサイトに適用する Web テンプレートを示します。
StorageQuota - サイトのストレージ容量制限値を MB 単位で構成します。
注意: StorageQuota 値は、SharePoint Online 組織のサイトのストレージ制限が手動に設定されている場合のみ有効です。設定が自動的な場合は、テナントの総ストレージ容量が優先されます。
サイトの作成が成功した場合、PowerShell で応答やメッセージは表示されません。
3. 新しいサイトが存在することを確認するには、Get-SPOSite コマンドレットを実行してください。

4. 最後に、SharePoint サイトの URL を Web ブラウザで開いて、サイトが正常に動作するか確認してください。

サイトグループの作成とユーザーの追加
新しい SPO サイトを作成したら、特定の権限レベルでグループを作成し、ユーザーを追加できます。このセクションでは、どのようにしてグループを作成し、ユーザーをそれらのグループに追加するかを学びます。
まず、以下のテーブルの仕様に従ってグループを作成します。
権限レベルのリストを取得するには、SharePoint Server のユーザー権限と権限レベルのドキュメントを参照してください。
Site | Group | PemissionLevels |
https://tenant.sharepoint.com/sites/MyFirstTeamSite | Editing Team | Edit |
https://tenant.sharepoint.com.sites/MyFirstSite | Design Team | Design |
グループを作成するには、New-SPOSiteGroup
コマンドレットを実行します。以下のコマンドを実行してグループを作成します。

次に、グループのメンバーになるユーザーを追加します。これを行うには、以下のAdd-SPOUser
コマンドを実行します。
各コマンド実行後、以下のスクリーンショットのような結果が得られます。

サイトユーザーリストの生成
Get-SPOUser
コマンドを活用することで、サイトにアクセスできるユーザーを生成できます。
以下のコマンドを実行して、My First Team Siteのユーザーリストを生成します。
結果は以下のスクリーンショットと同様になります。出力には、ユーザーのリストとそれらのグループメンバーシップが表示されます。

結果をCSV、XML、JSON、YAML、HTML、プレーンテキストなど、さまざまなファイル形式に出力することもできます。
サイトグループからユーザーを削除
ユーザーを削除する必要がある場合があります。たとえば、ユーザーを誤ったグループに追加した場合や、ユーザーがチームから離れた場合などです。このタスクにはRemove-SPOUser
コマンドレットが適しています。
たとえば、以下のコマンドを実行して、[email protected]
ユーザーをDesign Team
から削除します。
このように、Design Team
のUsers
リストは、唯一のメンバーを削除した後は空になります。

PowerShell SharePoint Onlineの自動化に使用
PowerShellを使用しているので、自動化のためにその機能を活用できます。たとえば、複数のサイトを作成する際には、スクリプトを使用するとより実用的です。
PowerShell SharePoint Online New-SPOSiteコマンドをImport-CsvやForEach-Objectのような組み込みコマンドと組み合わせることができます。以下の手順は、異なるプロパティを持つ複数のサイトを作成する例を示しています。
1. 以下のコマンドを実行して、sites.csvという新しいCSVファイルを作成します。
2. 次に、テキストエディタでCSVファイルを開きます。この例ではnotepad.exeを使用しています。
3. 以下のテキストをCSVファイルにコピーし、保存します。OwnerとUrlの値を組織に合わせて置き換えてください。
CSVファイルは、以下のスクリーンショットのようになります。

4. PowerShellで次のスクリプトを実行します。
エラーがない場合、追加の結果は表示されません。

5. 最後に、新しいサイトが存在することを確認するために、以下のコマンドを実行します。
Import-Csv .\sites.csv | ForEach-Object {
Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}

この手法は、サイトグループの作成やサイトグループのメンバーシップの更新など、大量のタスクを自動化するために実行した手法を適用できます。
結論
PowerShell SharePoint Online モジュールを使用すると、SharePoint Online 組織の管理を向上させることができます。このモジュールは SharePoint 管理センターを置き換えるものではなく、SharePoint Online スキルを補完するツールとして使用されます。
PowerShell SharePoint Online モジュール以外にも、PowerShell で SharePoint Online を管理するための別のモジュールがあることを知っていましたか?はい、それがPnP PowerShellモジュールです。なぜそれも探索して、どちらが最適か比較してみませんか?