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

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/

もうひとつの回避策は、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

SharePoint Online で作成済みサイト コレクションのサイト テンプレートを確認する

SharePoint Online でサイト コレクションを作成し、その後で機能の有効化・無効化やカスタマイズを行っていくと、「あれ?このサイト コレクションって元々なんのテンプレートで作ったんだっけ?」ということがあります。

作成時のサイト テンプレートを SharePoint Online Management Shell を使って確認する方法をご紹介します。

Read More

SharePoint Online と業務システムのデータ連携を PowerShell を利用して作ってみる

今年もよろしくお願いします。

2014年初めの投稿は、1月11日(土)に、日本マイクロソフト品川本社にて開催された第7回 Office 365 勉強会にて、お話をさせて頂いた内容の解説になります。当日は時間の都合上デモを中心に行いましたので、その仕組みの裏側を紹介します。

さて、SharePoint Online 上で共有するコンテンツを考えた時に、掲示板や予定表等の SharePoint Online の適した機能を組合わせていくわけですが、企業にはすでに様々な業務システムが導入されており、それらに蓄えられたデータ(の一部)を SharePoint Online でも共有したいというご要望は良く頂きます。それらのほとんどの業務システムは、データを CSV 形式で出力ができたり、データベースを直接参照することでデータを取り出すことができると思います。

そこで今回は、そのようにして取り出されたデータを PowerShell を用いて SharePoint Online にバッチ処理で定期的に自動投稿するというかたちでの連携シナリオを考えました。

Read More