WebDAV グローバル設定 <globalSettings>

概要

<globalSettings> 要素は、グローバル WebDAV 構成設定の親要素です。 具体的には、この要素には、プロパティとロック プロバイダーの定義の設定が含まれます。 WebDAV モジュールは複数のプロバイダーを受け入れるように設計されていますが、IIS 7 と IIS 7.5 では 1 つのプロバイダーしか使用できません。

Note

<globalSettings> 要素は、Web サイトの既定の設定を定義する <siteDefaults> 要素と混同しないでください。

互換性

バージョン メモ
IIS 10.0 <globalSettings> 要素は、IIS 10.0 では変更されませんでした。
IIS 8.5 <globalSettings> 要素は、IIS 8.5 では変更されませんでした。
IIS 8.0 <globalSettings> 要素は IIS 8.0 では変更されませんでした。
IIS 7.5 <globalSettings> 要素は、IIS 7.5 の機能として付属しています。
IIS 7.0 <globalSettings> 要素は、IIS 7.0 用の別個のダウンロードである WebDAV 7.0 で導入されました。 WebDAV 7.0 で使用できたのは <propertyStores> 要素のみです。<lockStores> 要素は WebDAV 7.5 で導入されました。
IIS 6.0 該当なし

Note

WebDAV 7.0 および WebDAV 7.5 モジュールは、IIS 7.0 とは別にリリースされ、次の URL からモジュールをダウンロードしてインストールする必要がありました。

https://www.iis.net/expand/WebDAV

Windows 7 および Windows Server 2008 R2 では、WebDAV 7.5 モジュールは IIS 7.5 の機能として付属しているため、WebDAV のダウンロードは必要なくなりました。

段取り

Web サーバーの WebDAV 発行をサポートするには、WebDAV モジュールをインストールする必要があります。 そのためには、次のステップに従います。

Windows Server 2012 または Windows Server 2012 R2

  1. タスク バーで [サーバー マネージャー]をクリックします。
  2. [サーバー マネージャー] で、[管理] メニューを選択し、[役割と機能の追加] を選択します。
  3. [役割と機能の追加] ウィザードで、[次へ] をクリックします。 インストールの種類を選択し、[次へ] をクリックします。 対象サーバーを選択し、[次へ] をクリックします。
  4. [サーバー ロール] ページで、[Web サーバー (IIS)][Web サーバー][HTTP 共通機能] の順に展開し、[WebDAV 発行] を選択します。 次へ をクリックします。
    Windows Server 2012 で選択された Web DAV 発行を示すスクリーンショット。
  5. [機能の選択] ページで、[次へ] をクリックします。
  6. [インストール オプションの確認] ページで、[インストール] をクリックします。
  7. [結果] ページで、 [閉じる]をクリックします。

Windows 8 または Windows 8.1

  1. [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][HTTP 共通機能] を順に展開して、[WebDAV 発行] を選択します。
    Windows 8 で選択された Web DAV 発行を示すスクリーンショット。
  4. OK をクリックします。
  5. 閉じるをクリックします。

