Oh! 365 blog

主に SPO や Teams に関する情報を発信しています。

【Teams】セキュリティグループや配布グループを使用した Teams へのユーザー追加時の注意点

Teams アプリ上からユーザーを追加する際、セキュリティグループや配布リストを選択することで、グループに所属するユーザーを一括でメンバーとして登録することができます。しかしながら、これらのグループを利用可能なのは、登録時の 1 回限りであり、継続的に使用できるわけではないので注意が必要です。

Teams のユーザー管理を、Azure AD のグループを使用して行いたいという話はよく聞くので、備忘録として記載しておきます。

 

公開情報

下記公開記事の中で動作を明確に記載してあります。

既存の Microsoft 365 グループを強化する - Microsoft Teams | Microsoft Docs

配布リストに関しては以下の記述が該当します。

配布リストをチームに招待し、その配布リストのメンバーをチームに追加することもできます。 これは1回限りの追加であり、後で配布リストのグループメンバーシップに加えた変更は、チームに複製または同期されません。

セキュリティグループに関しては、以下の記述が該当します。

チームのメンバーとして、メール対応のセキュリティ グループを追加することもできます。ただし、後でセキュリティ グループにさらに多くのメンバーを追加しても、それらのメンバーはチームに自動追加されません。新しいメンバーをチームに個別に追加するか、セキュリティ グループをチームに再追加する必要があります。(セキュリティ グループを再追加する場合は、重複を削除してメンバーが一度だけ追加されるようにします。)

この動作は、そもそもチームを管理するための Microsoft 365 グループ (旧 Office 365 グループ) に対して、セキュリティ グループなどを追加して管理することができない動作も起因します。Microsoft 365 グループにセキュリティ グループを追加できない動作に関しては、下記記事に記載があります。

別のグループに対してメンバーの追加または削除を行う - Azure AD | Microsoft Docs

以下は現在サポートされていません。
...
Office 365 グループへのセキュリティ グループの追加。 

Teams アプリ上での操作画面

Teams アプリ上からチームにユーザーを追加する画面にて、セキュリティグループや配布リストが選択可能なことは、アプリ上に明記されています。例として、実際にセキュリティグループの名前を入れた場合、候補に表示されることが確認できます。

f:id:keisuke-blog:20200623011335p:plain

Teams アプリ上でのユーザー追加画面

このまま追加した場合、グループ内のすべてのユーザーが "メンバー" として追加されます。"所有者" へ変更する項目は表示されません。所有者として追加したいユーザーがいる場合、追加後に別途役割を変更する必要があります。

 

また、Azure AD のグループを利用してユーザーを追加する場合、既にチームに登録されているユーザーは、重複して処理されず、まだチームのメンバーでないユーザーのみが追加されます。以下の例では、セキュリティグループに所属する 20 名のうち、2 名は既にチームに所属していたため、まだメンバーでない18名が追加されたことを示します。

f:id:keisuke-blog:20200623011505p:plain

まだメンバーでない 18 名のユーザーのみが追加された

Azure AD 側のグループにユーザーが追加された場合、自動的にメンバー構成が同期されることはないので、もう一度グループを指定して追加してあげることで、差分のみ追加するという操作が必要になります。


Teams 管理センターでは追加時にもグループは利用できない

残念ながら、現時点では Teams 管理センターから個々のチームにユーザーを追加する場合には、セキュリティグループや配布リストは利用できません。検索にも出てきません。Teams アプリ上から追加するときのみの機能と考えられます。

f:id:keisuke-blog:20200623012125p:plain

セキュリティグループや配布リストに関する記述はない


おわりに

追加時にのみ有効というのは見落としがちなので注意が必要ですね。ただ、アプリ側からの変更も同期されてしまうと、それはそれで管理が大変になるので、今の仕様も違和感はないかなと思います。今後もよくある話などがあれば備忘録もかねて積極的に記事にしていこうと思います。

今回の投稿は以上です。

Office 365 PowerShell 一番簡単なフィルタ方法 (Out-GridView)

PowerShell で出力結果をフィルタしたいとき、Out-GridView がものすごく便利です。普段 Where-Object や ? を使用した条件式を使っていますが、とりあえず絞り込みを試したい場合などは、Out-GridView で対話的にフィルタしています。業務上 SharePoint Online や Teams、Exchange Online などで PowerShell をよく使うので、SharePoint Online のコマンドを例に紹介します。


使い方は簡単で、以下のようにパイプ "|" でつないで Out-GridView をつけるだけです。 

Get-SPOSite | Out-GridView


Out-GridView を使うと以下のように別ウインドウが立ち上がり、コマンドの実行結果が反映されます。

f:id:keisuke-blog:20200621182653p:plain

