[改訂版] SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ

過去のブログ投稿でもご案内しておりますように、CSOM などのクライアント サイド API を利用するプログラムにおいて、HTTP 調整機能への対策として増分バックオフ リトライを実装することを推奨しています。 タイトル: 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/   従来弊社より案内していた増分バックオフ リトライのサンプル コードでは、Exponential Backoff というアルゴリズム (指数関数的にリトライ間隔を大きくする実装) を推奨していましたが、最新のベスト プラクティスにおいては、HTTP 応答の “Retry-After” ヘッダーの値を利用してリトライ間隔を指定する実装を推奨しています。本実装は、SharePoint Online だけでなく、Microsoft Graph API 等においても同様の推奨事項となります。   タイトル: SharePoint Online で調整またはブロックを回避する アドレス: https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online タイトル: Microsoft Graph throttling guidance アドレス: https://developer.microsoft.com/en-us/graph/docs/concepts/throttling   本稿では、冒頭のブログで紹介している…

0

SharePoint Online で IE ドキュメント モードを 10 に変更するサンプル コード

以下のサイトに記載された IE のドキュメント モードを 10 に指定するコードが記載されております。 本投稿では、これを応用し SharePoint Online の全サイト コレクション (OneDrive for Business 個人用サイトを除く) を対象として設定を適用します。 タイトル : Display a classic SharePoint Online site in Internet Explorer 10 document mode アドレス : https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a 機械翻訳 : https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a   事前準備 下記の内容を実施済みのクライアント環境においては、事前準備の項目を再度実施する必要はございません。 1 : SharePoint Online 管理シェルのダウンロード サンプル スクリプトを実行するための実行環境として SharePoint Online 管理シェルをダウンロードします。 以下のリンクより最新版がダウンロード可能です。 タイトル : SharePoint Online Management Shell アドレス : https://www.microsoft.com/ja-JP/download/details.aspx?id=35588…

0

PowerShell で SharePoint CSOM を使用する際の Tips

こんにちは、SharePoint サポートの秋山 雅裕 (makiyama) です。   今回の投稿では、SharePoint Server / SharePoint Online に対して、クライアント サイド オブジェクト モデル (以下、CSOM) をリモートで実行する PowerShell スクリプトを記述する際の Tips をご紹介します。   CSOM を使用することで、SharePoint にログインすることなくサイト コレクション配下のオブジェクトを操作するバッチなどを実装することが可能です。 また、PowerShell を使用することで、Visual Studio などをインストールすることなくスクリプトが実行できます。   <目次> 事前準備 ツール 基本的な CSOM の実装 ラムダ式の利用 ファイル出力   事前準備 対象となる SharePoint によって利用可能な API が異なるため、適切な CSOM のアセンブリを取得します。 SharePoint の更新に合わせて CSOM のアセンブリも更新されるため、定期的に最新版を確認、取得いただくことをお勧めします。   SharePoint Online…

0

Office 365 グループ機能で作成した サイトを列挙する方法

こんにちは SharePoint サポートの森 健吾 (kenmori) です。 Office 365 グループ機能を使うことで、グループ単位で サイト コレクションを作成できます。これらのサイト コレクションは、各テナントで使用できる容量を消費します。 2018.3.23 追記 : 現在の SharePoint Online 管理シェルでは、Get-SPOSite でこれらのサイトを確認できるため、本投稿のサンプルを使用する必要はありません。 Get-SPOSite | where Template -like “GROUP#*” ただし、Office 365 グループを取得するコードは役立つシナリオがあるかもしれませんので、下記の記事はのこしたままとします。   以下に、Office 365 グループ機能で作成されたサイト コレクションの情報を取得する PowerShell サンプル コードをご紹介します。   手順 1. 以下の内容をテキスト エディタに貼り付けます。 param( $AdminUrl, $UserName, $Password, $Detail ) $sstr = ConvertTo-SecureString -string $Password -AsPlainText -Force $spocred…

0

OneDrive for Business の [全員と共有] フォルダーが既定で作成されない動作に変更されます

