Share via


Modules globaux <globalModules>

Vue d’ensemble

L’élément <globalModules> définit les modules de niveau global installés sur un serveur IIS 7. L’élément <globalModules> est disponible uniquement au niveau du serveur. Par conséquent, lorsque vous installez des modules, IIS met uniquement à jour le fichier ApplicationHost.config. Vous devez être administrateur sur le serveur pour installer des modules natifs.

IIS 7 implémente la plupart de son traitement des demandes via des modules natifs. Lorsque vous installez un service de rôle ou une fonctionnalité IIS 7 à l’aide du gestionnaire de services, le programme d’installation IIS ajoute une entrée à l’élément <globalModules> de ce module. Par exemple, lorsque vous installez le service de rôle d’authentification de base sur votre serveur IIS 7, le programme d’installation ajoute une entrée BasicAuthenticationModule à l’élément <globalModules>.

Lorsque vous installez un module tiers, vous devez ajouter une entrée à l’élément <globalModules> pour ce module. Pour ce faire, vous pouvez utiliser le gestionnaire IIS en modifiant manuellement le fichier ApplicationHost.config ou en utilisant l’outil en ligne de commande AppCmd.exe.

Pour activer un module dans une application, vous devez modifier l’élément <module> de l’application.

Compatibilité

Version Notes
IIS 10.0 L’élément <globalModules> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <globalModules> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <globalModules> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <globalModules> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <globalModules> a été introduit dans IIS 7.0.
IIS 6.0 S/O

Programme d’installation

L’élément <globalModules> est inclus dans l’installation par défaut d’IIS 7.

Procédure