Get-SPOSite の結果を別ウインドウに表示 (実行したコマンドは上部に表示)

上部の [フィルター] と表示されている入力ボックスでは、表示されているすべての列を対象に、フリー キーワードで検索できます。

 

f:id:keisuke-blog:20200621183237p:plain

test と入力すると、Title 列に test が含まれている行だけ表示される

また、[条件の追加] という項目から、特定の列を指定して詳細な条件式を追加することができます。条件式を追加するごとに表示も更新されるため、対話的に結果を見ることができます。そのため、複数の条件式もお手軽に試せます。

f:id:keisuke-blog:20200621183548p:plain

Template 列と Title 列の値で絞り込み

Out-GridView が便利な点は、フィルタした結果を簡単にコピペ可能な点です。マウス操作でも実現できますが、Windowsエクスプローラーと同様に、以下のショートカットキーで簡単に操作できます。

 

  • [Ctrl] + [A] で全選択
  • [Ctrl] + [C] で選択した行をコピー
  • [Ctrl] + [V] で Excelテキストエディタに張り付け
  • [Shift] を押しながら行をクリックして連続した行を選択
  • [Ctrl] を押しながらながら任意の行をクリックして任意の行を選択

 

さらに使い倒す方法

ここまでの内容だけでもとても便利なのですが、フィルタした結果を以降のコマンドでも使いまわしたいシーンもあると思います。このような場合、 -PassThru パラメータを使えば実現できます。

$site = Get-SPOSite | Out-GridView -PassThru

 
この例の場合、別ウインドウで対話的にフィルタした結果が、$site 変数に返されます。必要な値だけを選択して変数化できるので、使い勝手がいいです。

 

おわりに

PowerShell で結果をフィルタする場合、記述、実行、コンソールで結果を確認、修正という流れになります。使い慣れたコマンドであればいいですが、初めて絞り込みを試みるような場合などは、そもそもどのように条件式を書けば欲しい結果が得られるのかを確認する必要がります。そういった場面で、対話的にフィルタの結果を確認できるので、とても効率的に作業できると思います。最初からすべての結果を Excel に出力してから、Excel で絞り込みするのもいいですが、軽量かつお手軽に試せるので、こちらも使ってみてください。


また、SharePoint Online の管理用 PowerShell を使う方は、よく使うコマンドををコピペで使えるようをまとめているので、こちらもご参考ください。

www.samurainote.com

 

今回の投稿は以上です。

 

【SPO】SharePoint Online でよく使う PowerShell コマンド一覧 (管理者向けチートシート)

多くのサイトが存在するテナントでは、SPO の管理をするのも一苦労です。サイト数が増えると画面操作では効率が悪いため、SharePoint Online 管理シェルや PnPOnline のコマンドレットを使用してサイトの URL や容量などを調べます。よく使うコマンドレットは OneNote に記録し、適宜コピペして使っていましたが、Web 上からもパッと探せた方が便利かと思い、コマンドのサンプルをまとめてみることにしました。

※ 随時更新予定です

 

SharePoint Online 管理シェルのモジュール管理

コマンド 説明
Install-Module Microsoft.Online.SharePoint.PowerShell インストール
Update-Module Microsoft.Online.SharePoint.PowerShell アップデート
Get-Module Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select Name,Version バージョン確認

SharePoint Online 管理シェルのコマンド集

値を取得する (Get コマンド)
コマンド 説明
Connect-SPOService -Url [Admin Portal Url] SPO 管理センターに接続
Get-SPOTenant テナント単位の設定を列挙
Get-SPOSite -Limit All | select Url, Title, Owner すべてのサイト コレクションを列挙
Get-SPOSite -Limit All -Template STS#0 クラシックのチームサイトを列挙
Get-SPOSite -Limit All -Template STS#3 モダン チームサイトを列挙
Get-SPOSite -Limit All -Template GROUP#0 Microsoft 365 グループが紐づくチームサイトを列挙
Get-SPOSite -Limit All -Template SITEPAGEPUBLISHING#0 コミュニケーション サイトを列挙
Get-SPOSite -Limit All -Template SPSPERS#10 -IncludePersonalSite:$true OneDrive for Business のサイトを列挙
Get-SPOSite -Limit All -Template TEAMCHANNEL#0 プライベート チャネルに紐づくサイト コレクションを列挙
Get-SPODeletedSite -Limit ALL 削除済みのサイトコレクションを列挙
Get-SPODeletedSite -IncludeOnlyPersonalSite -Limit ALL 削除済みの OneDrive for Business サイトを列挙
Get-SPOSite -Limit All | select Url,StorageUsageCurrent, StorageQuota, StorageQuotaWarningLevel 取得するプロパティを絞り込む (Url/サイト名/現在の使用量/使用量の上限/警告レベル)
Get-SPOSite -Limit All | select Url,Title,DenyAddAndCustomizePages カスタムスクリプトの設定を取得
Get-SPOSite -Limit All | select Url,Title,SharingCapability 共有の状態を取得
Get-SPOSite -Identity [URL] | fl 指定したサイトのすべてのプロパティを表示
Get-SPOSite -Identity [URL] | select Url,Title,DenyAddAndCustomizePages 指定したサイトのカスタムスクリプトの設定を取得

