<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Japan SharePoint Support Team Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/sharepoint_support/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 19 Mar 2019 10:34:43 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>[改訂版] SharePoint Online HTTP 調整 (応答コード : 429) 対策の増分バックオフ リトライ</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry-2</link>
      <pubDate>Fri, 09 Nov 2018 09:04:02 GMT</pubDate>
      <dc:creator><![CDATA[Taisuke Inoue]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=11075</guid>
      <description><![CDATA[過去のブログ投稿でもご案内しておりますように、CSOM などのクライアント サイド API を利用するプログラムにおいて、HTTP 調整機能への対策として増分バックオフ...]]></description>
      <content:encoded><![CDATA[過去のブログ投稿でもご案内しておりますように、<span>CSOM </span>などのクライアント サイド <span>API </span>を利用するプログラムにおいて、<span>HTTP </span>調整機能への対策として増分バックオフ リトライを実装することを推奨しています。

タイトル<span>: PowerShell </span>サンプル<span> : SharePoint Online HTTP </span>調整<span> (</span>応答コード<span> : 429) </span>対策の増分バックオフ リトライ<span>
</span>アドレス<span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2016/10/08/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry/">https://blogs.technet.microsoft.com/sharepoint_support/2016/10/08/powershell-csom-sample-code-for-spo-http-429-incremental-backoff-retry/</a></span>

&nbsp;

従来弊社より案内していた増分バックオフ リトライのサンプル コードでは、<span>Exponential Backoff </span>というアルゴリズム <span>(</span>指数関数的にリトライ間隔を大きくする実装<span>) </span>を推奨していましたが、最新のベスト プラクティスにおいては、<span>HTTP </span>応答の <span>“Retry-After” </span>ヘッダーの値を利用してリトライ間隔を指定する実装を推奨しています。本実装は、<span>SharePoint Online </span>だけでなく、<span>Microsoft Graph API </span>等においても同様の推奨事項となります。

&nbsp;

タイトル<span>: SharePoint Online </span>で調整またはブロックを回避する<span>
</span>アドレス<span>: <a href="https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online">https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online</a></span>

タイトル<span>: Microsoft Graph throttling guidance
</span>アドレス<span>: <a href="https://developer.microsoft.com/en-us/graph/docs/concepts/throttling">https://developer.microsoft.com/en-us/graph/docs/concepts/throttling</a></span>

&nbsp;

本稿では、冒頭のブログで紹介している <span>PowerShell </span>で実装した増分バックオフ リトライを、最新のベスト プラクティスに変更したサンプルコードを紹介します。

HTTP 調整機能への対策としては、トラフィックの修飾 <span>(User Agent </span>の指定<span>) </span>も有効となりますので、併せてサンプルコードで実装しています。

&nbsp;
<pre>$siteUrl = "https://tenant.sharepoint.com"

# 必要なアセンブリをロードします
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll";
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll";

# SPO に接続します
$script:context = New-Object Microsoft.SharePoint.Client.ClientContext($siteUrl);

# ユーザー名入力を促します。
Write-Host "Please input user name : "
$username = Read-Host

# パスワード入力を促します。
Write-Host "Please input password : "
$password = Read-Host -AsSecureString

$creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $password);
$script:context.Credentials = $creds;

# UserAgent を指定します。
$script:context.add_ExecutingWebRequest({
    param ($source, $eventArgs);
    $request = $eventArgs.WebRequestExecutor.WebRequest;
    $request.UserAgent = "NONISV|Contoso|Application/1.0";
})

function ExecuteQueryWithIncrementalRetry {
    param (
        [parameter(Mandatory = $true)]
        [int]$retryCount
    );

    $DefaultRetryAfterInMs = 120000;
    $RetryAfterHeaderName = "Retry-After";
    $retryAttempts = 0;

    if ($retryCount -le 0) {
        throw "Provide a retry count greater than zero."
    }

    while ($retryAttempts -lt $retryCount) {
        try {
            $script:context.ExecuteQuery();
            return;
        }
        catch [System.Net.WebException] {
            $response = $_.Exception.Response

            if (($null -ne $response) -and (($response.StatusCode -eq 429) -or ($response.StatusCode -eq 503))) {
                $retryAfterHeader = $response.GetResponseHeader($RetryAfterHeaderName);
                $retryAfterInMs = $DefaultRetryAfterInMs;

                if (-not [string]::IsNullOrEmpty($retryAfterHeader)) {
                    if (-not [int]::TryParse($retryAfterHeader, [ref]$retryAfterInMs)) {
                        $retryAfterInMs = $DefaultRetryAfterInMs;
                    }
                    else {
                        $retryAfterInMs *= 1000;
                    }
                }

                Write-Output ("CSOM request exceeded usage limits. Sleeping for {0} seconds before retrying." -F ($retryAfterInMs / 1000))
                #Add delay.
                Start-Sleep -m $retryAfterInMs
                #Add to retry count.
                $retryAttempts++;
            }
            else {
                throw;
            }
        }
    }

    throw "Maximum retry attempts {0}, have been attempted." -F $retryCount;
}

# ここから実装したい任意のコードを書きます。
$web = $script:context.Web
$script:context.Load($web)
#$context.ExecuteQuery() を以下に置き換えます。
ExecuteQueryWithIncrementalRetry -retryCount 5
$web.Title = "RetryTest"
$web.Update()
#$context.ExecuteQuery() を以下に置き換えます。
ExecuteQueryWithIncrementalRetry -retryCount 5
</pre>
&nbsp;

&nbsp;

今回の投稿は以上です。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。]]></content:encoded>
    </item>
    <item>
      <title>構造ナビゲーション、CQWP によるパフォーマンス劣化について</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/perf-degradation-reason</link>
      <pubDate>Fri, 28 Sep 2018 10:18:25 GMT</pubDate>
      <dc:creator><![CDATA[Taisuke Inoue]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=11065</guid>
      <description><![CDATA[以下の公開情報でご案内しておりますように、SharePoint Online で構造ナビゲーション、コンテンツ クエリ Web パーツ (以下、CQWP と略します)...]]></description>
      <content:encoded><![CDATA[以下の公開情報でご案内しておりますように、SharePoint Online で構造ナビゲーション、コンテンツ クエリ <span>Web </span>パーツ <span>(</span>以下、<span>CQWP </span>と略します<span>) </span>を利用するとデータベースに負荷が生じ、サイト アクセス時にパフォーマンス劣化が生じる場合がございます。

&nbsp;

タイトル <span>: SharePoint Online </span>のパフォーマンス チューニングについて

アドレス <span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/">https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/</a></span>

&nbsp;

構造ナビゲーション、<span>CQWP </span>を以前からご利用されており、特に設定変更や運用の変更などを実施していないにも関わらず、突然パフォーマンスが劣化することについての疑問を頻繁にお問い合わせいただくため、以下に考えられる要因をご紹介いたします。

なお、上述の公開情報に記載のとおり、構造ナビゲーション、<span>CQWP </span>を利用することによってパフォーマンスが劣化する場合、データセンター側でのサーバーのリソース増強などによる対応は効果的ではありません。

よりパフォーマンスに優れる代替機能への置き換えや、パフォーマンスのチューニングが有効な対処となりますので、構造ナビゲーション、<span>CQWP </span>をご利用されている場合は上述の公開情報を参考にお早めに対処をご検討ください。

&nbsp;
<h2><span style="color: #0000ff"><strong>パフォーマンス劣化が生じる要因について</strong></span></h2>
構造ナビゲーション、<span>CQWP </span>は負荷の大きなクエリがデータベースに対して実行されるため、データベースのリソースを消費し、データベースからの応答が遅延することでパフォーマンスが劣化します。

SharePoint Online は単一のデータベースに複数のサイト コレクションの情報や、テナントの規模によっては <span>OneDrive for Business </span>の情報も保持されるため、当該機能によるパフォーマンス劣化の影響範囲としては、最大でテナント全体となります。

&nbsp;

SharePoint Online はデータセンター側で継続して動作が追加<span>/</span>更新されており、また <span>SaaS </span>型の共有サービスのため、他のテナントとサーバーやデータベースも共有しております。

突然発生したパフォーマンスの劣化は、主にこの様な要因が影響しており、以下に考えられる具体的なシナリオをご案内いたします。

&nbsp;
<h3><span style="color: #0000ff">1.     フロントエンドサーバーの増加、キャッシュの廃止</span></h3>
SharePoint Online は利用者が継続して増加しており、現在多くのフロントエンドサーバーが稼働している状況となります。

構造ナビゲーションや <span>CQWP </span>は従来よりデータベースへの負荷が大きな機能となるため、フロントエンド サーバーのキャッシュを利用することでパフォーマンスを維持しておりました。

しかしながら、利用者の増加に伴いフロントエンド サーバーの数が増えることにより、キャッシュ ヒット率が極めて小さくなりました。

キャッシュにヒットしない場合はデータベースへ接続する動作となるため、<span>SharePoint Online </span>の利用者の増加と共にデータベースへの負荷がより生じやすい状況 <span>(</span>パフォーマンス劣化が生じやすい<span>) </span>となりました。

フロントエンドサーバーのキャッシュは非効率にメモリを消費するだけとなり、現時点においては構造ナビゲーションや <span>CQWP </span>でのキャッシュ利用は廃止されております。

&nbsp;
<h3><span style="color: #0000ff">2.     データベースが保持する情報の増加</span></h3>
運用を継続すると共に、データベースが保持する情報は増加することが想定されます。

また、上述の通りデータベースは複数のテナントで共有されているため、自社テナント以外が要因でデータが増えることも想定されます。

データベースが保持する情報が増えると、同じクエリでもクエリ対象のデータが増加し、一般的に負荷は増加します。

データベースが保持する情報の増加による負荷の増加は、その他の機能においては通常は影響が生じない程度となりますが、データベースへの負荷が大きい構造ナビゲーションや <span>CQWP </span>はより影響を受け、パフォーマンス劣化が生じる可能性があります。

&nbsp;
<h3><span style="color: #0000ff">3.     バックエンドの処理の変更</span></h3>
SharePoint Online はバックエンドで様々な処理やメンテナンス タスクが動作しており、これらも継続して機能が追加、更新されています。

バックエンドの処理もテナントが利用するデータベースにアクセスするため、これらの追加、更新によって以前よりもデータベースのリソース消費量が以前より相対的に大きくなる場合があります。

一般的なご利用においては影響が生じないようにバックエンドの処理も設計されておりますが、データベースへの負荷が大きい構造ナビゲーションや <span>CQWP </span>はより影響を受ける可能性があります。

&nbsp;

&nbsp;

今回の投稿は以上です。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。]]></content:encoded>
    </item>
    <item>
      <title>Project Online の [Project] タイルの動作変更について</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/project-online-project-home</link>
      <pubDate>Tue, 28 Aug 2018 07:54:59 GMT</pubDate>
      <dc:creator><![CDATA[Tetsuo Morimura]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=11045</guid>
      <description><![CDATA[こんにちは、サポートの森村です。
本記事では Project Online の [Project]...]]></description>
      <content:encoded><![CDATA[こんにちは、サポートの森村です。<span>
</span>本記事では<span> Project Online </span>の<span> [Project] </span>タイルを使用した場合の動作について、弊社の米国のエンジニアが公開済みの下記ブログ記事の内容についてご案内いたします。<span></span>

タイトル<span> : Project Online: The new </span>‘<span>Home</span>’<span> experience
</span>タイトル<span> : <a href="https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fblogs.technet.microsoft.com%2Fprojectsupport%2F2018%2F08%2F15%2Fproject-online-the-new-home-experience%2F&amp;data=02%7C01%7C%7C2aa76fb6fe2b46ed501d08d60be3be6c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636709470116120529&amp;sdata=44%2FcZqbT8NT%2BwTn2txuFBpw%2Fi%2FiJZBJ5bCXqze%2BpCgw%3D&amp;reserved=0">https://blogs.technet.microsoft.com/projectsupport/2018/08/15/project-online-the-new-home-experience/</a></span>

Project Online 関連のサブスクリプション<span> (</span><a href="https://products.office.com/ja-jp/project/project-online-premium">Project Online Premium</a>、<a href="https://products.office.com/ja-jp/project/project-online-professional">Project Online Professional</a>、<a href="https://products.office.com/ja-jp/project/project-online-essentials">Project Online Essentials</a>) のライセンスを割り当てているユーザーの場合、<span>Office 365 </span>にサインインするとアプリケーション ランチャーに<span> [Project] </span>のタイルが含まれています。<span>
</span>本日<span> 2018/8/28 </span>時点では<span> [Project] </span>タイルをクリックすると、既定の<span> Project Web Access </span>サイトコレクション<span> (PWA </span>サイト<span>) </span>である、<span>/sites/pwa </span>にアクセスする動作となっております。<span>
</span>こちらの動作を、近日中に変更し、下記のような「<span>Project </span>ホーム画面」 <span>(<a href="https://apac01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fproject.microsoft.com%2F&amp;data=02%7C01%7C%7C78ee756ac4a24860733c08d60bfcc052%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636709577506377382&amp;sdata=85v5vWzUVFUXWi5Wl9FG36i8tvBsIic2nKJsdT%2Bf40c%3D&amp;reserved=0">https://project.microsoft.com/</a>) </span>に移動する動作となる予定です。<span>
[Project] </span>タイルの動作を以前のままにする、等の設定変更はできませんので、従来通り<span> /sites/pwa </span>の<span> PWA </span>サイトへの直接アクセスが必要な場合は、ブックマーク等の機能を利用いただくか、あるいは Project ホーム画面最下部の<span> [Project Web App </span>に移動<span>] </span>をクリックしてください。

<a href="https://msdnshared.blob.core.windows.net/media/2018/08/ProjectHome2.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/08/ProjectHome2-1024x720.png" alt="Project ホーム画面" width="1024" height="720" class="alignnone size-large wp-image-11055" /></a>

<strong><u>画面の説明<span>
</span></u>● [新規作成] メニュー</strong><span>
</span>既定の<span> PWA </span>サイト<span> (/sites/pwa) </span>上でプロジェクトの作成権限がある場合は、こちらのメニューから既定の<span> PWA </span>サイト上に新規プロジェクト作成を行うことが可能です。<span>
</span>なお、既定の<span> PWA </span>サイト以外の別の<span> PWA </span>サイトに対し新規プロジェクトを作成することはできません。また、作成する<span> PWA </span>サイトを変更することもできません。

<strong>● [お気に入り</strong><span><strong>]</strong>
</span>下部の<span> [</span>最近<span>] </span>に表示されているプロジェクトをマウスでポイントし、☆マークをクリックするか、三点リーダーメニューから<span> [</span>お気に入りに追加<span>] </span>を選択すると、お気に入りのプロジェクトとして表示されます。

<strong>● [最近</strong><span><strong>]</strong>
</span>最近該当ユーザーによって作成、編集されたプロジェクトの一覧が表示されます。クリックすると該当プロジェクトが<span> [</span>プロジェクト センター<span>] </span>上で表示されるページに移動します。<span>
</span>複数の<span> PWA </span>サイトを使用しているユーザーの場合は、既定の<span> /sites/pwa </span>の<span> PWA </span>サイト以外の<span> PWA </span>サイトで作成したプロジェクトについても表示が行われ、またクリックすることで別<span> PWA </span>サイト上のプロジェクトが表示される動作となります。

<strong>● [Project Web App に移動</strong><span><strong>]</strong>
</span>既定の<span> PWA </span>サイト<span> (/sites/pwa) </span>に移動します。

<strong><u>関連ブログ情報</u></strong>
PWA サイトにアクセスするためには、<span>Project Online </span>関連のライセンス付与の他に、<span>PWA </span>サイトへのアクセス権付与が必要です。<span>
</span>詳細は下記のブログ記事などをご確認ください。

タイトル<span> : Project Online </span>を使用する際にはライセンスおよびアクセス権限の割り当てが必要です<span>
</span>アドレス<span> : <a href="https://blogs.technet.microsoft.com/sharepoint_support/2015/04/06/project-online/">https://blogs.technet.microsoft.com/sharepoint_support/2015/04/06/project-online/</a></span>

今回の投稿は以上です。

<hr />

<span style="color: red">本情報の内容（添付文書、リンク先などを含む）は、作成日時点でのものであり、予告なく変更される場合があります。</span>]]></content:encoded>
    </item>
    <item>
      <title>サンプル コード : SharePoint 2013 形式ワークフローの状態出力</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/sample-sharepoint-2013-workflow-status</link>
      <pubDate>Fri, 10 Aug 2018 13:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Kengo Mori]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=11025</guid>
      <description><![CDATA[今回の投稿では、特定のリストに関連付けられた SharePoint 2013 形式ワークフローの各インスタンスの状態を出力する SharePoint Online用のサンプル...]]></description>
      <content:encoded><![CDATA[今回の投稿では、特定のリストに関連付けられた<span> SharePoint 2013 </span>形式ワークフローの各インスタンスの状態を出力する<span> SharePoint Online</span>用のサンプル コードをご紹介します。

<span>SharePoint 2013 </span>形式のワークフローの状態列は、ワークフローの状態列をクリックすれば、下記のように表示されます。

しかし、列自体に、ワークフローの実際の内部状態を表示しないため、リスト ビューなどでワークフローの状況が把握できないというご質問を受けます。

<a href="https://msdnshared.blob.core.windows.net/media/2018/08/wf2013-1.jpg"><img src="https://msdnshared.blob.core.windows.net/media/2018/08/wf2013-1.jpg" alt="" width="522" height="124" class="alignnone size-full wp-image-11035" /></a>

<span>SharePoint 2013 </span>形式ワークフローは、<span>SharePoint 2010 </span>形式ワークフローよりも、リトライ処理が堅牢に実装されております。

そのため、ワークフローの処理が失敗する可能性は低いですが、リトライしても成功しない処理<span> (</span>例<span>. </span>削除済みアイテムを削除する<span>) </span>をリトライし続け、リトライ回数を枯渇して一旦停止になる場合もあります。

今回の投稿では、このようなシナリオにおいて<span> SharePoint 2013 </span>形式ワークフローの内部状態を確認し、エラーとなったワークフローを検出するサンプル スクリプトをご紹介します。
<h2></h2>
<h2><span style="color: #000080"><strong>事前準備</strong></span></h2>
下記の内容を実施済みのクライアント環境においては、事前準備の項目を再度実施する必要はございません。
<h3><strong>1 : SharePoint Onlin</strong><strong>e Client Components SDK </strong><strong>のダウンロード</strong></h3>
サンプル スクリプトを実行するための実行環境として SharePoint Online Client Components SDK をダウンロードします。

以下のリンクよりダウンロード可能です。

タイトル : SharePoint Online Client Components SDK
アドレス : <a href="https://www.microsoft.com/en-us/download/details.aspx?id=42038">https://www.microsoft.com/en-us/download/details.aspx?id=42038</a>

&nbsp;
<h3><strong>2 : </strong><strong>スクリプトの実行ポリシーを変更する</strong></h3>
1）PowerShell を管理者として起動します。
2) 以下のコマンドを実行し、現在の PowerShell の実行ポリシーを確認します。
<pre>Get-ExecutionPolicy</pre>
3) 以下のコマンドを実行し、PowerShell の実行ポリシーを変更します。
<pre>Set-ExecutionPolicy RemoteSigned</pre>
補足 : RemoteSigned 以上の実行ポリシー (例. Unrestricted) が指定されている場合は、指定の必要はありません。

<span> </span><span> </span>
<h2><span style="color: #000080"><strong>コードの実行</strong></span></h2>
1) 以下のコードを GetWfStatus.ps1 として保存します。
<pre><span>param(</span>
<span> $siteUrl,</span>
<span> $listName,</span>
<span> $username,</span>
<span> $password,</span>
<span> $outfile,</span>
<span> $resume = $false</span>
<span>)</span>
<span>
Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"</span>
<span>Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"</span>
<span>Add-Type -Path "C:\Program Files\Common Files\microsoft shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.WorkflowServices.dll"</span>

<span>function ExecuteQueryWithIncrementalRetry($retryCount, $delay)</span>
<span>{</span>
<span>  $retryAttempts = 0;</span>
<span>  $backoffInterval = $delay;</span>
<span>  if ($retryCount -le 0)</span>
<span>  {</span>
<span>    throw "Provide a retry count greater than zero."</span>
<span>  }</span>
<span>  if ($delay -le 0)</span>
<span>  {</span>
<span>    throw "Provide a delay greater than zero."</span>
<span>  }</span>
<span>  while ($retryAttempts -lt $retryCount)</span>
<span>  {</span>
<span>    try</span>
<span>    {</span>
<span>      $script:context.ExecuteQuery();</span>
<span>      return;</span>
<span>    }</span>
<span>    catch [System.Net.WebException]</span>
<span>    {</span>
<span>      $response = $_.Exception.Response</span>
<span>      if ($response -ne $null -and $response.StatusCode -eq 429)</span>
<span>      {</span>
<span>        Write-Host ("CSOM request exceeded usage limits. Sleeping for {0} seconds before retrying." -F ($backoffInterval/1000))</span>
<span>        #Add delay.</span>
<span>        Start-Sleep -m $backoffInterval</span>
<span>        #Add to retry count and increase delay.</span>
<span>        $retryAttempts++;</span>
<span>        $backoffInterval = $backoffInterval * 2;</span>
<span>      }</span>
<span>      else</span>
<span>      {</span>
<span>        throw;</span>
<span>      }</span>
<span>    }</span>
<span>  }</span>
<span>  throw "Maximum retry attempts {0}, have been attempted." -F $retryCount;</span>
<span>}</span>

<span>function EnumWorkflowsInFolder($list, $ServerRelativeUrl)</span>
<span>{</span>
<span>  do</span>
<span>  {</span>
<span>    $camlQuery = New-Object Microsoft.SharePoint.Client.CamlQuery</span>
<span>    $camlQuery.ListItemCollectionPosition = $position</span>
<span>    $camlQuery.ViewXml = "&lt;View&gt;&lt;RowLimit&gt;5000&lt;/RowLimit&gt;&lt;/View&gt;";</span>
<span>    if ($serverRelativeUrl -ne $null)</span>
<span>    {</span>
<span>       $camlQuery.FolderServerRelativeUrl = $ServerRelativeUrl</span>
<span>    }</span>
<span>    $listItems = $list.GetItems($camlQuery);</span>
<span>    $script:context.Load($listItems);</span>
<span>    ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>

<span>    foreach($listItem in $listItems)</span>
<span>    {</span>
<span>      if ($listItem.FileSystemObjectType -eq [Microsoft.SharePoint.Client.FileSystemObjectType]::Folder)</span>
<span>      {</span>
<span>         $script:context.Load($listItem.Folder)</span>
<span>         ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>
<span>         EnumWorkflowsInFolder -List $list -ServerRelativeUrl $listItem.Folder.ServerRelativeUrl</span>
<span>      }</span>
<span>
      $wfic = $script:wfis.EnumerateInstancesForListItem($list.Id, $listItem.Id);</span>
<span>      $script:context.Load($wfic);</span>
<span>      ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>
<span> </span>
<span>      foreach ($wfi in $wfic)</span>
<span>      {</span>
<span>        WriteOut -text (($listItem.Id.ToString()) + "," + (GetWorkflowSubscription -subid $wfi.WorkflowSubscriptionId) + "," + $wfi.Status) -append $true</span>
<span>        if ($resume)</span>
<span>        {</span>
<span>            if ($wfi.Status -eq "Suspended")</span>
<span>            {</span>
<span>                $script:wfis.ResumeWorkflow($wfi)</span>
<span>                ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>
<span>                Write-Output ("Resumed workflow on Item ID = " + $listItem.Id.ToString())</span>
<span>            }</span>
<span>        }</span>
<span>      }</span>
<span>    } </span>
<span>    $position = $listItems.ListItemCollectionPosition</span>
<span>  }</span>
<span>  while($position -ne $null)</span>
<span>}</span>

<span>function GetWorkflowSubscription($subid)</span>
<span>{</span>
<span>  if ($script:wfsubhash[$subid.ToString()] -eq $null)</span>
<span>  {    </span>
<span>    $sub = $script:wfss.GetSubscription($subid)</span>
<span>    $script:context.Load($sub)</span>
<span>    ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>

<span>    $script:wfsubhash[$subid.ToString()] = $sub.Name</span>
<span>    return $sub.Name</span>
<span>  }</span>
<span>  else</span>
<span>  {</span>
<span>    return $script:wfsubhash[$subid.ToString()]</span>
<span>  }</span>
<span>}</span>

<span>function WriteOut($text, $append)</span>
<span>{</span>
<span>  if ($outfile -eq $null)</span>
<span>  {</span>
<span>    Write-Output $text</span>
<span>  }</span>
<span>  else</span>
<span>  {</span>
<span>    if ($append)</span>
<span>    {</span>
<span>      $text | Out-File $outfile -Append -Encoding UTF8</span>
<span>    }</span>
<span>    else</span>
<span>    {</span>
<span>      $text | Out-File $outfile -Encoding UTF8</span>
<span>    }</span>
<span>  }</span>
<span>}</span>

<span>$script:context = new-object Microsoft.SharePoint.Client.ClientContext($siteUrl)</span>
<span>$pwd = convertto-securestring $password -AsPlainText -Force</span>
<span>$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $pwd)</span>
<span>$script:context.Credentials = $credentials</span>

