Partager via


Système de fichiers WebDAV <fileSystem>

Vue d’ensemble

L’élément <fileSystem> de l’élément <authoring> spécifie comment le module WebDAV interagit avec le système de fichiers sous-jacent. Plus précisément, l’élément <fileSystem> contient des attributs qui définissent si les opérations de fichier doivent être transactionnelles et si les fichiers masqués ou les répertoires virtuels sont retournés dans les demandes de propriétés, qui sont couramment utilisées pour les listes de répertoires.

Compatibilité

Version Notes
IIS 10.0 L’élément <fileSystem> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <fileSystem> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <fileSystem> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <fileSystem> de l’élément <authoring> est fourni en tant que fonctionnalité d’IIS 7.5.
IIS 7.0 L’élément <fileSystem> de l’élément <authoring> a été introduit dans WebDAV 7.0, qui constituait un téléchargement distinct pour IIS 7.0.
IIS 6.0 N/A

Remarque

Les modules WebDAV 7.0 et WebDAV 7.5 n’étaient pas livrés avec IIS 7.0, mais nécessitaient un téléchargement et une installation via l’URL suivante :

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

Avec Windows 7 et Windows Server 2008 R2, le module WebDAV 7.5 est fourni en tant que fonctionnalité pour IIS 7.5, de sorte que le téléchargement de WebDAV n’est plus nécessaire.

Programme d’installation

Pour prendre en charge la publication WebDAV pour votre serveur web, vous devez installer le module WebDAV. Pour cela, procédez comme suit.

Windows Server 2012 ou Windows Server 2012 R2

  1. Dans la barre des tâches, cliquez sur Gestionnaire de serveur.
  2. Dans Gestionnaire de serveur, cliquez sur le menu Gérer, puis sur Ajouter des rôles et des fonctionnalités.
  3. Dans l’Assistant Ajout de rôles et de fonctionnalités, cliquez sur Suivant. Sélectionnez le type d’installation, puis cliquez sur Suivant. Sélectionnez le serveur de destination, puis cliquez sur Suivant.
  4. Dans la page Rôles de serveur, développez Serveur web (IIS), développez Serveur web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV. Sélectionnez Suivant.
    Screenshot shows Web Server and Common H T T P Features pane expanded with Web DAV Publishing selected.
  5. Dans la page Sélectionner les composants, cliquez sur Suivant.
  6. Dans la page Confirmer les sélections d’installation, cliquez sur Installer.
  7. Dans la page Résultats , cliquez sur Fermer.

Windows 8 ou Windows 8.1

  1. Dans l’écran Démarrer, déplacez le pointeur en bas à gauche, cliquez avec le bouton droit sur le bouton Démarrer, puis cliquez sur Panneau de configuration.
  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez Internet Information Services, développez Services World Wide Web, développez Fonctionnalités HTTP courantes, puis sélectionnez Publication WebDAV.
    Screenshot of Common H T T P Features pane in Turn Windows features on or off page displaying Web DAV Publishing selected.
  4. Cliquez sur OK.
  5. Cliquez sur Fermer.

Windows Server 2008 R2

  1. Dans la barre des tâches, cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire de serveur.
  2. Dans le volet de hiérarchie de Gestionnaire de serveur, développez Rôles, puis cliquez sur Serveur web (IIS).
  3. Dans le volet Serveur web (IIS), faites défiler jusqu’à la section Services de rôle, puis cliquez sur Ajouter des services de rôle.
  4. Sur la page Sélectionner les services de rôle de l'Assistant Ajout de services de rôle, développez Fonctionnalités HTTP communes, sélectionnez Publication WebDAV, puis cliquez sur Suivant.
    Screenshot shows Select Role Services page in Add Role Services Wizard with Web DAV Publishing selected from Common H T T P Features pane.
  5. Dans la page Confirmer les sélections pour l'installation, cliquez sur Installer.
  6. Dans la page Résultats , cliquez sur Fermer.

Windows 7

  1. Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
  2. Dans Panneau de configuration, cliquez sur Programmes et fonctionnalités, puis sur Activer ou désactiver des fonctionnalités Windows.
  3. Développez internet Information Services, puis des Services World Wide Web, puis Fonctionnalités HTTP courantes.
  4. Sélectionnez Publication WebDAV, puis cliquez sur OK.
    Screenshot displays Common H T T P Features pane expanded and Web DAV Publishing selected.

Windows Server 2008 ou Windows Vista

Procédure