Windows Server 2008 R2

  1. タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャ] をクリックします。
  2. [サーバー マネージャ] 階層ウィンドウで [役割] を展開し、[Web サーバー (IIS)] をクリックします。
  3. [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。
  4. [役割サービスの追加] ウィザードの [役割サービスの選択] ページで、[HTTP 共通機能] を展開し、[WebDAV 発行] を選択して [次へ] をクリックします。
    役割サービスの追加ウィザードで Windows Server 2008 用に選択された Web DAV 発行を示すスクリーンショット。
  5. [インストール オプションの確認] ページで、[インストール] をクリックします。
  6. [結果] ページで、 [閉じる]をクリックします。

Windows 7

  1. タスク バーで、[スタート][コントロール パネル] の順にクリックします。
  2. [コントロール パネル][プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
  3. [インターネット インフォメーション サービス][World Wide Web サービス][HTTP 共通機能] の順に展開します。
  4. [WebDAV 発行] を選択し、[OK] をクリックします。
    Windows 7 で [Web DAV Publishing]\(Web DAV 発行\) が選択されていることを示すスクリーンショット。

Windows Server 2008 または Windows Vista

操作方法

Web サイトの WebDAV ロックを構成する方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウでサーバー名を展開し、[サイト] ノードを展開してから、サイトの名前をクリックします。

  3. サイトの [ホーム] ウィンドウで、[WebDAV オーサリング規則] をダブルクリックします。
    [サーバー ホーム] ウィンドウを示すスクリーンショット。[Web DAV Authoring Rules]\(Web DAV 作成規則\) が選択されています。

  4. [WebDAV オーサリング規則] ページが表示されたら、[操作] ウィンドウで [WebDAV 設定] をクリックします。

  5. [WebDAV 設定] ページが表示されたら、[Lock Behavior] (ロック動作) セクションで、次のオプションを指定します。

    • [Allow Locks] (ロックの許可)"True" に設定します。
    • [Lock Store] (ロック ストア) で、ドロップダウン リストから webdav_simple_lock を選択します。
    • [Require Lock for Writing] (書き込みのロックが必要) を、目的の設定に設定します。
      [Web DAV 設定] ウィンドウを示すスクリーンショット。
  6. 手順を完了したら、[操作] ウィンドウで [適用] を選択します。

Web サイトの WebDAV プロパティを構成する方法

  1. インターネット インフォメーション サービス (IIS) マネージャーを開きます。

    • Windows Server 2012 または Windows Server 2012 R2 を使用している場合:

      • タスク バーで、[サーバー マネージャー] をクリックし、[ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows 8 または Windows 8.1 を使用している場合:

      • Windows キーを押しながら文字 X を押し、[コントロール パネル] をクリックします。
      • [管理ツール] をクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
    • Windows Server 2008 または Windows Server 2008 R2 を使用している場合:

      • タスク バーで、[スタート] ボタンをクリックし、[管理ツール][インターネット インフォメーション サービス (IIS) マネージャー] の順にクリックします。
    • Windows Vista または Windows 7 を使用している場合:

      • タスク バーで、[スタート][コントロール パネル] の順にクリックします。
      • [管理ツール] をダブルクリックし、[インターネット インフォメーション サービス (IIS) マネージャー] をダブルクリックします。
  2. [接続] ウィンドウでサーバー名を展開し、[サイト] ノードを展開してから、サイトの名前をクリックします。

  3. サイトの [ホーム] ウィンドウで、[WebDAV Authoring Rules] (WebDAV オーサリング規則) をダブルクリックします。
    [既定の Web サイトホーム] ウィンドウを示すスクリーンショット。Web DAV が選択されています。

  4. [WebDAV オーサリング規則] ページが表示されたら、[操作] ウィンドウで [WebDAV 設定] をクリックします。
    [Web DAV Authoring Rules]\(Web DAV 作成ルール\) ペインを示すスクリーンショット。

  5. [WebDAV 設定] ページが表示されたら、[プロパティの動作] セクションで次のオプションを指定します。

    • [匿名プロパティの照会を許可][False] に設定します。

    • [カスタム プロパティを許可する][True] に設定します。

    • [無限の深さのプロパティ クエリを許可する][False] に設定します。

      [Web DAV 設定] ウィンドウを示すスクリーンショット。3 つのフィールドが変更されました。

  6. 省略記号 (...) ボタンを選択して名前空間コレクション エディターを起動します。
    [名前空間コレクション エディター] ダイアログ ボックスを示すスクリーンショット。

  7. [追加] を選択し、ドロップダウン リストから webdav_simple_prop を選択します

  8. XmlNameSpace に "*" を指定し、[OK] を選択します。

  9. 前の手順を完了したら、[操作] ウィンドウで [適用] をクリックします。

構成

<globalSettings> 要素は、ApplicationHost.config ファイルにグローバル レベルでのみ構成できます。 サイトまたはアプリケーション レベル、または Web.config ファイル内の設定は無視されます。

属性

なし。

子要素

要素 説明
propertyStores 省略可能な要素です。

プロパティ ストア プロバイダーのコレクションを指定します。
lockStores 省略可能な要素です。 ロック ストア プロバイダーのコレクションを指定します。

構成サンプル

次の例では、WebDAV サーバーのサンプル <globalSettings> 要素の一覧を示します。 この例では、ロックとプロパティのシンプルな組み込みプロバイダーを定義し、サーバーの WebDAV ロックを有効にします。

<system.webServer>
      <webdav>
         <globalSettings>
            <propertyStores>
               <add name="webdav_simple_prop" image="%windir%\system32\inetsrv\webdav_simple_prop.dll" />
            </propertyStores>
            <lockStores>
               <add name="webdav_simple_lock" image="%windir%\system32\inetsrv\webdav_simple_lock.dll" />
            </lockStores>
         </globalSettings>
         <authoring>
            <locks enabled="true" lockStore="webdav_simple_lock" />
         </authoring>
      </webdav>
   </system.webServer>

サンプル コード

Note

WebDAV をインストールするときに、propertyStores および lockStores コレクションに、組み込みのプロパティ プロバイダーとロック プロバイダーが設定されます。 現時点ではこれらのプロバイダー コレクションは拡張できないため、このセクションのコード サンプルは参考用です。

次の例では、WebDAV モジュールのインストール時にシステムにコピーされる組み込みのプロパティおよびロック プロバイダーを再追加するように、WebDAV グローバル設定を構成します。

AppCmd.exe

appcmd.exe set config -section:system.webServer/webdav/globalSettings /+"propertyStores.[name='webdav_simple_prop',image='%windir%\system32\inetsrv\webdav_simple_prop.dll']" /commit:apphost

appcmd.exe set config -section:system.webServer/webdav/globalSettings /+"lockStores.[name='webdav_simple_lock',image='%windir%\system32\inetsrv\webdav_simple_lock.dll']" /commit:apphost

Note

AppCmd.exe を使用してこれらの設定を構成するときは、commit パラメーターを必ず apphost に設定する必要があります。 これで、ApplicationHost.config ファイルの適切な場所セクションに構成設定がコミットされます。

C#

using System;
using System.Text;
using Microsoft.Web.Administration;

internal static class Sample
{
   private static void Main()
   {
      using (ServerManager serverManager = new ServerManager())
      {
         Configuration config = serverManager.GetApplicationHostConfiguration();
         ConfigurationSection globalSettingsSection = config.GetSection("system.webServer/webdav/globalSettings");

         ConfigurationElementCollection propertyStoresCollection = globalSettingsSection.GetCollection("propertyStores");

         ConfigurationElement addElement = propertyStoresCollection.CreateElement("add");
         addElement["name"] = @"webdav_simple_prop";
         addElement["image"] = @"%windir%\system32\inetsrv\webdav_simple_prop.dll";
         propertyStoresCollection.Add(addElement);

         ConfigurationElementCollection lockStoresCollection = globalSettingsSection.GetCollection("lockStores");

         ConfigurationElement addElement1 = lockStoresCollection.CreateElement("add");
         addElement1["name"] = @"webdav_simple_lock";
         addElement1["image"] = @"%windir%\system32\inetsrv\webdav_simple_lock.dll";
         lockStoresCollection.Add(addElement1);

         serverManager.CommitChanges();
      }
   }
}

VB.NET

Imports System
Imports System.Text
Imports Microsoft.Web.Administration

Module Sample
   Sub Main()
      Dim serverManager As ServerManager = New ServerManager
      Dim config As Configuration = serverManager.GetApplicationHostConfiguration
      Dim globalSettingsSection As ConfigurationSection = config.GetSection("system.webServer/webdav/globalSettings")

      Dim propertyStoresCollection As ConfigurationElementCollection = globalSettingsSection.GetCollection("propertyStores")

      Dim addElement As ConfigurationElement = propertyStoresCollection.CreateElement("add")
      addElement("name") = "webdav_simple_prop"
      addElement("image") = "%windir%\system32\inetsrv\webdav_simple_prop.dll"
      propertyStoresCollection.Add(addElement)

      Dim lockStoresCollection As ConfigurationElementCollection = globalSettingsSection.GetCollection("lockStores")

      Dim addElement1 As ConfigurationElement = lockStoresCollection.CreateElement("add")
      addElement1("name") = "webdav_simple_lock"
      addElement1("image") = "%windir%\system32\inetsrv\webdav_simple_lock.dll"
      lockStoresCollection.Add(addElement1)

      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var globalSettingsSection = adminManager.GetAdminSection("system.webServer/webdav/globalSettings", "MACHINE/WEBROOT/APPHOST");

var propertyStoresCollection = globalSettingsSection.ChildElements.Item("propertyStores").Collection;

var addElement = propertyStoresCollection.CreateNewElement("add");
addElement.Properties.Item("name").Value = "webdav_simple_prop";
addElement.Properties.Item("image").Value = "%windir%\\system32\\inetsrv\\webdav_simple_prop.dll";
propertyStoresCollection.AddElement(addElement);

var lockStoresCollection = globalSettingsSection.ChildElements.Item("lockStores").Collection;

var addElement1 = lockStoresCollection.CreateNewElement("add");
addElement1.Properties.Item("name").Value = "webdav_simple_lock";
addElement1.Properties.Item("image").Value = "%windir%\\system32\\inetsrv\\webdav_simple_lock.dll";
lockStoresCollection.AddElement(addElement1);

adminManager.CommitChanges();

VBScript

Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set globalSettingsSection = adminManager.GetAdminSection("system.webServer/webdav/globalSettings", "MACHINE/WEBROOT/APPHOST")

Set propertyStoresCollection = globalSettingsSection.ChildElements.Item("propertyStores").Collection

Set addElement = propertyStoresCollection.CreateNewElement("add")
addElement.Properties.Item("name").Value = "webdav_simple_prop"
addElement.Properties.Item("image").Value = "%windir%\system32\inetsrv\webdav_simple_prop.dll"
propertyStoresCollection.AddElement(addElement)

Set lockStoresCollection = globalSettingsSection.ChildElements.Item("lockStores").Collection

Set addElement1 = lockStoresCollection.CreateNewElement("add")
addElement1.Properties.Item("name").Value = "webdav_simple_lock"
addElement1.Properties.Item("image").Value = "%windir%\system32\inetsrv\webdav_simple_lock.dll"
lockStoresCollection.AddElement(addElement1)

adminManager.CommitChanges()