<span>$wfsm = new-object Microsoft.SharePoint.Client.WorkflowServices.WorkflowServicesManager($script:context, $script:context.Web)</span>
<span>$script:wfss = $wfsm.GetWorkflowSubscriptionService();</span>
<span>$script:wfsubhash = @{}</span>
<span>$script:wfis = $wfsm.GetWorkflowInstanceService();</span>
<span>
$list = $script:context.Web.Lists.GetByTitle($listName)</span>
<span>$script:context.Load($list)</span>
<span>ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>
<span>
$wfSubs = $wfss.EnumerateSubscriptionsByList($list.Id);</span>
<span>$script:context.Load($wfSubs);</span>
<span>ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000</span>

<span>WriteOut -text "ItemId,WorkflowName,Status" </span>
<span>EnumWorkflowsInFolder -List $list -serverRelativeUrl $null</span></pre>
&nbsp;

2) PowerShell  を起動します。
3) スクリプトを配置したフォルダーに移動し、作成した .ps1 ファイルを以下のように実行します。
<pre>.\getwfstatus.ps1 -siteUrl <span style="color: #ff0000">https://tenant.sharepoint.com/sites/workflowsite</span> -listName ドキュメント -username <span style="color: #ff0000">account@tenant.onmicrosoft.com</span> -password <span style="color: #ff0000">password</span></pre>
<strong>パラメータ</strong>