Get-SPOSite -Identity [URL] | select Url,StorageUsageCurrent, StorageQuota, StorageQuotaWarningLevel

指定したサイトの Url/サイト名/現在の使用量/使用量の上限/警告レベルを取得

Get-SPOSite -Identity [URL] | select Template

指定したサイトのサイトテンプレートの種類を取得

 

値を変更する (Set コマンド)
コマンド 説明
Get-SPOSite -Limit All | where{$_.Title -like [String]} 指定した文字列を含むサイトのみ列挙
Get-SPOSite -Limit All | where{$_.StorageQuota -gt [MB]} サイト容量の上限が 指定した容量 (MB) より大きいサイトのみ列挙
Get-SPOSite -Limit All | Foreach{ Set-SPOSite -Identity $_.Url [-Parameter][Value]} サイトに対する変更を一括で処理する
Set-SPOSite -Identity [URL] -StorageQuota 102400 -StorageQuotaWarningLevel 51200 指定したサイトの容量を 100GB に、警告レベルを 50GB に設定する
Set-SPOSite -Identity [URL] -DenyAddAndCustomizePages [$True/$False] 指定したサイトのカスタムスクリプト許可の設定を変更する

PnP のモジュール管理

コマンド 説明
Install-Module SharePointPnPPowerShellOnline インストール
Update-Module SharePointPnPPowerShellOnline アップデート
Get-Module SharePointPnPPowerShellOnline -ListAvailable | Select Name,Version バージョン確認

PnP のコマンド集

コマンド 説明
Connect-PnPOnline -Url [URL] サイトに接続する
Get-PnPWeb 現在のサイトを取得
Get-PnPSubWebs -Recurse 現在のサイト配下のすべてのサブサイトを列挙 (Title, Url, WebId)
Get-PnPList 現在のサイト配下のリスト/ライブラリを列挙 (Title, Url, WebId)
Get-PnPList -Identity [Title] 指定したリスト/ライブラリを取得 ()
Get-PnPFeature -Scope Site サイトコレクションの機能一覧を取得 (DisplayName, DefinitionId)
Get-PnPFeature -Scope Web サイト機能一覧を取得 (DisplayName, DefinitionId)
Get-PnPProperty -ClientObject $list -Property Views, Forms
$list.Views
$list.Forms
リストのビューとフォームの一覧を取得
Get-PnPProperty -ClientObject $list -Property WorkflowAssociations リスト ワークフローの関連付け情報を取得


管理シェルが対応していないグループサイトのプロパティを変更

Connect-PnPOnline -Url [GROUPSITE URL] -Credentials (Get-Credential)
$clientcontect = Get-PnPContext
$clientcontect.Site.DisableAppViews = $true;
$clientcontect.Site.DisableFlows = $true;
Invoke-PnPQuery

一緒によく使うコマンド オプション

コマンド

説明

| Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\<任意のパス>\result.csv"

実行結果を CSV ファイルに出力する

| Out-GridView

結果を別ウインドウで表示

| Out-GridView -PassThru

結果を別ウインドウで表示 (フィルタした結果を PowerShell に返す)

| Format-Table -AutoSize -Wrap

出力結果を省略 (...) せずに表示

Start-Transcript results.txt

実行結果の記録を開始

Stop-Transcript

実行結果の記録を終了

 

 Out-GridView の動作については別記事にまとめています。

www.samurainote.com

 

今回の投稿は以上です。

他にも思いついたら随時更新します!

【Teams】Add-TeamUser の Owner パラメータの動作が改善されました (v1.0.4 以降)

Microsoft Teams PowerShell でユーザーを追加する Add-TeamUser で動作変更がありました。過去の実装のままだと、パフォーマンス観点で不利なので、本記事の内容に該当する場合は、スクリプト修正も検討したほうが良いと思います。

以前は、 -Role Owner のパラメータの動作が、アプリ上の操作と異なる動作が問題点として知られていました。アプリ上から手動で所有者に登録した場合と同じ動作にする回避方法は、以下のように 先にメンバーとして登録したのち、もう一度 Owner パラメータをつけて実行するというものでした。

Add-TeamUser -GroupI <GUID> -User user@contoso.com
Add-TeamUser -GroupI <GUID> -User user@contoso.com -Role Owner