<<2015 年 8 月 24 日 更新>>本ブログで紹介しております動作変更がすべての環境に適用されました。   こんにちは、SharePoint サポート チームの黒瀬 遼です。   今回の投稿では、先日 Office 365 管理センターのメッセージ センターでも公開された、今後 SharePoint Online に対して実施される動作の変更についてお知らせいたします。 この変更が実施されるにあたり、予めご対応いただくことが必要となる場合がございますので、管理者の方には早めにご確認並びにご対応いただくことをお勧めいたします。   変更される動作 新規作成した OneDrive for Business サイト上に [全員と共有] フォルダーが作成されない動作となります。   現在 (2015 年 6 月 20 日時点) の動作では、Office 365 のユーザーが初めて SharePoint Online の個人用サイト (OneDrive for Business サイト) にアクセスしたタイミングで OneDrive for Business サイトが作成され、そこには既定で [全員と共有]…

0

SharePoint 2013 リスト アイテムの新規作成フォーム、編集フォーム、表示フォームを作成する

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、リスト アイテムの新規作成フォーム、編集フォーム、表示フォームを作成する方法をご紹介します。 運用中にフォームを再作成するケース 本投稿に至った背景として、「リスト アイテムのフォームが壊れてしまった」、「リスト アイテムのフォームを誤って削除してしまった」ことから、フォームを再作成されたいというお問い合わせをいただくことがあります。その際に、具体的な方法が分からないとのお声をいただきましたので、今回はこれらのフォームの作成方法についてとりあげております。 リスト アイテムのフォームはサイトの画面上で作成することができません。フォームの作成には SharePoint Designer を使用するか、オブジェクト モデルを使用したプログラムを実装するという方法になります。下記でそれぞれの方法をご紹介します。 方法1) SharePoint Designer でフォームを作成する 方法2) PowerShell でフォームを作成する 方法1) SharePoint Designer でフォームを作成する 1. SharePoint Designer でリストの編集画面を開き、フォーム セクションで [新規作成] ボタンをクリックします。 2. [新しいリスト フォームの作成] ダイアログが表示されますので、ファイル名やフォームの種類を選んで [OK] をクリックします。ここでは、”アイテム作成フォーム” を選択します。 3. 以下のような新規作成フォームが作成されます。 このようにして、SharePoint Designer を使用して画面上の操作でフォームを作成することができますが、SharePoint 2013 サイトで既定で作成されるフォームとは異なる表示になります。例えば、People Picker が以下のように異なります。また、デザインが少々異なる箇所があります。 これは、SharePoint 2013 サイトで既定で作成されるフォーム Web パーツと SharePoint Designer…

0

PowerShell サンプル – サイト コレクションの作成、取得、編集、削除

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、PowerShell を使用してサイト コレクションの基本的な操作を実施する方法についてご紹介します。 あまり PowerShell のご経験がない方にも分かりやすくするために、ここではシンプルなサンプルをご紹介していきます。目的の処理を実装する際にご参考になりましたら幸いです。 実装の際は MSDN の資料も合わせてご参照ください。   ■サイト コレクションの作成 #サイト コレクションを作成します。 New-SPSite <サイト コレクションの URL> -OwnerAlias <サイト コレクションの管理者のログイン名>   例) サイト コレクションを作成する (ルート サイトのテンプレートは後で適用) New-SPSite http://sharepoint/sites/site -OwnerAlias contoso\adminuser   #サイト コレクションを作成します。 New-SPSite <サイト コレクションの URL> -OwnerAlias <サイト コレクションの管理者のログイン名> -Template <Web テンプレート>   例) ルート サイトのWeb テンプレートを指定してサイト コレクションを作成する (ルート サイトはチーム サイト)…

0

ディスカッション掲示板のデータ移行 サンプル スクリプトについて