-siteUrl ・・・ サイトのアドレス
-listName ・・・ リスト名
-username ・・・ 処理を実行するユーザー
-password ・・・ 上記ユーザーのパスワード
-outfile ・・・ 出力先ファイル (省略可 : 既定値はコンソール出力)
-resume ・・・ $true の場合　一旦停止したワークフローを強制開始 (省略可 : 既定値 $false)

<strong>補足</strong>
<ul>
 	<li>リスト ビューのしきい値と、HTTP 調整対策の内、増分バックオフ リトライに対応しています。</li>
 	<li>大規模なリストに対して、本スクリプトを実行する場合、HTTP 要求数が増える可能性があります。万が一のことを想定し、オフピークの時間帯に実行してください。</li>
</ul>
今回の投稿は以上です。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online の HTTP 調整 (応答コード 429) に関して</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/sharepoint-online-http-throttling</link>
      <pubDate>Mon, 23 Jul 2018 04:39:02 GMT</pubDate>
      <dc:creator><![CDATA[Kengo Mori]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10995</guid>
      <description><![CDATA[SharePoint Online は、データセンターの安定稼働のため、HTTP アクセスの一部をブロックして負荷調整する機能が備わっております。

SharePoint Online...]]></description>
      <content:encoded><![CDATA[SharePoint Online は、データセンターの安定稼働のため、<span>HTTP </span>アクセスの一部をブロックして負荷調整する機能が備わっております。

SharePoint Online では、様々な利用者がファーム環境を共有しており、それぞれのお客様の利用状況に合わせて様々な<span> HTTP </span>要求が送信されています。

サービス提供者の立場から、各利用者の利用状況や負荷状況の事前予測は不可能であり、個別に異なった運用対処もできません。このような予測しない高負荷が発生した際に、データセンターを守るための共通の基盤を用意する必要があります。

HTTP 調整は、上記背景のもとサービスの継続稼働のため、データセンター側の各種様々なパフォーマンス カウンタ値をもとに、<span>HTTP </span>アクセスに重みづけのルールを考慮して、高負荷と判断される際に優先度の低い<span> HTTP </span>要求から受信直後・処理開始前にブロックし、負荷を自動調整<span> (</span>縮退運転<span>) </span>するような設計で実装されています。

以下に例を記載します。データや指標などについては理解を促すための完全に恣意的なものです。

<a href="https://msdnshared.blob.core.windows.net/media/2018/07/throttlingimage.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/throttlingimage.png" alt="" width="667" height="441" class="alignnone wp-image-11005" /></a>
<ul>
 	<li>優先度<span> A </span>の<span> HTTP </span>要求は<span> 15:00 </span>のみにブロックされています。</li>
 	<li>優先度<span> B </span>の<span> HTTP </span>要求は<span> 15:00 </span>と<span> 18:00 </span>にブロックされています。</li>
 	<li>優先度<span> C </span>の<span> HTTP </span>要求は<span> 12:00, 15:00, 18:00 </span>にブロックされています。</li>
</ul>
優先度により、それぞれ異なったしきい値があるため、このように異なった結果になる例となります。

&nbsp;
<h2><span style="color: #000080"><strong>HTTP </strong><strong>アクセスの優先度付けについて</strong></span></h2>
SharePoint Online への<span> HTTP </span>アクセスは重みづけされ、優先度が判断されます。

例えば、通常ブラウザー アクセス、<span>JavaScript </span>などの非同期アクセス、クロールなどの内部アクセス、カスタム アプリケーション<span> (CSOM/REST) </span>など、<span>SharePoint Online </span>には様々な要求が送信されます。これらは独自かつ非公開のアルゴリズムで優先度付けされます。公開情報の記載から、一般的な例を記載します。
<ul>
 	<li>ユーザー アクセス<span> (</span>ページ描画などの要求<span>) </span>の方が<span> API </span>よりも優先されます。</li>
 	<li><span>API </span>実行の場合、<span>HTTP</span>要求の<span> UserAgent </span>指定によっても優先度が影響されます。</li>
 	<li>調整は例外なくすべての<span> HTTP </span>要求にかかります。<span>(</span>製品サービス内部の<span> HTTP </span>要求も含む<span>)</span></li>
</ul>
&nbsp;
<h2><span style="color: #000080"><strong>アプリケーション開発者の留意点</strong></span></h2>
アプリケーション開発者は、下記の内容に留意してプログラムを開発していただきますよう何卒ご協力をお願いいたします。

&nbsp;
<h3><strong>1. リトライ処理を組み込む。</strong></h3>
<p style="padding-left: 30px"><span>HTTP </span>調整によるブロックを完全に回避する方法はありません。</p>
<p style="padding-left: 30px">アプリケーション開発者はブロックされた際に、ユーザーへの混乱を引き起こさないようプログラムを実装する必要があります。</p>
<p style="padding-left: 30px">例えば、バッチ処理の場合はリトライなどを組み込み、ブロックを受けても処理がリトライされ、正常に完了するように実装する必要があります。</p>
<p style="padding-left: 30px">画面<span> UI </span>に関する<span> API </span>処理がブロックされた場合は、リトライは難しいと思われます。その場合は、ユーザーに手動再実行を促すなどにとどまり、予期せぬエラーや深刻なエラーが発生したなどのキャプションを出すことは避けてください。</p>
<span> </span>
<h3><strong>2. ユーザー エージェントを修飾する。</strong></h3>
<p style="padding-left: 30px">ユーザー エージェントを修飾することで、調整機能は <span>HTTP </span>要求の優先度を適切に判断することができます。このことにより、優先度の低い<span> HTTP </span>要求のみにかけられた一部の調整項目を回避することができます。</p>
<p style="padding-left: 30px">なお、ユーザー エージェントを指定することで、データセンター側がアプリケーションの動作を監視・追跡しやすくなります。</p>
&nbsp;
<h3><strong><span></span>3. データ センター側に不用意に負荷をかけるようなコードを書かない。</strong></h3>
<p style="padding-left: 30px">アプリケーションによる処理を少しでも早く終わらせるため、データセンターに対して極端な並列処理を実施することや、インターバルのないリトライ処理を行うことは推奨されません。</p>
<p style="padding-left: 30px">このような実装を行った場合、調整によりブロックされた状態から復旧するまでに、より多くの時間がかかる可能性があります。</p>
<p style="padding-left: 30px">なお、増分バックオフを実装しても調整を回避できない場合は、何度も処理をリトライするのは逆効果です。急ぎの場合は、まずは業務時間後や週末などのオフピーク時にスケジューリングの上実行いただくことで調整を回避できる場合があります。</p>
&nbsp;
<h2><span style="color: #000080"><strong>マイクロソフト サポートで対応できること、できないこと</strong></span></h2>
<h3></h3>
<h3><strong>1. HTTP 調整の詳細なアルゴリズムの公開はできません。</strong></h3>
<p style="padding-left: 30px"><span>Office 365 </span>をとりまく環境には、様々なアプリケーションが存在します。悪意のあるアプリケーションも存在することから、具体的なアルゴリズムの公開は安定稼働やセキュリティに深刻な影響を与える可能性があります。</p>
<p style="padding-left: 30px">そのため、このような要求をサポート部門としてお受けし、回答することはできません。</p>
<p style="padding-left: 30px">また、実際の設定も様々な運用上の経緯などを経て、データセンターの安定稼働のため更新されていますので固定ではありません。</p>
<p style="padding-left: 30px"></p>
<span> </span>
<h3><strong>2. 調整の一部緩和や変更依頼は受け付けておりません。</strong></h3>
<p style="padding-left: 30px">繰り返しとなりますが、データセンターに予期せぬ高負荷が生じた場合<span> HTTP </span>調整はサービス ダウンを防ぐための最も重要な砦となります。</p>
<p style="padding-left: 30px">弊社サービスとしては、サービス全体としての安定稼働を最優先事項として掲げているため、いかなる理由があり仮に一部のユーザーのみが恩恵を受けたとしても、サービス全体に危険を及ぼすようなリクエスト<span> (</span>調整の緩和や処理変更<span>) </span>を受けることはできません。</p>

<h3><span><strong>3. </strong></span><strong>データセンターのパフォーマンス イシューによる調整が多発している場合</strong></h3>
<p style="padding-left: 30px"><span>HTTP </span>調整は、サービス側の健全性に大きく依存します。サービス全体のパフォーマンスや健全性が低下してマルチ テナントに影響を与える状況に至っている場合、サポート部門としては調整に対して直接対処するのではなく、サービスのパフォーマンスや健全性の問題を解決するよう働きかけることで、<span>HTTP </span>調整の多発を解決する方向性で対応することが可能です。</p>
&nbsp;
<h2><span style="color: #000080">参考記事 </span></h2>
本投稿は、下記の記事をもとに作成しております。

タイトル : SharePoint Online で調整またはブロックを回避する方法
アドレス : <a target="_blank" href="https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online" rel="noopener"></a><a target="_blank" href="https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online" rel="noopener">https://docs.microsoft.com/ja-jp/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online</a>

タイトル : Data migration and SPO service throttling
アドレス : <a target="_blank" href="https://blogs.technet.microsoft.com/sposupport/2017/08/12/data-migration-and-spo-service-throttling/" rel="noopener">https://blogs.technet.microsoft.com/sposupport/2017/08/12/data-migration-and-spo-service-throttling/</a>

以上となります。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。]]></content:encoded>
    </item>
    <item>
      <title>発行用イメージ列の制限について</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/restriction-on-publishing-image</link>
      <pubDate>Wed, 11 Jul 2018 11:07:44 GMT</pubDate>
      <dc:creator><![CDATA[Kimiyo Sei]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10935</guid>
      <description><![CDATA[こんにちは。SharePoint サポートの清です。

今回の投稿では、SharePoint Online における発行用イメージ列 (*)...]]></description>
      <content:encoded><![CDATA[<span><span style="color: #000000">こんにちは。<span lang="EN-US">SharePoint </span>サポートの清です。</span></span>

<span><span style="color: #000000">今回の投稿では、<span lang="EN-US">SharePoint Online </span>における発行用イメージ列<span lang="EN-US"> (*) </span>の制限事項についてご案内します。</span></span>

<span style="color: #000000"><span lang="EN-US">SharePoint Online </span><span>の環境において、リスト等で発行用イメージ列をご利用いただく場合、モダン<span lang="EN-US"> UI </span>での表示に対応していないため、モダン<span lang="EN-US"> UI </span>では画像が表示されない現象が確認されています。</span></span>

<span><span style="color: #000000">本動作につきましては、改善するべき動作として開発部門へのフィードバックを実施しておりますが、現状の対処としましては、モダン<span lang="EN-US"> UI </span>でのご利用がある場合には、ハイパーリンクまたは画像列、複数行テキスト列等で代用いただくことをご検討くださいますようお願いいたします。</span></span>

<span lang="EN-US"><span style="color: #000000"> </span></span>

<span style="color: #000000"><span lang="EN-US">* </span><span>発行用イメージ列について</span></span>

<span><span style="color: #000000">発行用イメージ列は発行機能を有効化したサイトにおいて作成されるサイト列です。</span></span>

<span><span style="color: #000000">既定では、サイト列として、<span lang="EN-US">[</span>お勧めのイメージ<span lang="EN-US">] </span>や、<span lang="EN-US">[</span>ページのアイコン<span lang="EN-US">]</span>、<span lang="EN-US"> [</span>ページのイメージ<span lang="EN-US">] </span>などページ レイアウトの列に作成され、アーティクル ページや、ウェルカム ページ等のページのイメージとなる画像を管理するためにご利用いただけます。</span></span>

<span><span style="color: #000000">上述のような既定で作成される列の他に、サイト列として発行用イメージ列を別途作成いただくことも可能です。</span></span>

<span lang="EN-US"><span style="color: #000000"> </span></span>

<span style="color: #000000"><span lang="EN-US">- </span><span>クラシック<span lang="EN-US"> UI</span></span></span>

<a href="https://msdnshared.blob.core.windows.net/media/2018/07/PublishedImage_IE11_Classic.png"><img width="1702" height="646" class="alignnone size-full wp-image-10945" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/07/PublishedImage_IE11_Classic.png" /></a>

<span style="color: #000000"><span lang="EN-US">- </span><span>モダン<span lang="EN-US"> UI</span></span></span>

<a href="https://msdnshared.blob.core.windows.net/media/2018/07/PublishedImage_IE11_Modern.png"><img width="1700" height="512" class="alignnone size-full wp-image-10955" alt="" src="https://msdnshared.blob.core.windows.net/media/2018/07/PublishedImage_IE11_Modern.png" /></a><a href="https://msdnshared.blob.core.windows.net/media/2018/07/PublishedImage_IE11_Modern.png"></a>

<span><span style="color: #000000">今回の投稿は以上です。</span></span>

<span><span style="color: #000000">本情報の内容は、作成日時点のものであり、予告なく変更される場合があります。</span></span>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online で発行機能を有効にする場合の留意点</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/enabling-publishing-feature</link>
      <pubDate>Mon, 09 Jul 2018 01:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Taisuke Inoue]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10965</guid>
      <description><![CDATA[サイト コレクションの作成後に SharePoint Server 発行インフラストラクチャ/SharePoint Server...]]></description>
      <content:encoded><![CDATA[サイト コレクションの作成後に <span>SharePoint Server </span>発行インフラストラクチャ<span>/SharePoint Server </span>発行機能を有効にする場合、主にパフォーマンスの観点で以下のような留意すべき事項があります。

・ナビゲーション

・ページ <span>(Pages) </span>ライブラリ

&nbsp;

一般的に運用の開始後は設定や構成の変更が難しくなりますので、本稿の内容を構築の段階で考慮いただくことを、推奨いたします。

&nbsp;

なお、サイト コレクションの作成時に、<span>”</span>発行ポータル<span>” (</span>英語<span>: Publishing Portal) </span>テンプレートを利用される場合は後述の内容は考慮された状態でサイト コレクションが作成されます。

このため、<span style="color: #0000ff">発行機能の利用を検討される場合は、サイト コレクションの作成時に、”発行ポータル” テンプレートを利用することもご検討ください。</span>

&nbsp;
<h2><span style="color: #0000ff">ナビゲーション</span></h2>
サイト コレクションの作成後に <span>SharePoint Server </span>発行インフラストラクチャ機能を有効にすると、ナビゲーションに構造ナビゲーションが設定されます。

以下のブログ投稿でも紹介していますが、構造ナビゲーションを利用すると深刻なパフォーマンスの劣化が生じる可能性があるため、<span>SharePoint Server </span>発行インフラストラクチャ機能を有効にした場合は、ナビゲーションを管理ナビゲーションに変更することが強く推奨されます。

&nbsp;

タイトル <span>: SharePoint Online </span>のパフォーマンス チューニングについて

アドレス <span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/">https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/</a></span>

&nbsp;

タイトル <span>: SharePoint Online </span>で管理ナビゲーションを使用する

アドレス <span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2018/07/02/using-managed-navigation-in-sharepoint-online/">https://blogs.technet.microsoft.com/sharepoint_support/2018/07/02/using-managed-navigation-in-sharepoint-online/</a></span>

&nbsp;

&nbsp;
<h2><span style="color: #0000ff">ページ (Pages) ライブラリ</span></h2>
チーム サイト等の発行機能が既定で無効であるテンプレートでサイトコレクションを作成すると、サイトを構成するページのファイル <span>(.aspx </span>ファイル<span>) </span>は <span>“</span>サイトのページ<span>” (SitePages) </span>ライブラリに保持されます。

一方で、サイトの機能の <span>“SharePoint Server </span>発行機能<span>” </span>を有効にすると、<span>”</span>ページ<span>” (Pages) </span>ライブラリが作成され、本ライブラリにもサイトを構成するページのファイルを保持することが可能です。

何れのライブラリも同様の機能を保持しているように見えますが、<span>”</span>ページ<span>” </span>ライブラリは<span>SharePoint Server </span>発行インフラストラクチャを有効にしているサイト コレクションに最適化されているため、<span>SharePoint Server </span>発行インフラストラクチャを有効にしている場合は、<span>”</span>ページ<span>” </span>ライブラリを利用することが一般的に推奨されます。

&nbsp;

・発行機能はポータルサイト等の閲覧を主目的としたサイト向けの機能となります。サーバー側の動作で、閲覧に最適化された機能が幾つかありますが、<span>”</span>ページ<span>” </span>ライブラリに存在するページ ファイルにのみ有効となります。

・主にカスタマイズのパフォーマンス チューニングにおいて有効な <span>CDN </span>の利用に最適化されています。

&nbsp;

なお、<span>”</span>サイトのページ<span>” </span>ライブラリで作成したページ ファイルを、<span>”</span>ページ<span>” </span>ライブラリに移行することは出来ません。このため、サイトの構築段階で <span>“</span>ページ<span>” </span>ライブラリについて考慮することが重要となります。

&nbsp;

タイトル <span>: SharePoint Online </span>で<span> CDN </span>を利用する

アドレス <span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2018/06/20/sharepoint-online-cdn/">https://blogs.technet.microsoft.com/sharepoint_support/2018/06/20/sharepoint-online-cdn/</a></span>

&nbsp;

&nbsp;
<h2><span style="color: #0000ff">補足</span></h2>
既に広く知られている情報になりますが、<span>SharePoint Server </span>発行インフラストラクチャを一度でも有効にしたサイト コレクションは。サイト テンプレートがサポートされませんので、ご留意ください。

&nbsp;

タイトル <span>: Office 365 </span>の<span> SharePoint Online </span>または<span> SharePoint Server 2013 </span>で<span> [</span>テンプレートとしてサイトを保存<span>] </span>機能が利用できない

アドレス <span>: <a href="https://support.microsoft.com/ja-jp/help/2492356/">https://support.microsoft.com/ja-jp/help/2492356/</a></span>

&nbsp;

タイトル <span>: </span>発行機能とサイトテンプレートについて

アドレス <span>: <a href="https://blogs.technet.microsoft.com/sharepoint_support/2014/05/23/691/">https://blogs.technet.microsoft.com/sharepoint_support/2014/05/23/691/</a></span>

&nbsp;

&nbsp;

&nbsp;

今回の投稿は以上です。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online で管理ナビゲーションを使用する</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/using-managed-navigation-in-sharepoint-online</link>
      <pubDate>Mon, 02 Jul 2018 13:32:29 GMT</pubDate>
      <dc:creator><![CDATA[Kengo Mori]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10705</guid>
      <description><![CDATA[今回は、管理ナビゲーションの利用イメージや使い方について説明します。
はじめに
サイト コレクションの機能より、”発行インフラストラクチャー”...]]></description>
      <content:encoded><![CDATA[今回は、管理ナビゲーションの利用イメージや使い方について説明します。
<h2><span style="color: #000080">はじめに</span></h2>
サイト コレクションの機能より、”発行インフラストラクチャー” をアクティブ化するとナビゲーションが既定で構造ナビゲーションが使用されます。
しかし、様々な弊社公開情報に記載の通りSharePoint Online では構造ナビゲーションは、ページ描画時のパフォーマンスに深刻な影響を与える場合があることが認識されています。
しかし、管理ナビゲーションに移行する場合、用語ストアなど聞きなれない言葉がたくさん出てくるため躊躇する方もいらっしゃると思います。本投稿では管理ナビゲーションへのスムーズな移行を目的とし、その設定や注意事項などを解説します。
<h2><span style="color: #000080"><strong>1. 概念 - 管理ナビゲーションと用語ストアの関連性について</strong></span></h2>
下記の図が、管理ナビゲーションにおける各専門用語の関連性となります。

<a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav1.png" alt="" width="508" height="400" class="alignnone size-full wp-image-10715" /></a>

<strong>上記図の説明</strong>
<ul>
 	<li>サイトのナビゲーション設定では、ナビゲーションに使用する用語セットを<span> 1 </span>つ選択します。</li>
</ul>
<p style="padding-left: 30px"><span style="color: #ff0000">サイト ナビゲーションと用語セットの関係性は 1:1 です。用語セットを 1 つのサイトのナビゲーションで使用した場合、他のサイトでは同時に使用できません。</span>画面上で設定しようとするとエラー ダイアログが出る場合がありますし、設定できたとしてもナビゲーション メニューがエラー表示となります。</p>

<ul>
 	<li>サイトのナビゲーションに使用する用語セットを選択した後は、用語ストアを編集する操作の流れとなります。</li>
 	<li><span style="color: #ff0000">用語ストア配下に存在する用語が各ナビゲーション メニューに相当する形になります。</span></li>
 	<li>用語ストア内には、テナントとサイト コレクションを<span> 2 </span>種類の範囲が指定できます。ただし、テナントの範囲で用語ストアを編集するためには、用語ストア管理者権限が必要となります。</li>
</ul>
&nbsp;
<h2><span style="color: #000080"><strong>2. 基礎 - ナビゲーション設定の基本手順について</strong></span></h2>
<h4>1) サイトのナビゲーション設定について</h4>
<p style="padding-left: 30px">[サイトの設定<span>] </span>–<span> [</span>ナビゲーション<span>] </span>をクリックします。最初に、該当サイトで管理ナビゲーションを使用するよう設定します。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav2.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav2.png" alt="" width="783" height="461" class="alignnone size-full wp-image-10725" /></a></p>
<p style="padding-left: 30px">発行ポータルをテンプレートとしてサイト コレクションを作成した場合、トップサイトのナビゲーション設定は管理ナビゲーションが既定値になっています。</p>
&nbsp;
<h4>2) サイトのナビゲーションに使用する用語セットを選択<span> (</span>または作成<span>) </span>します。</h4>
<p style="padding-left: 30px">[用語セットの作成<span>] </span>をクリックすると、用語セットが作成され、自動的にサイトのナビゲーションとして選択されます。</p>
<p style="padding-left: 30px">また、作成済みの用語セットを選択することも可能です。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav3.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav3.png" alt="" width="795" height="447" class="alignnone size-full wp-image-10735" /></a></p>
&nbsp;
<h4><span>3) [</span>用語ストア 管理ツール<span>] </span>にアクセスし、用語セットを編集します。</h4>
<p style="padding-left: 30px">サイトが使用する用語セットが決まった後は、用語ストアの管理ツールを使用して用語 <span>(</span>ナビゲーション メニュー<span>) </span>を編集していきます。</p>

<h5><span> </span><span>3-1) </span>用語セットの全般設定や使用目的を確認します。</h5>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav4-1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav4-1.png" alt="" width="991" height="404" class="alignnone size-full wp-image-10755" /></a></p>

<h5><span>3-2) </span>用語の作成をクリックして、用語を組み立てていきます。</h5>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav5.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav5.png" alt="" width="337" height="319" class="alignnone size-full wp-image-10765" /></a></p>

<h5><span>3-3) </span>各用語 <span>(</span>ナビゲーション メニュー<span>) </span>に指定するハイパーリンクを指定します。</h5>
<p style="padding-left: 30px">また、"メニューでの表示" にて、グローバル ナビゲーションや現在のナビゲーションといった表示位置も忘れずに指定します。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav6-1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav6-1.png" alt="" width="943" height="475" class="alignnone size-full wp-image-10795" /></a></p>
&nbsp;
<h2><strong></strong><span style="color: #000080"><strong>3. 応用 - テナント全体の用語セットから、用語をコピーする方法</strong></span></h2>
これまでご説明の通り、サイト ナビゲーションと用語セットの関係性は <span>1:1 </span>です。用語セットをあるサイトのナビゲーションで使用した場合、他のサイトでは同時に使用できません。

<span> </span>しかし、用語セット内に生成した用語については、別の用語セットで再利用することが可能です。以下に、その手順を含めて方法を紹介します。

<span> </span>
<h4><span>1) SharePoint </span>管理センターで用語ストアの管理者を指定します。</h4>
<p style="padding-left: 30px"><span> </span>テナントのスコープで用語セットを編集するために必要です。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav8.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav8.png" alt="" width="1039" height="647" class="alignnone size-full wp-image-10805" /></a></p>

<h4>2) テナント スコープの用語ストアに用語をあらかじめ作っておきます。</h4>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav9.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav9.png" alt="" width="276" height="419" class="alignnone size-full wp-image-10815" /></a></p>
<p style="padding-left: 30px"><strong>補足 </strong><span><strong>:</strong> </span>用語セットの作成・編集時には一番下 <span>(System </span>の下<span>) </span>に表示されており、再表示すると上記のようにアルファベット順に表示されます。</p>