Comment installer un module natif

  1. Ouvrez le Gestionnaire des services Internet (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 Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • 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 Internet Information Services (IIS).
  2. Dans le volet Connexions, cliquez sur la connexion du serveur à laquelle vous souhaitez ajouter le module natif.

  3. Dans la page d’accueil du serveur, double-cliquez sur Modules.
    Screenshot of five icons titled MIME Types, Modules, Output Caching, Server Certificates, and Worker Processes. The icon titled Modules is highlighted.

  4. Dans le volet Actions, cliquez sur Configurer des modules natifs….

  5. Dans la boîte de dialogue Configurer les modules natifs, cliquez sur Inscrire….
    Screenshot of the Configure Native Modules dialog box.

  6. Dans la boîte de dialogue Inscrire un module natif, dans la zone Nom, tapez un nom pour le module natif.

  7. Dans la zone Chemin d’accès, tapez le chemin d’accès du système de fichiers de l’emplacement du fichier .dll ou cliquez sur le bouton Parcourir.
    Screenshot of the Path box showing the file system path and the name of the location of the . d d l file.

  8. Dans la boîte de dialogue Configurer les modules natifs, sélectionnez l’option du module natif que vous venez d’inscrire, cliquez sur OK, puis sur OK à nouveau. Cela permet d’exécuter le module natif et de le rendre disponible pour les sites et les applications sur votre serveur Web.

    Remarque

    Si vous ne souhaitez pas activer l’exécution du module natif, désactivez l’option du module natif, puis cliquez sur OK.

  9. Si vous le souhaitez, vous pouvez verrouiller le module natif si vous ne souhaitez pas qu’il soit remplacé à des niveaux inférieurs dans le système de configuration. Dans la page Modules, sélectionnez le module, puis cliquez sur Verrouiller dans le volet Actions.

Comment activer un module natif

  1. Ouvrez le Gestionnaire des services Internet (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 Internet Information Services (IIS).
    • Si vous utilisez Windows Server 2008 ou Windows Server 2008 R2 :

      • 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 Internet Information Services (IIS).
  2. Accédez au niveau du serveur, du site ou de l’application que vous souhaitez gérer.

  3. Sur la page d’accueil du serveur, du site ou de l’application, double-cliquez sur Modules.

  4. Dans le volet Actions, cliquez sur Configurer des modules natifs….

  5. Dans la boîte de dialogue Configurer les modules natifs, sélectionnez l’option du module natif que vous souhaitez activer, puis cliquez sur OK.
    Screenshot of the Configure Native Modules dialog box. The registered module titled UriCacheModule is selected.

Configuration

L’élément <globalModules> contient une collection d’éléments <add>. Chaque élément de la collection configure un module global pour le serveur.

Attributs

Aucune.

Éléments enfants

Élément Description
add Élément facultatif.

Ajoute un module natif à la collection de modules globaux.
clear Élément facultatif.

Supprime toutes les références aux modules natifs de la collection de modules globaux.
remove Élément facultatif.

Supprime une référence à un module natif spécifique de la collection de modules globaux.

Exemple Configuration

L’exemple suivant montre une section <globalModules> IIS 7 qui contient des entrées pour tous les modules inclus dans l’installation minimale du serveur Web. Il inclut également une entrée pour BasicAuthenticationModule et une autre pour le module tiers ImageCopyrightModule.

<globalModules>
   <add name="UriCacheModule"
      image="%windir%\System32\inetsrv\cachuri.dll" />
   <add name="FileCacheModule"
      image="%windir%\System32\inetsrv\cachfile.dll" />
   <add name="TokenCacheModule"
      image="%windir%\System32\inetsrv\cachtokn.dll" />
   <add name="HttpCacheModule"
      image="%windir%\System32\inetsrv\cachhttp.dll" />
   <add name="StaticCompressionModule"
      image="%windir%\System32\inetsrv\compstat.dll" />
   <add name="DefaultDocumentModule"
      image="%windir%\System32\inetsrv\defdoc.dll" />
   <add name="DirectoryListingModule"
      image="%windir%\System32\inetsrv\dirlist.dll" />
   <add name="ProtocolSupportModule"
      image="%windir%\System32\inetsrv\protsup.dll" />
   <add name="StaticFileModule"
      image="%windir%\System32\inetsrv\static.dll" />
   <add name="AnonymousAuthenticationModule"
      image="%windir%\System32\inetsrv\authanon.dll" />
   <add name="RequestFilteringModule"
      image="%windir%\System32\inetsrv\modrqflt.dll" />
   <add name="CustomErrorModule"
      image="%windir%\System32\inetsrv\custerr.dll" />
   <add name="HttpLoggingModule"
      image="%windir%\System32\inetsrv\loghttp.dll" />
   <add name="RequestMonitorModule"
      image="%windir%\System32\inetsrv\iisreqs.dll" />
   <add name="BasicAuthenticationModule"
      image="%windir%\System32\inetsrv\authbas.dll" />
   <add name="ImageCopyrightModule"
      image="%windir%\System32\inetsrv\ImageCopyrightModule.dll" />
</globalModules>

Exemple de code

Les exemples suivants installent un module natif nommé ImageCopyrightModule sur IIS 7 et l’activent automatiquement sur l’ensemble du serveur.

AppCmd.exe

appcmd.exe install module /name:ImageCopyrightModule /image:%windir%\system32\inetsrv\imageCopyrightModule.dll

Vous pouvez également utiliser la syntaxe suivante :

appcmd.exe set config -section:system.webServer/globalModules /+"[name='ImageCopyrightModule',image='%windir%\system32\inetsrv\imageCopyrightModule.dll']" /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 globalModulesSection = config.GetSection("system.webServer/globalModules");
         ConfigurationElementCollection globalModulesCollection = globalModulesSection.GetCollection();
         ConfigurationElement addElement = globalModulesCollection.CreateElement("add");
         addElement["name"] = @"ImageCopyrightModule";
         addElement["image"] = @"%windir%\system32\inetsrv\imageCopyrightModule.dll";
         globalModulesCollection.Add(addElement);
         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 globalModulesSection As ConfigurationSection = config.GetSection("system.webServer/globalModules")
      Dim globalModulesCollection As ConfigurationElementCollection = globalModulesSection.GetCollection
      Dim addElement As ConfigurationElement = globalModulesCollection.CreateElement("add")
      addElement("name") = "ImageCopyrightModule"
      addElement("image") = "%windir%\system32\inetsrv\imageCopyrightModule.dll"
      globalModulesCollection.Add(addElement)
      serverManager.CommitChanges()
   End Sub
End Module

JavaScript

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

var globalModulesSection = adminManager.GetAdminSection("system.webServer/globalModules", "MACHINE/WEBROOT/APPHOST");
var globalModulesCollection = globalModulesSection.Collection;

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

adminManager.CommitChanges();

VBScript

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

Set globalModulesSection = adminManager.GetAdminSection("system.webServer/globalModules", "MACHINE/WEBROOT/APPHOST")
Set globalModulesCollection = globalModulesSection.Collection

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

adminManager.CommitChanges()