Tag( "PowerShell" ){ return results; };

Microsoft Teams の PowerShell コマンドレットが 1.0.0 になりました

Microsoft Teams の PowerShell コマンドレットにバージョン 1.0.0 が登場し、いよいよ一般提供開始(General Availability)となりました!

PowerShell Gallery | MicrosoftTeams 1.0.0
https://www.powershellgallery.com/packages/MicrosoftTeams/1.0.0
Microsoft Teams PowerShell Module General Availability
https://techcommunity.microsoft.com/t5/Microsoft-Teams-Blog/Microsoft-Teams-PowerShell-Module-General-Availability/ba-p/480934

これで、日ごろの運用においても PowerShell から色々と操作を行えるようになると思いますので、さっそく少し触ってみます。

Read More

Office 365 の管理に PowerShell を使ってみよう「Office 365 管理者のための逆引き PowerShell ハンドブック」が発売されました

私も共著で参加させていただいた書籍「Office 365 管理者のための逆引き PowerShell ハンドブック」が発売されました。Amazon で購入できるほか、書店にも並び始めているようです。

というわけで、少しだけご紹介します。

Read More

SharePoint Online 既存のチーム サイトに Office 365 グループを接続してみた

Microsoft からの先月末のアナウンスによると、いよいよ既存の(すでに作成済みの)SharePoint Online チーム サイト(クラシック表示)に、Office 365 グループを接続できるようになるとのことで、さっそく試してみたので記録を残しておきます。

アナウンスは、下記のリンク先ですね。

Rolling out: tenant admin tools to connect existing SharePoint team sites to new Office 365 Groups
https://techcommunity.microsoft.com/t5/SharePoint-Blog/Rolling-out-tenant-admin-tools-to-connect-existing-SharePoint/ba-p/188750

それでは実際にやってみましょう。

Read More

PowerShell の CSOM を使って SharePoint Online の 5,000 件を超えるアイテムが格納されたリストから全アイテムを取得する

SharePoint Online を利用していると、リストに格納されたアイテムが 5,000 件を超えることも珍しくありません。こうしたリストのアイテムを PowerShell の CSOM で扱おうと思うと、5,000 件の壁にぶつかります。

これは、SharePoint Online からは一度に 5,000 件より多いアイテムを取得できないためです。ではどうするかというと、5,000 件の制限の範囲内で小分けにしてアイテムを取得していきます。ページングというやつですね。

ではさっそくスクリプトを見ていきましょう。

Read More

SharePoint Online 管理シェルでモダン サイトを作成する

SharePoint Online 管理シェルからサイト コレクションを作成するには、みなさんご存知の通り New-SPOSite を利用するわけですが、つい先日までは、このコマンドでは SharePoint Online のモダン サイトを作成することができませんでした。

そのため、下記の記事のように REST API を利用して作成を試みていたわけです。

SharePoint Online の新しいコミュニケーション サイトは REST API で作成できるらしい
https://idea.tostring.jp/?p=3257

ところが先ほど確認してみたところ、このコマンドでもモダン サイトを作成できるようになっていたのでメモしておきます。

Read More

PowerShell から SharePoint Online の CSOM を呼び出すときに、HTTP リクエストに User Agent を設定する(スロットリング回避策?)

SharePoint Online は、CSOM や REST API の呼び出しにスロットリングが設けられており、頻繁にリクエストを送っているとサーバー側から実行が制限されてしまいます。どのくらいの頻度でリスエストを送ると制限されるのかについては、情報が公開されていないので悩むところではあるのですが…、この制限を超えるとサーバーからは「429」または「503」のコードが返ってきます。

この制限の回避策についてはリファレンスが公開されています。

SharePoint Online で調整またはブロックを回避する
https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online

回避策のひとつは、制限されることを前提にしたリトライ処理をあらかじめ組み込んでおくことです。PowerShell での実装については、以前に Microsoft のサポートチームがブログで書いてくれていますね。

PowerShell サンプル : SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ
https://blogs.technet.microsoft.com/sharepoint_support/2016/10/08/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry/

(2019/1/23 追記)サポートチームのサンプルに改訂版が出ていました。

[改訂版] SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ
https://blogs.technet.microsoft.com/sharepoint_support/2018/11/09/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry-2/

もうひとつの回避策は、HTTP リクエストに決められた命名規則の User Agent を含めることとあります。リファレンスには「適切に装飾されたトラフィックは、不適切な装飾を施したトラフィックより優先されます。」とあるので、制限される頻度を低くできる可能性があるのだと思います。

というわけで、PowerShell で CSOM を扱うときにどのように User Agent を含めたら良いかについてメモしておきます。

Read More

SharePoint Online の新しいコミュニケーション サイトは REST API で作成できるらしい

PowerShell を使ってサイト作成を自動化や簡略化しようとした時に、SharePoint Online Management Shell(SharePoint Online 管理シェル)を使うことが多いのですが、どうやらこの管理シェルからはモダン UI の新しいコミュニケーション サイトは今のところ作成できないようです。

なんとかならないかなー?と、検索してみたことろ、どうやら REST API では新しいコミュニケーション サイトを作成する操作が提供されているようで、下記のようなリファレンスを見つけました。

Creating SharePoint Communication Site using REST
https://docs.microsoft.com/en-us/sharepoint/dev/apis/communication-site-creation-rest

というわけで、さっそく PowerShell からこの REST API を呼んでみたいと思います。

Read More

SharePoint Online モダン サイトに独自のテーマを設定する

SharePoint Online では、Office 365 グループに接続されたチーム サイトや、今年登場したコミュニケーション サイトなど、「モダン サイト」と呼ばれる新しい SharePoint のサイトがあります。(従来のサイトは「クラシック サイト」と呼ばれるようになりました)このモダン サイトを利用する場合でも、やはりサイトの色使いとして企業のブランド カラーを反映させたいななどと思われる方もいるかと思います。

こうしたテーマ(色合い)は、モダン サイトにアクセスした状態で「歯車アイコン」をクリックすると、「外観の変更」へアクセスでき、あらかじめ定義されたテーマを選択することができます。

今回はここに独自に定義したテーマを追加してみたいと思います。

Read More