このようにAdd-TeamUser を 2 回実行する必要があり、とても非効率となっていましたが、Ver 1.0.4 にてついに修正されました。これにより、Ver 1.0.4 以降のモジュールを通場合は、下記 1 行で済むようになりました。

Add-TeamUser -GroupI <GUID> -User user@contoso.com -Role Owner

従来のまま使っている場合も最終的な結果としては同じですが、コマンドの実行回数が減るメリットがあります。数人の処理なら差は出ないと思いますが、ループ処理で多くのユーザーを一括で登録するような場合は、パフォーマンスの観点からも修正することをお勧めします。


この修正は、Microsoft PowerShell の v1.0.4 以降のバージョンに含まれます。2020/6 時点だと 1.0.7 が利用可能なようなので、最新版に更新しておくことが無難かと思います。

Release Note
1.0.4

This update includes:
...
- Add-TeamUser will add user as both owner and member to a team when the -Owner parameter is set.

 

https://www.powershellgallery.com/packages/MicrosoftTeams/1.0.4

今回の内容としては以上となりますが、一般的な利用の中でなかなか気づくことのない動作だったので、そもそも何が問題だったのかという点も残しておこうと思います。

そもそも何が問題だったのか

Teams のアプリ上からユーザーを所有者として登録すると、実際には、チームに関連づいている Microsoft 365 グループ (旧名称 Office 365 グループ) の所有者およびメンバーに登録されます。一方、Add-TeamUser コマンドの Owner パラメータを使用して所有者として追加した場合、グループのメンバーに登録されないという問題がありました。

Microsoft 365 管理センターからグループの情報を見ると、アプリ上から所有者に追加したユーザーは、"所有者" と "メンバー" にそれぞれ表示され、Add-TeamUser で登録した所有者は、"所有者" のみに登録されるという結果となっていました。この動作の最も厄介な点は、Teams アプリ上でチームの情報からそのユーザーを見ると、どちらの場合も "所有者" として表示されており、見た目上は差異が無いように見えていたことでした

一見、M365 グループの所有者として登録されていれば問題ないようにも思えますが、Planner などのアプリでは、内部動作としてグループの "メンバー" に登録されているかをチェックする処理があり、Teams のチームで Planner を使っている場合に、所有者登録されているユーザーなのに、なぜかアクセス拒否のエラーが表示されるなどの問題が起きていました。そのため、わざわざ Add-TeamUser を 2 回実行して、所有者とメンバーに登録されるようする必要がありました。

おわりに

こういったモジュール類は、新しいバージョンが出るたびに何気なくアップデートしていましたが、たまたまリリースノートを見てこの動作変更に気づきました。今後はどのような修正や機能拡張が加わったのかにも注目してみようと思います。

今回の投稿は以上となります。

【SPO】SharePoint サイトテンプレート ID (templateId) 一覧

Get-SPOSite などでサイトコレクションを取得するとき、サイトのテンプレート (Teamplate) プロパティで絞ることがあるかと思います。確認する限り docs などの公開情報でまとめられたものは見当たりませんでした。自分用にまとめていたのですが、そこそこ使う頻度も多いかなと思うので、表にしてみました。

Template ID Template Name テンプレート名
APPCATALOG#0 App Catalog Site アプリ カタログ サイト
BDR#0 Document Center ドキュメント センター
BICenterSite#0 Business Intelligence Center ビジネス インテリジェンス センター
BLANKINTERNETCONTAINER#0 Publishing Portal 発行ポータル
BLOG#0 Blog ブログ
COMMUNITY#0 Community Site コミュニティ サイト
COMMUNITYPORTAL#0 Community Portal コミュニティ サイト ポータル
DEV#0 Developer Site 開発者向けサイト
EDISC#0 eDiscovery Center 電子情報開示センター
EHS#1 Team Site – SharePoint Online configuration チーム サイト - SharePoint Online の構成
ENTERWIKI#0 Enterprise Wiki エンタープライズ Wiki
GROUP#0 Group site (associated Microsoft 365 Group) グループ サイト (Microsoft 365 のサイト)
OFFILE#1 Records Center レコード センター
POINTPUBLISHINGHUB#0 PointPublishing Hub PointPublishing ハブ サイト
POINTPUBLISHINGPERSONAL#0 PointPublishing Personal ブログ(新しい個人ブログ)
POINTPUBLISHINGTOPIC#0 PointPublishing Topic Office 365 Video チャンネル
PRODUCTCATALOG#0 Product Catalog 製品カタログ
PROJECTSITE#0 Project Site プロジェクト サイト
PWA#0 Project Web App Site Project Web Appサイト
RedirectSite#0 Redirect Site リダイレクトサイト
SITEPAGEPUBLISHING#0 Communication site コミュニケーション サイト
SPSMSITEHOST#0 My Site Host 個人用サイトのホスト
SPSPERS#10 Personal Site (OneDrive for Business) 個人用サイト
SRCHCEN#0 Enterprise Search Center エンタープライズ検索センター
SRCHCENTERLITE#0 Basic Search Center 基本検索センター
STS#0 Team Site (Classic Experience) チーム サイト (従来のサイト)
STS#3 Team site (no Office 365 チーム サイト (グループなしのサイト)
TEAMCHANNEL#0 Private Channel Site プライベートチャネルのサイト
VISPRUS#0 Visio Process Repository Visio プロセス リポジトリ

