Partager via


Ajout de modules globaux <add>

Vue d’ensemble

L’élément <add> de la <globalModules> collection spécifie un module global individuel à ajouter au serveur Web.

Compatibilité

Version Notes
IIS 10.0 L’élément <add> n’a pas été modifié dans IIS 10.0.
IIS 8.5 L’élément <add> n’a pas été modifié dans IIS 8.5.
IIS 8.0 L’élément <add> n’a pas été modifié dans IIS 8.0.
IIS 7.5 L’élément <add> n’a pas été modifié dans IIS 7.5.
IIS 7.0 L’élément <add> de la collection <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 that shows the 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 that shows 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 that shows the Register Native Module dialog box.

  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 that shows the Configure Native Modules dialog box. UriCacheModule is selected.

Configuration

Chaque élément <add> de la collection <globalModules> doit contenir un attribut nom qui identifie le module et un attribut image qui pointe vers la DLL qui implémente le module.

Attributs

Attribut Description
image Attribut de chaîne requis.

Spécifie le chemin d’accès physique du fichier .dll pour le module global. La valeur d’attribut est développée lorsque des variables d’environnement, telles que %windir%, sont utilisées.
name Attribut de chaîne requis.

Spécifie le nom du module global.
preCondition Attribut de chaîne facultatif.

Spécifie les conditions d’exécution du module global.

L’attribut preCondition peut avoir une ou plusieurs des valeurs possibles suivantes. Si vous spécifiez plusieurs valeurs, séparez-les par une virgule (,).
Valeur Description
bitness32 Spécifiez la valeur bitness32 lorsque le module global est un fichier .dll 32 bits et IIS doit charger le module global uniquement pour les processus de travail qui s’exécutent en mode WOW64 (simulation 32 bits) sur un système d’exploitation 64 bits.
bitness64 Spécifiez la valeur bitness64 lorsque le module global est un fichier .dll 64 bits et IIS doit charger le module global uniquement pour les processus de travail qui s’exécutent en mode 64 bits.
integratedMode Spécifiez la valeur integratedMode lorsque le module global doit utiliser le pipeline de traitement des demandes intégré pour traiter les demandes de contenu managé.
ISAPIMode Spécifiez la valeur ISAPIMode lorsque le module global doit utiliser l’extension ISAPI ASP.NET, Aspnet_isapi.dll, pour traiter les demandes de contenu managé.
runtimeVersionv1.1 Spécifiez la valeur runtimeVersionv1.1 lorsque le module global doit être chargé uniquement pour les pools d’applications configurés pour utiliser .NET Framework version 1.1.
runtimeVersionv2.0 Spécifiez la valeur runtimeVersionv2.0 lorsque le module global doit être chargé uniquement pour les pools d’applications configurés pour utiliser .NET Framework version 2.0.

Éléments enfants

Aucune.

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