<h4><span> </span>3) サイトのナビゲーション設定から、用語ストア編集ツールに遷移し、<span>[</span>子用語を含めた用語の固定<span>] </span>メニューを使用します。</h4>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav10.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav10.png" alt="" width="385" height="275" class="alignnone size-full wp-image-10825" /></a></p>
<p style="padding-left: 30px">再使用の元となる用語を指定します。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav11.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav11.png" alt="" width="485" height="503" class="alignnone size-full wp-image-10835" /></a></p>
<p style="padding-left: 30px">下記の通り、テナントで使用していた用語が配下を含めてコピーされました。</p>
<p style="padding-left: 30px"><a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav12.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav12.png" alt="" width="260" height="539" class="alignnone size-full wp-image-10845" /></a></p>
&nbsp;
<h2><span style="color: #000080"><strong>4. 補足事項</strong></span></h2>
<h3><span style="color: #000080"><strong>1. 構造ナビゲーションと比較した際の制限事項</strong></span></h3>
構造ナビゲーションには様々な機能が存在しておりましたが、これらの代用する機能は管理ナビゲーションにはありません。
<ul>
 	<li>サイト構造に応じて、自動的にメニューを生成する機能はありません。</li>
 	<li>対象ユーザーに応じてメニューの表示・非表示を切り替えることはできません。</li>
 	<li>クリック時に別タブで開くなどの操作は実施できません。</li>