こんにちは SharePoint サポートの森 健吾 (kenmori) です。今回の投稿では SharePoint Online または SharePoint Server 2013 において、ディスカッション掲示板が、ビューやページ カスタマイズによって壊れてしまった時などに有効な、同一サイト内でのデータ移行を実施するスクリプトを紹介します。 ディスカッション掲示板は特殊なリスト ディスカッション掲示板は非常に特殊なリストです。このリスト自身が、標準リストをベースに作りこまれたリスト定義であり、特殊な機能を実装するために標準の設定変更やカスタマイズを想定していない場合があります。そのため、ビューを高度にカスタマイズすると、下記の様に予期せぬトラブルが発生する可能性があります。 ・SharePoint Designer でビュー / Web パーツを編集し、保存すると破損した。 ・既定のリスト ビューを再作成しようとしたが、元のビューが作成できなかった。 もし、ご要件上、どうしても高度なカスタマイズを組み込む場合は、テスト環境で空のディスカッション掲示板を作成して実績がある手順を作り、その上で手順書通りに本番環境に適用するなど、細心の注意を払う必要があります。また、できる限りスタイル シートや JavaScript など外部的な変更にとどまることも重要です。 ディスカッション掲示板に組み込まれた既定のビューは、一度破損すると元に戻りません。特に、フラット形式のビューが破損すると致命的な問題になります。フラット形式のビューは、ユーザーはディスカッションに対する返信を入力できる唯一のビューですので、このビューが削除されるとディスカッション掲示板の運用が厳しくなります。 対処策として様々な方法を検討できますが、PowerShell などで既存のビューと同じ値を復元しても元に戻りません。SharePoint Designer で同じパブリック プロパティにそろえても同様です。 ディスカッション掲示板の特殊なビューは、リスト作成時にスキーマ定義をもとに作られるものが唯一の正しい作成方法のようです。   ディスカッション掲示板のビューが壊れたときの対処 最も確実な方法は、ディスカッション掲示板を再作成した後、元のディスカッション掲示板内にあったデータを移行する方法です。 下記のサンプル コードは SharePoint Online に対応するために、CSOM (クライアント サイド オブジェクト モデル) で記載しており、PowerShell で実行できる形式にしております。 事前準備 下記の準備事項が、スクリプト実行の前提となります。 1. PowerShell を実行する端末には、事前に SharePoint Online…

0

PowerShell サンプル – サイトの作成、取得、編集、削除

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、PowerShell を使用してサイトの基本的な操作を実施する方法についてご紹介します。 あまり PowerShell のご経験がない方にも分かりやすくするために、ここではシンプルなサンプルをご紹介していきます。目的の処理を実装する際にご参考になりましたら幸いです。 実装の際は MSDN の資料も合わせてご参照ください。   ■サイトの作成 #サイトを作成します。 New-SPWeb <Web サイトの URL> -Name <サイトのタイトル>   例) サイトを作成する (テンプレートは後で適用) New-SPWeb http://sharepoint/sites/teamsite/site -Name “テストサイト”   #サイトを作成します。 New-SPWeb <Web サイトの URL> -Name <サイトのタイトル> -Template <Web テンプレート>   例) Web テンプレートを指定してサイトを作成する (チーム サイト) New-SPWeb http://sharepoint/sites/teamsite/share -Name “共有サイト” -Template STS#0   #サイトを作成します。 New-SPWeb <Web サイトの…

0

PowerShell サンプル – ビューの作成、取得、編集、削除

こんにちは、SharePoint サポートの佐伯です。 今回の投稿では、PowerShell を使用してビューの基本的な操作を実施する方法についてご紹介します。 あまり PowerShell のご経験がない方にも分かりやすくするために、ここではシンプルなサンプルをご紹介していきます。目的の処理を実装する際にご参考になりましたら幸いです。 実装の際は MSDN の資料も合わせてご参照ください。   ■ビューの作成 #サイトを取得します。 $web = Get-SPWeb <Web サイトの URL>; #リストを取得します。; $list = $web.Lists[“<リスト名>”]; #ビューのコレクションを取得します。; $views = $list.Views; #ビュー名を設定します。 $viewName = “<ビュー名>” #ビューに表示する列を設定します。 $viewFields = New-Object System.Collections.Specialized.StringCollection $viewFields.Add(“<列の内部名>”) $viewFields.Add(“<列の内部名>”) #クエリを設定します。 $query = ‘<CAML 文字列>’ #表示するアイテム数を設定します。 $rowLimit = <アイテム数> #指定のアイテム数に制限して表示するかページングを行うかを設定します。 $paged = <True または False> #ビューを既定のビューにするかを設定します。 $defaultView…

0