PowerShellを使用したSharePoint・OneDrive共有設定変更の代案

SharePoint管理センターの「ポリシー」-「共有」のパラメータを操作した際、「要求された操作は試験中の機能の一部で、現在の環境ではサポートされていません。」のエラーが発生し変更が出来ませんでした。

エラーを回避してパラメータ変更作業をする代案について記載します。

代案の解決策

PowerShellから操作を行います。

前提

まず、モジュールがインストールされているか確認してください。

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

何も出力がない場合は、以下でインストールをします。

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

SPO環境に接続

以下コマンドでSPO(正式名称はSharePoint Online)環境に接続します。

xxxxの部分は環境により異なります。SharePoint管理センターのURLを入力してください。

ID入力を求められるので、SharePoint管理者またはグローバル管理者の役割をもつアカウントで認証します。

Connect-SPOService -url https://xxxx-admin.sharepoint.com/

外部共有レベルの変更

エラーにより私が作業できなかったのは、SharePointの外部共有設定の箇所です。「新規および既存のゲスト」から「既存のゲスト」に変更します。

PowerShellで現状のステータスを確認する場合、Get-SPOTenantコマンドレットを使います。

確認する項目が分かっている場合は、以下のように絞り込みます。

Get-SPOTenant | select SharingCapability,CoreSharingCapability

以下のように設定を変更します。

Set-SPOTenant -SharingCapability ExistingExternalUserSharingOnly
Set-SPOTenant -CoreSharingCapability ExistingExternalUserSharingOnly

設定できるパラメータの内容は以下4つとなります。

  1. ExternalUserAndGuestSharing:すべてのユーザー
  2. ExternalUserSharingOnly:新規および既存のゲスト
  3. ExistingExternalUserSharingOnly:既存のゲスト
  4. Disabled:自分の組織内のユーザーのみ

設定後に再度Get-SPOTenantコマンドレットで確認すると以下のようになります。

SharePoint管理センター上のUIでも「既存のゲスト」に変更された状態を確認できます。

トラブルシュート対応

共有設定変更の警告

CoreSharingCapability 設定時に警告が表示された場合、SharingCapability設定のレベルを修正することで解決します。

PS C:\>Set-SPOTenant -CoreSharingCapability ExternalUserAndGuestSharing
警告: This setting won't take effect as long as the SharingCapability for SPOTenant is more restrictive.
Set-SPOTenant : 共有機能を指定したレベルに設定することはできません。これは親サイト コレクションまたは組織に設定されたレベルよりゆるいレベルです。
発生場所 行:1 文字:1
+ Set-SPOTenant -CoreSharingCapability ExternalUserAndGuestSharing
+ ~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-SPOTenant], ServerException
    + FullyQualifiedErrorId : Microsoft.SharePoint.Client.ServerException,Microsoft.Online.SharePoint.PowerShell.SetTenant

例の場合では、CoreSharingCapabilityをExternalUserAndGuestSharingに変更になるので以下のように設定を行います。

Set-SPOTenant -SharingCapability ExternalUserAndGuestSharing

おわりに

その他コマンドのオプションは以下資料をご参照ください。

SharePoint管理センター上の「試験中の機能」が何を指すのかは突き止められませんでした。

GUI上で設定できるパラメータを1つずつ確認、パターン別に検証などしたのですが該当するものが分かりません。

今後、特定が出来た場合はブログに書くかもしれませんが優先度は低めです。

作業時間を短縮するため、コマンドベースで対応できるのはありがたいですね。

突然のUI変更で戸惑うことがないので私はコマンドが好きです。

執筆担当者プロフィール
宮久保 良彦

宮久保 良彦(日本ビジネスシステムズ株式会社)

モダンワークプレイス部に所属。 Azureに関連する提案、設計、構築を担当しています。 自作PCのカスタマイズが趣味です。

担当記事一覧