</ul>
<h3><span style="color: #000080"><strong>2. 既知のエラーなど</strong></span></h3>
サイトのナビゲーションの用語セットの候補を複数作成し、それらを切り替えていると、以下のようなエラーが発生する場合があります。

<a href="https://msdnshared.blob.core.windows.net/media/2018/07/managednav7.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/07/managednav7.png" alt="" width="1019" height="83" class="alignnone size-full wp-image-10785" /></a>

<strong>エラー</strong>
<pre>ナビゲーション このサイトに管理ナビゲーション用語セットが不適切に添付されています。 の読み込みでエラーが発生しました<span> (</span>相互関係<span> ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx)</span></pre>
用語セットが、どのサイトで使用されているかという情報は、<span>Web </span>フロント エンド サーバー側にキャッシュされています。この情報がクリアされるまでしばらくかかりますので、キャッシュとの不整合がある間は上記のエラーが発生する可能性があります。

用語セットが該当サイト以外で使用されていないことが確認できる場合は、数時間程度待つことで解消されますので、お待ちください。
<h3><span style="color: #000080"><strong>3. 参考情報</strong></span></h3>
下記に、本投稿に関連する情報について、リンクを記載いたします。

タイトル : SharePoint Server の管理ナビゲーションの概要
アドレス : <a target="_blank" href="https://technet.microsoft.com/ja-jp/library/dn194311(v=office.16).aspx" rel="noopener">https://technet.microsoft.com/ja-jp/library/dn194311(v=office.16).aspx</a>

