概要
<authoring>
要素の <fileSystem>
要素は、WebDAV モジュールが基になるファイル システムと対話する方法を指定します。 具体的には、<fileSystem>
要素には、ファイル操作をトランザクションにするかどうかと、隠しファイルまたは仮想ディレクトリをプロパティ要求で返すかどうかを定義する属性が含まれます。これは、ディレクトリ一覧に一般的に使用されます。
互換性
バージョン | メモ |
---|---|
IIS 10.0 | <fileSystem> 要素は、IIS 10.0 では変更されませんでした。 |
IIS 8.5 | <fileSystem> 要素は、IIS 8.5 では変更されませんでした。 |
IIS 8.0 | <fileSystem> 要素は IIS 8.0 では変更されませんでした。 |
IIS 7.5 | <authoring> 要素の <fileSystem> 要素は、IIS 7.5 の機能として付属しています。 |
IIS 7.0 | <authoring> 要素の <fileSystem> 要素は、WebDAV 7.0 で導入され、IIS 7.0 用の別個のダウンロードでした。 |
IIS 6.0 | 該当なし |
Note
WebDAV 7.0 および WebDAV 7.5 モジュールは、IIS 7.0 とは別にリリースされ、次の URL からモジュールをダウンロードしてインストールする必要がありました。
Windows 7 および Windows Server 2008 R2 では、WebDAV 7.5 モジュールは IIS 7.5 の機能として付属しているため、WebDAV のダウンロードは必要なくなりました。
段取り
Web サーバーの WebDAV 発行をサポートするには、WebDAV モジュールをインストールする必要があります。 そのためには、次のステップに従います。
Windows Server 2012 または Windows Server 2012 R2
- タスク バーで [サーバー マネージャー]をクリックします。
- [サーバー マネージャー] で、[管理] メニューを選択し、[役割と機能の追加] を選択します。
- [役割と機能の追加] ウィザードで、[次へ] をクリックします。 インストールの種類を選択し、[次へ] をクリックします。 対象サーバーを選択し、[次へ] をクリックします。
- [サーバー ロール] ページで、[Web サーバー (IIS)]、[Web サーバー]、[HTTP 共通機能] の順に展開し、[WebDAV 発行] を選択します。 次へ をクリックします。
- [機能の選択] ページで、[次へ] をクリックします。
- [インストール オプションの確認] ページで、[インストール] をクリックします。
- [結果] ページで、 [閉じる]をクリックします。
Windows 8 または Windows 8.1
- [スタート] 画面で、ポインターを左下隅まで移動し、[スタート] ボタンを右クリックし、[コントロール パネル] をクリックします。
- [コントロール パネル]で [プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
- [インターネット インフォメーション サービス]、[World Wide Web サービス]、[HTTP 共通機能] を順に展開して、[WebDAV 発行] を選択します。
- OK をクリックします。
- 閉じるをクリックします。
Windows Server 2008 R2
- タスク バーで [スタート] をクリックし、[管理ツール] をポイントして、[サーバー マネージャ] をクリックします。
- [サーバー マネージャ] 階層ウィンドウで [役割] を展開し、[Web サーバー (IIS)] をクリックします。
- [Web サーバー (IIS)] ウィンドウで、[役割サービス] セクションまでスクロールし、[役割サービスの追加] をクリックします。
- [役割サービスの追加] ウィザードの [役割サービスの選択] ページで、[HTTP 共通機能] を展開し、[WebDAV 発行] を選択して [次へ] をクリックします。
- [インストール オプションの確認] ページで、[インストール] をクリックします。
- [結果] ページで、 [閉じる]をクリックします。
Windows 7
- タスク バーで、[スタート]、[コントロール パネル] の順にクリックします。
- [コントロール パネル]で [プログラムと機能] をクリックし、[Windows の機能の有効化または無効化] をクリックします。
- [インターネット インフォメーション サービス]、[World Wide Web サービス]、[HTTP 共通機能] の順に展開します。
- [WebDAV 発行] を選択し、[OK] をクリックします。
Windows Server 2008 または Windows Vista
次の URL からインストール パッケージをダウンロードします。
次のチュートリアルの手順に従って、WebDAV モジュールをインストールします。
操作方法
WebDAV 応答で隠しファイルを一覧表示できるようにする方法
インターネット インフォメーション サービス (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) マネージャー] をダブルクリックします。
[接続] ウィンドウで、サーバー名を展開してから、WebDAV 発行を有効にするサイト、アプリケーション、またはディレクトリに移動します。
[ホーム] ウィンドウで、[WebDAV オーサリング規則] をダブルクリックします。
[操作] ウィンドウで、[WebDAV 設定] を選択します
隠しファイルのプロパティをプロパティ応答で返す場合は、[WebDAV 設定] ウィンドウで [隠しファイルの一覧表示を許可] に [True] を選択します。それ以外の場合は、[False] を選択します。
[操作] ペインで [適用] をクリックします。
構成
<fileSystem>
要素は、ApplicationHost.config ファイルのサイト レベルでのみ構成できます。 他のレベルまたは Web.config ファイル内の <fileSystem>
要素は無視されます。
属性
属性 | 説明 |
---|---|
allowHiddenFiles |
省略可能で、 Boolean 型の属性。 WebDAV がプロパティ要求への応答で隠しファイルを表示する場合は true、それ以外の場合は false。 注意: ファイルがプロパティ要求から非表示になっている場合でも、直接要求することはできます。 たとえば、Web サイトの Web.config ファイルを非表示にした場合、ディレクトリの一覧には表示されませんが、パスが存在することがわかっていれば、WebDAV ベースのエディターでファイルを開くこともできます。 既定値は false です。 |
useTransactionalIo |
省略可能で、 Boolean 型の属性。 useTransactionalIo 属性は、ファイル操作をトランザクションにするかどうかを指定します。 たとえば、トランザクション処理は、クライアントが一連のファイルに対して MOVE 要求を送信し、操作全体が完了する前に宛先が記憶域領域を使い切った場合に、サーバーの動作を定義するのに役立ちます。 トランザクション処理を有効にすると、操作全体が失敗します。 トランザクション処理を無効にすると、操作は部分的にのみ成功し、ファイルはソースと宛先の間で分散されます。 false に設定すると、WebDAV モジュールはいかなる形式のトランザクション処理も強制しません。 true に設定すると、WebDAV モジュールは、基本ファイル システムがトランザクションを実行できない場合に、操作を失敗させてトランザクション処理を強制します。 既定値は false です。 |
hideChildVirtualDirectories |
省略可能で、 Boolean 型の属性。 仮想ディレクトリを WebDAV 要求から非表示にする場合は true、それ以外の場合は false。 注意: この属性は、WebDAV 7.5 および IIS 7.5 で追加されました。 既定値は false です。 |
子要素
なし。
構成サンプル
次の例では、既定の Web サイトのサンプル <webdav>
要素を表示します。 次の使用例は、既存のオーサリング規則をクリアし、管理者グループに対して 1 つの規則を追加し、WebDAV オーサリングを有効にし、隠しファイルを許可し、WebDAV ロックを有効にしてロック プロバイダーを指定し、WebDAV プロパティを有効にし、プロパティ マッピングの既定の XML 名前空間を指定します。
<___location path="Default Web Site">
<system.webServer>
<webdav>
<authoringRules defaultAccess="none" allowNonMimeMapFiles="true" defaultMimeType="text/plain">
<clear />
<add roles="administrators" path="*" access="Read, Write, Source" />
</authoringRules>
<authoring enabled="true" requireSsl="false">
<fileSystem allowHiddenFiles="true" />
<locks enabled="true" lockStore="webdav_simple_lock" requireLockForWriting="false" />
<properties allowAnonymousPropfind="false" allowInfinitePropfindDepth="false" allowCustomProperties="true">
<clear />
<add xmlNamespace="*" propertyStore="webdav_simple_prop" />
</properties>
</authoring>
</webdav>
</system.webServer>
</___location>
サンプル コード
次の例では、隠しファイルと仮想ディレクトリがプロパティ クエリ応答で返されるように WebDAV ファイル システムの設定を構成します。
AppCmd.exe
appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:"True" /fileSystem.hideChildVirtualDirectories:"True" /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 authoringSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site");
ConfigurationElement fileSystemElement = authoringSection.GetChildElement("fileSystem");
fileSystemElement["allowHiddenFiles"] = true;
fileSystemElement["hideChildVirtualDirectories"] = true;
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 authoringSection As ConfigurationSection = config.GetSection("system.webServer/webdav/authoring", "Default Web Site")
Dim fileSystemElement As ConfigurationElement = authoringSection.GetChildElement("fileSystem")
fileSystemElement("allowHiddenFiles") = True
fileSystemElement("hideChildVirtualDirectories") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site");
var fileSystemElement = authoringSection.ChildElements.Item("fileSystem");
fileSystemElement.Properties.Item("allowHiddenFiles").Value = true;
fileSystemElement.Properties.Item("hideChildVirtualDirectories").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set authoringSection = adminManager.GetAdminSection("system.webServer/webdav/authoring", "MACHINE/WEBROOT/APPHOST/Default Web Site")
Set fileSystemElement = authoringSection.ChildElements.Item("fileSystem")
fileSystemElement.Properties.Item("allowHiddenFiles").Value = True
fileSystemElement.Properties.Item("hideChildVirtualDirectories").Value = True
adminManager.CommitChanges()