Get-SPOWebTemplate というコマンドレットで、テナントのテンプレートの一覧を取得できるようですが、すべてを網羅できているわけではないようです。この表もすべてを網羅できていない可能性もありますし、日々更新が入って新しいテンプレートが増える可能性もあるため、参考程度に利用してください。


Get-SPOWebTemplate

おわりに

SharePoint Online の新機能だけでなく、Teams のプライべート チャネルなどの Teams 側の拡張などでもテンプレートの種類が増えることがあります。この表も気づいたら随時アップデートしていく予定です。

今回の

投稿は以上です。

【SPO】Windows 資格情報マネージャーを利用して SPO に接続する

今回は PnP PowerShell の Connect-PnPOnline や、SharePoint Online の Connect-SPOService でサイト接続する際に、Windows Credential Manager (資格情報マネージャー) を使用する方法を紹介します。この方法を利用することで、ユーザー名とパスワードの入力を省くことができます (MFA 環境は除く)。利用頻度が高い場合、いちいちユーザー名とパスワードを入力するのは手間ですし、準備も数分で完了するのでぜひ試してみてください。サイトの URL を指定する方法と、ラベルを使用する方法の 2 つを紹介します。

URL を指定する方法 (Connect-PnPOnline に対応)

最初に、SharePoint Online に接続する際に使用するサイトの URL とユーザー情報を資格情報マネージャーに登録します。資格情報マネージャーはコントロール パネルにあります。コントロール パネルから探してもよいですし、タスク バーの検索ボックスから "資格" で入力することでも見つかります。

f:id:keisuke-blog:20200613121755p:plain

タスクバーの検索ボックスから

次に、下の画像の [汎用資格情報の追加] から SharePoint Online のサイト URL と使用するユーザーの資格情報を入力していきます。

 

f:id:keisuke-blog:20200613122321p:plain

汎用資格情報という項目に追加していきます

テナントのURL と使用するユーザー名とパスワードを入力して保存します。

f:id:keisuke-blog:20200613123059p:plain

以上で準備は終了です。

上記手順を実施後、指定したテナントのパスが含まれている場合は、登録した資格情報が使用されるため、ユーザー名とパスワードの入力無しで接続できます。

Connect-PnPOnline -Url https://tenant.sharepoint.com/sites/sitename

 

これもとても便利なのですが、もしも資格情報を使い分けたい場合や、必要な時にだけ資格情報マネージャーの情報を使いたいときは、URL の部分に、その資格情報を識別するための "ラベル" を入力する方法があります。

 

ラベルを指定する方法 (Connect-SPOService と Connect-PnPOnline に対応)

先ほどテナントの URL を入力した部分に、適当な名前を付けます。資格情報マネージャーに登録されている資格情報を識別するためのもので、PowerShell 実行時にラベル名を入力するので、覚えやすい名前がいいですね。

f:id:keisuke-blog:20200613123810p:plain

任意のラベル名を入力できます

 

PowerShell 実行時は、ラベル名を指定して実行します。


PnP PowerShell の場合 

Connect-PnPOnline -Url https://tenant.sharepoint.com -Credentials <ラベル名>

 

SharePoint Online PowerShell の場合

 こちらの場合は、CredentialManager モジュールの Get-StoredCredential コマンドを使用して資格情報マネージャーから参照します。最初にモジュールをインストールする必要があります。

 

Install-Module -Name CredentialManager

 

そして、-Credential パラメータに Get-StoredCredential コマンドでラベルを指定して取得した資格情報を渡します。

 

Connect-SPOService -Url https://tenant-admin.sharepoint.com -Credential $(Get-StoredCredential -Target <ラベル名>)

 Connect-SPOService の方は、資格情報の異なるラベルを複数用意しておけば、権限レベルの違う複数のユーザーを使用した検証などもできそうですね。

 

おわりに

動作検証などで複数のユーザーを使い分ける場面は多々あるかと思います。シークレットモードなどでうまく使い分けている場合が多いかと思いますが、ブラウザのタブで複数のアカウントを切り替えられる拡張機能があります。過去の記事で紹介していますが、かなり便利な拡張機能なので、こちらもよければ使ってみてください。