タイトル : SharePoint Server でナビゲーションの用語セットを計画する
アドレス : <a target="_blank" href="https://technet.microsoft.com/ja-jp/library/dn194310(v=office.16).aspx" rel="noopener">https://technet.microsoft.com/ja-jp/library/dn194310(v=office.16).aspx</a>

タイトル : SharePoint Online のナビゲーション オプション
アドレス : <a target="_blank" href="https://support.office.com/ja-jp/article/adb92b80-b342-4ecb-99a1-da2a2b4782eb" rel="noopener">https://support.office.com/ja-jp/article/adb92b80-b342-4ecb-99a1-da2a2b4782eb</a>

タイトル : SharePoint Online のパフォーマンス チューニングについて
アドレス : <a target="_blank" href="https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/" rel="noopener">https://blogs.technet.microsoft.com/sharepoint_support/2018/06/25/spo-performance-tuning/</a>

今回の投稿は以上です。

&nbsp;

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online で IE ドキュメント モードを 10 に変更するサンプル コード</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/sharepoint-online-sample-change-ie-document-mode-10</link>
      <pubDate>Mon, 02 Jul 2018 11:44:36 GMT</pubDate>
      <dc:creator><![CDATA[Kengo Mori]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10685</guid>
      <description><![CDATA[2019.2.27 追記 IE11 モードに互換性のないカスタマイズを実装している場合や、 IE...]]></description>
      <content:encoded><![CDATA[<span style="color: #ff0000"><strong>2019.2.27 追記 </strong><span style="color: #000000">IE11 モードに互換性のないカスタマイズを実装している場合や、 IE のパッチ未適用シナリオなど、非常に特殊なシナリオ以外では、この機能アクティブ化を実施する必要はなくなりました。また、ドキュメント モード IE10 モードに互換性のない機能も増加してきております。問題がないことを確認の上、順次切り戻し手順を進めてくださいますようお願いいたします。</span></span>

&nbsp;

以下のサイトに記載された IE のドキュメント モードを 10 に指定するコードが記載されております。

本投稿では、これを応用し SharePoint Online の全サイト コレクション (OneDrive for Business 個人用サイトを除く) を対象として設定を適用します。

タイトル : Display a classic SharePoint Online site in Internet Explorer 10 document mode
アドレス : <a target="_blank" href="https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a" rel="noopener">https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a</a>
機械翻訳 : <a target="_blank" href="https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a" rel="noopener">https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a</a>

&nbsp;
<h2><span style="color: #000080"><strong>事前準備</strong></span></h2>
下記の内容を実施済みのクライアント環境においては、事前準備の項目を再度実施する必要はございません。
<h3><strong>1 : SharePoint Online 管理シェルのダウンロード</strong></h3>
サンプル スクリプトを実行するための実行環境として<span> SharePoint Online </span>管理シェルをダウンロードします。

以下のリンクより最新版がダウンロード可能です。

タイトル<span> : SharePoint Online Management Shell
</span>アドレス : <a target="_blank" href="https://www.microsoft.com/ja-JP/download/details.aspx?id=35588" rel="noopener">https://www.microsoft.com/ja-JP/download/details.aspx?id=35588</a>
<h3></h3>
<h3><strong>2 : スクリプトの実行ポリシーを変更する</strong></h3>
1）<span>SharePoint Online Mnagement Shell </span>を管理者として起動します。
2) 以下のコマンドを実行し、現在の<span> PowerShell </span>の実行ポリシーを確認します。
<pre>Get-ExecutionPolicy</pre>
3) 以下のコマンドを実行し、<span>PowerShell </span>の実行ポリシーを変更します。
<pre>Set-ExecutionPolicy RemoteSigned</pre>
補足 : RemoteSigned 以上の実行ポリシー (例. Unrestricted) が指定されている場合は、指定の必要はありません。

&nbsp;
<h2><span style="color: #000080"><strong>コードの実行</strong></span></h2>
1) 以下のコードを <span>DisableEdgeMode.ps1 として保存します。
</span>
<pre>param(
  $adminurl,
  $username,
  $password, 
  $Disable = $true,
  $Verbose = $false,
  $Force = $false
)