Comment autoriser la liste des fichiers masqués dans les réponses WebDAV

  1. Ouvrez le Gestionnaire Internet Information Services (IIS) :

    • Si vous utilisez Windows Server 2012 ou Windows Server 2012 R2 :

      • Dans la barre des tâches, cliquez sur Gestionnaire de serveur, cliquez sur Outils, puis sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows 8 ou Windows 8.1 :

      • Maintenez la touche Windows enfoncée, appuyez sur la lettre X, puis cliquez sur Panneau de configuration.
      • Cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • Dans la barre des tâches, cliquez sur Démarrer, placez le curseur sur Outils d'administration, puis cliquez sur Gestionnaire Internet Information Services (IIS).
    • Si vous utilisez Windows Vista ou Windows 7 :

      • Dans la barre des tâches, cliquez sur Démarrer, puis sur Panneau de configuration.
      • Double-cliquez sur Outils d'administration, puis double-cliquez sur Gestionnaire des services Internet (IIS).
  2. Dans le volet Connexions, développez le nom du serveur, puis accédez au site, à l’application ou au répertoire où vous souhaitez activer la publication WebDAV.

  3. Dans le volet Accueil, double-cliquez sur Règles de création WebDAV.
    Screenshot of Web DAV Authoring Rules feature in Home pane. Web DAV Settings is displayed in Actions pane.

  4. Dans le volet Actions, cliquez sur Paramètres WebDAV…

  5. Dans le volet Paramètres WebDAV, choisissez True pour Autoriser l’affichage des fichiers masqués si vous souhaitez que les propriétés des fichiers masqués soient retournées dans les réponses aux propriétés ; sinon, choisissez False.
    Screenshot of Web DAV Settings pane With Allow Hidden Files to be Listed option set to True. Apply option is shown in the Actions pane.

  6. Cliquez sur Appliquer dans le volet Actions.

Configuration

Vous pouvez configurer l’élément <fileSystem> uniquement au niveau du site dans le fichier ApplicationHost.config. Tous les éléments <fileSystem> à d’autres niveaux ou dans les fichiers Web.config sont ignorés.

Attributs

Attribut Description
allowHiddenFiles Attribut Boolean facultatif. true si WebDAV affiche les fichiers masqués dans les réponses aux demandes de propriétés ; sinon, false.

Remarque : Même si les fichiers peuvent être masqués dans les demandes de propriétés, ils peuvent toujours être demandés directement. Par exemple, si vous masquez le fichier Web.config pour votre site web, il ne s’affiche pas dans les listes de répertoires, mais vous pouvez toujours ouvrir le fichier dans un éditeur WebDAV si vous savez que le chemin existe. La valeur par défaut est false.
useTransactionalIo Attribut Boolean facultatif. L’attribut useTransactionalIo spécifie si les opérations de fichier doivent être transactionnelles. Par exemple, le traitement transactionnel permet de définir le comportement d’un serveur si un client envoie une demande MOVE pour une série de fichiers et que la destination manque d’espace de stockage avant la fin de l’opération entière. Une fois le traitement transactionnel activé, l’opération entière doit échouer. Quand le traitement transactionnel est désactivé, l’opération réussit seulement partiellement et les fichiers sont distribués entre la source et la destination.

Lorsqu’il est défini sur false, le module WebDAV n’applique aucune forme de traitement transactionnel. Quand sa valeur est true, le module WebDAV applique le traitement transactionnel en faisant échouer l’opération si le système de fichiers de base ne peut pas effectuer de transactions. La valeur par défaut est false.
hideChildVirtualDirectories Attribut Boolean facultatif.

true si les répertoires virtuels sont masqués dans les demandes WebDAV ; sinon, false.

Remarque : Cet attribut a été ajouté dans WebDAV 7.5 et IIS 7.5.

La valeur par défaut est false.

Éléments enfants

Aucune.

Exemple Configuration

L’exemple suivant répertorie un exemple d’élément <webdav> pour le site web par défaut. Cet exemple efface toutes les règles de création existantes, ajoute une règle unique pour le groupe d’administrateurs, active la création WebDAV, spécifie que les fichiers masqués sont autorisés, active les verrous WebDAV et spécifie le fournisseur de verrous, et active les propriétés WebDAV et spécifie l’espace de noms XML par défaut pour le mappage de propriétés.

<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>

Exemple de code

Les exemples suivants configurent les paramètres du système de fichiers WebDAV afin que les fichiers masqués et les répertoires virtuels soient retournés dans les réponses aux requêtes de propriétés.

AppCmd.exe

appcmd.exe set config "Default Web Site" -section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:"True" /fileSystem.hideChildVirtualDirectories:"True" /commit:apphost

Remarque

Vous devez veiller à définir le paramètre commit sur apphost quand vous utilisez AppCmd.exe pour configurer ces paramètres. Cela valide les paramètres de configuration dans la section d’emplacement appropriée dans le fichier 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()