今回の投稿は以上です。

【SPO】SharePoint 管理センターでサイトをフィルタする方法

SharePoint 管理センターは管理者向けの機能であり、多くの場合、サイト コレクション (表記上はサイト) の設定を確認/変更する用途でアクセスするかと思います。しかしながら、新しい SharePoint 管理センターに表示されるサイトの種類は、Office 365 グループに接続されたサイトや、コミュニケーション サイトなどのサイト テンプレートを使用したサイトが含まれるため、従来の管理センターに表示されるサイトの一覧との違いに戸惑う方が多いようです。

 

新しい SharePoint 管理センターでは、サイトの一覧をフィルターする機能や、フィルタ―した設定をカスタムのビューとして保存する機能があります。この機能を使えば、従来の SharePoint 管理センターで表示されていたサイトを表示させることもできるので、ぜひ活用ください。

 
※ 追記 2020/06/11
組み込みのビューに [従来のサイト] というビューが追加されていました。これを使えば、自分でカスタムのビューを作ってフィルタする必要もなくなりそうですね。どんどん機能が拡張されて、より便利になりますね!

f:id:keisuke-blog:20200611154252p:plain

サイトをテンプレートでフィルタする

1) SharePoint 管理センターにアクセスします。

https://admin.microsoft.com/sharepoint?page=home&modern=true

2) [アクティブなサイト] からサイト コレクションの一覧を表示します。

f:id:keisuke-blog:20200520224809p:plain

[アクティブなサイト] からサイトコレクションの一覧を表示します


3) [テンプレート] 列の [チームサイト (クラシック表示)] でフィルタします。

※ この操作で、クラシック表示のチームサイトのテンプレートのサイトがフィルタされます。もし、従来の SharePoint 管理センターにて、他のテンプレートを使用してサイト コレクションを作成している場合、下の画像のように [アプリ カタログ サイト] [プロジェクト サイト] [発行サイト] なども候補に表示されるため、これらもフィルタに加えます。

f:id:keisuke-blog:20200520225153p:plain

[テンプレート] 列をクリックしてフィルタ オプションを表示します。

4) 従来の SharePoint 管理センターから作成した、既存のクラシック サイトコレクションがフィルタされました。

f:id:keisuke-blog:20200520225645p:plain

選択したテンプレートのサイト コレクションのみがフィルタされた状態

フィルタした結果をビューに保存し再利用可能にする

フィルタ設定や表示する列をカスタマイズした場合、次回以降も再利用できるように、ビューに名前を付けて保存します。これにより、再度アクセスした際も、同じ設定のビューが利用できるため、用途に合わせてサイトの一覧を切り替えることができます。

画面右上のビュー名をクリックし、[ビューに名前を付けて保存] をクリックします。
※ 既定では、[すべてのサイト] ビューが選択されています。

f:id:keisuke-blog:20200520230407p:plain

画面右上の現在利用しているビュー名をクリックします。

保存すると、上記の画像のように [ユーザー設定のビュー] の一覧に表示されます。画像のように "クラシックサイト" とつけるのがわかりやすいと思います。

 

おわりに

新しい SharePoint 管理センターでできる操作の一覧は、以下の公開記事に記載があります。ここで紹介した操作も説明があるので、こちらもご参考ください。

新しい SharePoint 管理センターでサイトを管理する - SharePoint Online | Microsoft Docs

モダンサイトの登場や、機能拡張に伴い SharePoint 管理センターも新しいエクスペリエンスの提供が開始され、見た目も一新されましたし、ダッシュボードから利用状況のレポートや、SharePoint Online に関するメッセージ センターの通知なども確認できるようになり、どんどん使いやすくなっています。新しい SharePoint 管理センターに追加された新機能は以下の記事で更新されていますので、こちらもチェックしてみてください。

SharePoint 管理センターの新機能 - SharePoint Online | Microsoft Docs


今回の投稿は以上です。

Microsoft 365 管理センターのサービス正常性の変更をメールで受信する設定