##the first two lines of the script load the CSOM model:
$loadInfo1 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client")
$loadInfo2 = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Client.Runtime")

function ExecuteQueryWithIncrementalRetry($retryCount, $delay)
{
  $retryAttempts = 0;
  $backoffInterval = $delay;
  if ($retryCount -le 0)
  {
    throw "Provide a retry count greater than zero."
  }
  if ($delay -le 0)
  {
    throw "Provide a delay greater than zero."
  }
  while ($retryAttempts -lt $retryCount)
  {
    try
    {
    $script:context.ExecuteQuery();
    return;
    }
    catch [System.Net.WebException]
    {
      $response = $_.Exception.Response
      if ($response -ne $null -and $response.StatusCode -eq 429)
      {
        Write-Host ("CSOM request exceeded usage limits. Sleeping for {0} seconds before retrying." -F ($backoffInterval/1000))
        #Add delay.
        Start-Sleep -m $backoffInterval
        #Add to retry count and increase delay.
        $retryAttempts++;
        $backoffInterval = $backoffInterval * 2;
      }
      else
      {
        throw;
      }
    }
  }
  throw "Maximum retry attempts {0}, have been attempted." -F $retryCount;
}

$securepwd = ConvertTo-SecureString $password -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $username, $securepwd
Connect-SPOService -Url $adminurl -Credential $cred
$siteurls = Get-SPOSite | select Url

foreach ($siteurl in $siteurls)
{
  if ($Force)
  {
    try
    {
      $PrevIsAdmin = (Get-SPOUser -Site $siteurl.Url -LoginName $username).IsSiteAdmin
    }
    catch
    {
      $PrevIsAdmin = ($_.Exception.GetType().Name -ne "ServerUnauthorizedAccessException")
    }

    if (!$PrevIsAdmin)
    {
      $tmpuser = Set-SPOUser -Site $siteurl.Url -LoginName $username -IsSiteCollectionAdmin $true
    }
  }

  try
  {
    try
    {
      $script:context = New-Object Microsoft.SharePoint.Client.ClientContext($siteurl.Url)
      $spocred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($username, $securepwd)
      $script:context.Credentials = $spocred

      if ($Disable)
      {
        $featureguid = new-object System.Guid "80E47777-D21C-46E0-9139-7C7741EB4B54"
        [void]$script:context.Site.Features.Add($featureguid, $true, [Microsoft.SharePoint.Client.FeatureDefinitionScope]::None)
        ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000
      }
      else
      {
        $featureguid = new-object System.Guid "80E47777-D21C-46E0-9139-7C7741EB4B54"
        [void]$script:context.Site.Features.Remove($featureguid, $true);
        ExecuteQueryWithIncrementalRetry -retryCount 5 -delay 30000
      }
      if ($Verbose -eq $true)
      {
        Write-Output ($siteurl.Url + ",OK")
      }
    }
    catch [System.Net.WebException]
    {
      Write-Output ($siteurl.Url + ",NG," + $_)
    }
 }
 finally
 {
   if ($Force -and (!$PrevIsAdmin))
   {
     $tmpuser = Set-SPOUser -Site $siteurl.Url -LoginName $username -IsSiteCollectionAdmin $false
   }
 }
}</pre>
2) SharePoint Online Management Shell を起動します。
3) スクリプトを配置したフォルダーに移動し、作成した<span> .ps1 </span>ファイルを以下のように実行します。
<pre>.\DisableEdgeMode.ps1 -adminurl https://<span style="color: #ff0000">tenant</span>-admin.sharepoint.com -username <span style="color: #ff0000">accountname </span>-password <span style="color: #ff0000">password</span></pre>
<strong>パラメータ
</strong>

-adminurl ・・・ SharePoint 管理センター アドレス
-username ・・・ 各サイトに変更処理を行う管理者ユーザー (要グローバル管理者, SharePoint 管理者, *サイト コレクション管理者)
-password ・・・ 上記ユーザーのパスワード
-Disable ・・・ <strong>$true</strong> の場合、IE10 モードに変更 / $false の場合、再度 Edge モードに切り戻し (省略可 : 既定 $true)
-Verbose ・・・ $true 成功時のログも出力 / <strong>$false</strong> 成功時のログを省略 (省略可 : 既定 $false)
-Force ・・・ (*) $true ユーザーにサイトの管理者権限がない場合は強制的に一時追加 /<strong> $false</strong> ユーザーにサイトの管理者権限がない場合はそのまま実行しエラーになる (省略可 : 既定 $false)

&nbsp;

4) PowerShell 上で実行結果を確認します。

サイト コレクションの機能が有効化された場合は、以下のように<span> URL, OK </span>と表示されます。

<strong>成功例 (-Verbose $true の場合)</strong>

https://tenant.sharepoint.com/sites/siteA,OK

サイト コレクションの機能が有効化に失敗した場合、以下のメッセージが表示されます。

以下のメッセージが表示された場合は、スクリプトの実行アカウントがサイト コレクションの管理者として登録されているかをご確認ください。また、必要に応じて -Force $true オプションも検討ください。

<strong>失敗例</strong>

https://tenant.sharepoint.com/sites/siteB,NG,<span>リモート</span> サーバーがエラーを返しました<span>: (401) </span>許可されていません

&nbsp;
<h3><span style="color: #000080"><strong>切り戻し</strong></span></h3>
ドキュメント モードの変更を元に戻す場合は、スクリプト実行時の<span> $Disable </span>オプションに<span> $false </span>を指定して実行します。
<pre>.\DisableEdgeMode.ps1 -adminurl https://<span style="color: #ff0000">tenant</span>-admin.sharepoint.com -username <span style="color: #ff0000">accountname</span> -password <span style="color: #ff0000">password</span> <strong>-Disable $false</strong></pre>
&nbsp;

今回の投稿は以上です。

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。