Microsoft 365 (Office 365) の各サービスで障害が発生した場合、Microsoft 管理センター (https://admin.microsoft.com) のサービス正常性ダッシュボード (Service Health Dashboard) で詳細を確認します。サービスに障害が発生した場合、管理者の役割を持つユーザーは、いち早く障害を察知して最新の対応状況をキャッチしたうえで利用者に通知したいところですが、いつ更新があったかわからない状態で、毎回管理センターにアクセスするのはかなりの手間でした。

 

しかし、2020 年の 3 月末に、すべてのテナントを対象にサービス正常性ダッシュボードに更新があった場合にメール通知する機能がリリースされました。

MC196504: New Feature: Service health dashboard email notifications GA​

この機能は、サービス正常性ダッシュボードにアクセス可能なユーザーが、個別に任意のメールアドレスを指定できます。そのため、個人のメールアドレスの他、配布グループやセキュリティグループなども指定できます。また、Microsoft Teams の特定のチャネル取得したメールアドレスを指定すれば、更新の度に特定のチャネルに投稿されるようにし、関係者全員が把握できるようにするなどの運用も可能です。管理センターにアクセスする必要がなくなり大変便利なのでぜひ利用してみてください。

設定方法


1) Microsoft 365 管理センターのサービス正常性ダッシュボード上の [ユーザー設定] をクリックします。

f:id:keisuke-blog:20200513232908p:plain

[ユーザー設定] から設定する

2) ページ上部の [サービス正常性の通知をメールで送信する] にチェックを入れると、メールアドレスの指定や対象のサービスが指定可能です。

f:id:keisuke-blog:20200513233024p:plain

設定可能な項目

※ 現時点では、各ユーザー毎に 2 つまでのメールアドレスを指定できるようです。

3) インシデントとアドバイザリの項目で、メールでの通知が必要な方にチェックを入れます。

4) メールでの通知が必要な、サービスにチェックを入れます。

ここで、例えば、3) で [インシデント] のみにチェックを入れ、対象のサービスを Microsoft Teams のみにした場合、Micorosoft Teams のインシデントが告知されたり、アップデートがあった場合に、指定したメールアドレスにその内容が通知される動作になります。

 

※ なお、変更を保存すると以下のように、変更が反映されるまでに最大で 8 時間かかる可能性があることが表示されるので、事前に設定しておくのがよさそうです。

f:id:keisuke-blog:20200513233726p:plain


以上で設定は終了です。

通知メールの例


本設定を行った場合、指定したメールアドレスに以下のようなサマリ メールがきます。

  • 送信元は o365mc@micorosoft.com
  • インシデントのタイトルやサービス正常性へのリンク
  • Status 情報 (調査中、復旧済みなど)

f:id:keisuke-blog:20200513234225p:plain

Outlook on the Web で表示

Micorosft 側での詳細な対応状況が確認したい場合は、インシデント番号のリンクからサービス正常性にアクセスすることもできます。メールを受信した際に Staus が Restored になっていたら、復旧と判断できますね。


Teams のチャネルから取得したメールアドレスを指定した場合は、更新の度に以下のように投稿されます。部門やチームで共有したいときは、Teams に投稿したほうが便利かもしれないですね。

f:id:keisuke-blog:20200513234714p:plain

Teams のチャネルのメールアドレスを指定した場合

関連情報


チャネルのメールアドレスを取得する方法がわからない場合は、Teams でチャネルに電子メールを送信する - Office サポート を参考にしてください。

サービス正常性の全般的な説明については、Office 365 サービスの正常性をチェックする方法 | Microsoft Docs を参考にしてください。

おわりに

この機能がリリースされるまでは、Power Automate (旧 Microsoft Flow) と Office 365 Service Communications API を使用して更新を定期的に取得する方法がありましたが、標準機能で実現できるようになったのはうれしいですね。Microsoft 365 はユーザーのフィードバックを重視して機能拡張の計画を決めているので、今後のアップデートにも期待したいです。今回は完全に管理者ユーザー向けの内容となりましたが、一般ユーザー向けの内容もどんどん投稿していきます。

今回の投稿は以上となります。

【Teams】Microsoft Teams 新機能の探し方 (リリースノート)

新機能に関するアナウンスといえば、Microsoft 管理センターの Message Center (メッセージ センター) や、TechCommunity、Roadmap 等複数あるのですが、管理センターにアクセスする権限のない一般ユーザーの方は確認できないことや、コミュニティの記事は英語であったりと、なかなかキャッチアップできてない方もいるのではないでしょうか。リリースに情報に関しては、Teams アプリ上から確認する方法もあるのですが、導線が分かりづらいかもしれないので、以下に紹介します。

 

左下にある [ヘルプ] - [新着情報] からアクセス

Teams アプリの左下にある [ヘルプ] のアイコンからは、Teams に関する公開情報のリンクやフィードバックの項目があります。一覧の中にある [新着情報] をクリックすると、これまでにリリースされた機能変更や機能拡張をまとめた公開情報にアクセス可能です。Teams のデスクトップ アプリ、および、Web ブラウザ版どちらも OK です。

 

f:id:keisuke-blog:20200513005116p:plain

アプリの左下にある [ヘルプ] - [新着情報] から

[新着情報] をクリックすると以下のようなリリース情報がまとめられたページが表示されます。

f:id:keisuke-blog:20200513005519p:plain

リリース日と主な変更内容が表示される

ページ上部にある [ヘルプの検索] と表示されている検索ボックスから、過去のリリース情報を検索することもできます。また、ここに掲載される情報は、デスクトップ版と Web ブラウザ版の Teams に関する情報のため、AndroidiOS などのモバイル アプリ、および、デスク据え置き型の Teams デバイス向けの内容を確認したい場合は、以下の記事から確認できます。

 

support.office.com

ちなみに、[新着情報] ページを一番下までスクロールすると上の記事へのリンクがあるので、忘れても大丈夫です。

f:id:keisuke-blog:20200513011151p:plain

最下部にある [ブラウザーで読む] のリンクからもアクセス可能

 

すべての変更点が網羅的に掲載されているわけではないことには注意が必要ですが、アプリ上から手軽にリリース情報にアクセスできるので、ぜひ活用してみてください。

 

全般的なアーキテクチャ、基本的な機能を把握したいという場合は、学習リソースについてまとめましたので、こちらの記事をご参考いただければと思います。

www.samurainote.com

おわりに

昨今の社会情勢を受け、Teams を使い始めた方も多いのではないかと思います。私自身は、Teams の利用を始めて数年経つので慣れっこですが、日々の利用する中で、こんな機能あったっけ? と思うことは日常茶飯事です。日々変わっていく機能に戸惑う方も多いのではないかと思うので、公開情報の探し方などのトピックも扱っていこうかと思います。

 

今回の投稿は以上です。

【SPO】グループ サイト コレクションに対する Set-SPOSite コマンドが失敗する場合の対処方法

2020 年 4 月頃、SPO の検証環境にて Set-SPOSite コマンド実行時にエラーが返るようになったことがありました。モジュールを最新版に更新することで解消したのですが、同じことではまる人がいるかもしれないので、備忘録を残しておきます。

 

エラーの内容

Teams でチームを作成した際に自動でプロビジョニングされる、Office 365 グループが紐づくグループ サイト コレクションに対して StorageQuota の変更を試みたところ、下記のエラーが発生しました。

https://xxxxx.sharepoint.com/teams/topsite はグループのサイト コレクションです。この種類のサイト コレクションに対して有効なパラメーターは '-Identity'、'-AllowSelfServiceUpgrade'、'-DefaultLinkPermission'、'-DefaultSharingLinkType'、'-DenyAddAndCustomizePages'、'-DisableCompanyWideSharingLinks'、'-DisableSharingForNonOwners'、'-LockState'、'-Owner'、'-ResourceQuota'、'-ResourceQuotaWarningLevel'、'-SandboxedCodeActivationCapability'、'-SharingCapability'、'-ShowPeoplePickerSuggestionsForGuestUsers'、'-SocialBarOnSitePagesDisabled'、'-StorageQuota'、'-StorageQuotaReset'、'-StorageQuotaWarningLevel' です。 

そもそも、Set-SPOSite コマンドは GitHub のリファレンスに記載のあるように、グループ サイト コレクションに対して使用する場合、設定可能なパラメータが限られています。上記エラーは、Set-SPOSite の引数に対応していないパラメータを指定した時に発生するエラーなのですが、今回は対応しているはずの StrageQuota パラメータを指定したにも関わらず発生している状態でした。

対処方法

Microsoft.Online.SharePoint.PowerShell モジュールのバージョンアップで解消しました。
下記コマンドで実行端末で使用しているモジュールを確認したところ、16.0.19814.12000 でした。 

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

 その時の最新版を調べると、16.0.19927.12000 でしたので、以下のコマンドでバージョンを上げました。

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

その後、Set-SPOSite コマンドで StrageQuota パラメータを指定した場合にも、エラー無く実行ができるようになりました。再現環境では、StrageQuota 以外のパラメータを指定した際も同様のエラーが返されたので、バージョンが古くなっている場合、同じエラーに直面するかもしれません。まずはバージョンをアップを試してみるのがよいと思います。

おわりに

この手の問題は GitHub の issue に投稿があるので、トラブルシュートの際は GitHub を探してみるのが良いです。実際にトラブルシュートのために情報を探していたら、同時期に下記投稿がありました。

github.com

 OneDrive for Business のサイト コレクションに対して実行したようなので、今回の投稿とは若干異なりますが、発生時期とエラー内容が同じなので、もしかすると関係あるかもしれませんので参考まで。

 

なお、PowerShellGet を使ってモジュールをパッケージ管理して使っている環境ではなく、スタンドアロンSharePoint Online Management Shell (SharePoint Online 管理シェル) を使用している場合は、下記ページから入手できます。

Download SharePoint Online Management Shell from Official Microsoft Download Center


今回の投稿は以上です。