&nbsp;
<pre></pre>]]></content:encoded>
    </item>
    <item>
      <title>SharePoint Online IE ドキュメント モードの変更について</title>
      <link>https://docs.microsoft.com/archive/blogs/sharepoint_support/ie-document-mode-changes-in-spo</link>
      <pubDate>Fri, 29 Jun 2018 14:17:58 GMT</pubDate>
      <dc:creator><![CDATA[Kengo Mori]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/sharepoint_support/?p=10665</guid>
      <description><![CDATA[IE のドキュメント モードが、順次 Edge モードに切り替わる変更が適用されてきております。

&nbsp;
変更概要
IE のドキュメント...]]></description>
      <content:encoded><![CDATA[IE のドキュメント モードが、順次 Edge モードに切り替わる変更が適用されてきております。

&nbsp;
<h2>変更概要</h2>
IE のドキュメント モードは、下記のようなクラシック表示のエクスペリエンスを明示的に設定している場合、ドキュメント モードを IE10 モードとして描画する動作となっています。

(この動作は標準のマスターページに組み込まれている IECompatibleMetaTag サーバー コントロールの内部動作によって制御されています。)

&nbsp;
<ul>
 	<li>SharePoint Online 管理センターの [設定] にて、"クラシック表示のエクスペリエンス" を指定している場合</li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode3.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode3.png" alt="" width="583" height="180" class="alignnone size-full wp-image-10895" /></a>

&nbsp;
<ul>
 	<li>リストやライブラリの設定の [詳細設定] にて、クラシック表示または管理センターで指定した既定の動作を継承している場合</li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode4.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode4.png" alt="" width="520" height="109" class="alignnone size-full wp-image-10915" /></a>

<strong>変更履歴</strong>
<ul>
 	<li>6 月末に、より多くの IE ブラウザーで Edge モードで描画するように、本設定を考慮しないよう動作変更されました。</li>
 	<li><span style="color: #000000"><strong>7 月 4 日、この動作は元の動作に一旦切り戻されました。</strong></span></li>
 	<li><span style="color: #ff0000">現在、再度本設定を考慮しないように動作変更されました。</span></li>
</ul>
<span>現在の所、カスタマイズ要因やパッチ未適用など、利用者側の要因においてのみ、どうしても</span>ドキュメント モードを IE10 モードに戻す必要がある場合のみ、<a target="_blank" href="https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a" rel="noopener">回避策</a>をご検討ください。ただし、ドキュメント モード IE10 モードには、現時点ですでに機能制限があることがわかっております。今後追加される機能においても互換性の問題が生じる可能性がありますため、順次移行を進めてください<span>。</span>

&nbsp;
<h2>報告されている現象について</h2>
7 月 4 日現在、以下の現象は再現しませんが、今後の対応が必要なものもあると存じますので記載を残させていただきます。
<h3><strong>1. InfoPath ブラウザー フォームで People Picker のユーザー解決ができなくなる。</strong></h3>
InfoPath のブラウザー フォームには以下のようなものがあります。この動作に対する回避策は、本投稿下部に記載の方法しかありませんので、実施を検討ください。
<ul>
 	<li>SharePoint 2010 形式ワークフローにおける各種フォーム</li>
 	<li>フォーム ライブラリ</li>
 	<li>[InfoPath のカスタマイズ] で生成したカスタム フォーム (例. newifs.aspx, editifs.aspx)</li>
</ul>
<span style="color: #ff0000">2018 年 10 月中旬頃　IE ドキュメント モードが Edge モードでも動作可能になるよう対応されました。</span>
<h3><strong>2. 最新のパッチが適用されていない IE11 がクラッシュする</strong></h3>
社内で修正プログラムの適用管理を行っている場合は、下記のパッチを含む最新のパッチを適用する必要があります。<span style="color: #ff0000">修正プログラムがすぐに適用できない場合は、本投稿に記載の回避策を検討ください。</span>

タイトル：2017 年 11 月 15 日 — KB4048957 (マンスリー ロールアップ)
アドレス：<a target="_blank" href="https://support.microsoft.com/ja-jp/help/4048957" rel="noopener">https://support.microsoft.com/ja-jp/help/4048957</a>
<pre>•Internet Explorer で SharePoint Online サイトが動作しなくなる問題を修正しました。</pre>
<h3></h3>
&nbsp;
<h3><strong>3. Office ファイルがクライアントではなく、ブラウザーで開くようになる。</strong></h3>
サイト コレクションの機能にて、"既定でクライアント アプリケーションで開く" をアクティブ化している環境下において、以下 2 点の現象が報告されています。

<span style="color: #000000"><strong>現象 1 )</strong> カスタム リストにおいて、アイテムの添付ファイルの Office ファイルをクリックすると、ブラウザーで開くようになります。</span>

<span style="color: #000000"><strong>現象 2)</strong> ドキュメント ライブラリのリスト ビュー Web パーツにおいて、<a target="_blank" href="https://blogs.technet.microsoft.com/sharepoint_support/2015/02/06/sharepoint-6/" rel="noopener">サーバー レンダリング</a>を使用している場合、Office ファイルを開くためにハイパーリンクをクリックすると、ブラウザーで開くようになります。</span>
<p style="padding-left: 30px">サーバー レンダリングには以下のようなものがあります。</p>

<ul>
 	<li>ビューのスタイルで "既定" 以外 (例. 網掛け) を選択している場合</li>
 	<li>Web パーツの設定で、サーバー表示にチェックを入れている場合</li>
 	<li>SharePoint Designer で、XSL をカスタマイズしている場合</li>
</ul>
&nbsp;

Edge モードでは、ActiveX のロードが制限されていました。SharePoint はファイルを開く際に、Office アプリケーションのインストール有無を確認しますが、その際に ActiveX (SharePoint.OpenDocuments : OWSSUPP.dll) を使用します。このロードが制限されて、Office クライアントがインストールされていないと判断され、ブラウザーで開く動作に至っていました。

<span style="color: #ff0000">8/16 追記 : Edge モードでも、ActiveX がロードできるよう修正が実施され組み込まれました。そのため、Office ファイルを開く動作については、Edge モードにおいても IE10 モードとほぼ同等になっています。</span>

&nbsp;
<h3><strong>4. ActiveX オブジェクトを使用しているカスタム ページが動作しなくなる</strong></h3>
原因は同上となりますが、Edge モードでは ActiveX のロードが制限されます。そのため、ActiveX を参照したカスタム ページにおいては JavaScript などのスクリプト処理が影響を受けます。

開発コード上で Edge モードで動作させたい場合は、別の方法を調査してください。

また、下記のサイトもご参考にしてください。

<span>タイトル : Internet Explorer 11 と Internet Explorer 10 で ActiveX コントロールを使う
</span>アドレス : <a target="_blank" href="https://support.microsoft.com/ja-jp/help/17469/windows-internet-explorer-use-activex-controls" rel="noopener">https://support.microsoft.com/ja-jp/help/17469/windows-internet-explorer-use-activex-controls</a>

<span style="color: #ff0000">Edge モードに対応するようなコードの改修がすぐに行えない場合は、本投稿に記載の回避策をご検討ください。</span>

&nbsp;
<h3><strong>5. エクスプローラー ビューが表示できなくなる</strong></h3>
Edge モードに変更された後、[エクスプローラーで開く] をクリックすると小さなポップアップが表示される動作となります。

<span style="color: #ff0000">この動作は想定された動作となりますので、SharePoint Online からはポップアップが表示できるようにブラウザーの設定確認をお願いします。</span>

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode1.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode1.png" alt="" width="828" height="256" class="alignnone size-full wp-image-10875" /></a>

そのため、ブラウザーのポップアップ ブロックの設定で、安全なサイトからのポップアップを許可していない場合、エクスプローラーで開くが動作しないことが報告されています。

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode2.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode2.png" alt="" width="822" height="547" class="alignnone wp-image-10885" /></a>

<span>タイトル : SPO and sometimes a Pop-Up appears and you do not want them?
</span>アドレス : <a target="_blank" href="https://blogs.msdn.microsoft.com/joerg_sinemus/2018/05/14/spo-and-sometimes-a-pop-up-appears-and-you-do-not-want-them/" rel="noopener">https://blogs.msdn.microsoft.com/joerg_sinemus/2018/05/14/spo-and-sometimes-a-pop-up-appears-and-you-do-not-want-them/</a>

<span style="color: #ff0000">8/16 追記 :  ページ遷移の経路 (アプリランチャーの SharePoint アイコン経由など) によってはエクスプローラで開くをクリックしても、上記ポップアップが開かず、エクスプローラ ビューが起動しない現象が報告されておりましたが、</span><span style="color: #ff0000">この問題については現在までに修正されています。</span>

&nbsp;
<h2>切り分け手順</h2>
画面操作が可能な場合は、[F12] を押下して、[F12 IE 開発者ツール] をクリックし、開発者ツールを起動し、ドキュメント モードを 10 に変更し、現象回避できるかご確認ください。

現象回避できる場合は、下記の回避策が有効となります。

<a href="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode5.png"><img src="https://msdnshared.blob.core.windows.net/media/2018/06/edgemode5.png" alt="" width="261" height="236" class="alignnone size-full wp-image-10925" /></a>

&nbsp;
<h2><strong>回避策</strong></h2>
下記のページに記載された回避策をご検討ください。

<span style="color: #ff0000">本回避策をあらかじめ実施しておけば、再度 Edge モードで描画するように動作変更されても、影響を防ぐことができます。</span>

<span>タイトル : </span>Display a classic SharePoint Online site in Internet Explorer 10 document mode
<span></span>アドレス : <a target="_blank" href="https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a" rel="noopener">https://support.office.com/en-us/article/4b4572b7-9223-45ec-8497-557a643da12a
</a>機械翻訳 : <a target="_blank" href="https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a" rel="noopener">https://support.office.com/ja-jp/article/4b4572b7-9223-45ec-8497-557a643da12a</a>

&nbsp;

また、上記サイトを応用したサンプル スクリプトを以下に記載しておりますので、併せてご利用ください。

タイトル : SharePoint Online で IE ドキュメント モードを 10 に変更するサンプル コード
アドレス : <a target="_blank" href="https://blogs.technet.microsoft.com/sharepoint_support/2018/07/02/sharepoint-online-sample-change-ie-document-mode-10/" rel="noopener">https://blogs.technet.microsoft.com/sharepoint_support/2018/07/02/sharepoint-online-sample-change-ie-document-mode-10/</a>

今回の投稿は以上です。

&nbsp;

本情報の内容は、作成日時点でのものであり、予告なく変更される場合があります。

&nbsp;

&nbsp;]]></content:encoded>
    </item>
  </channel>
</rss>