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
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).
Dans le volet Connexions, cliquez sur la connexion du serveur à laquelle vous souhaitez ajouter le module natif.
Dans la page d’accueil du serveur, double-cliquez sur Modules.
Dans le volet Actions, cliquez sur Configurer des modules natifs….
Dans la boîte de dialogue Configurer les modules natifs, cliquez sur Inscrire….
Dans la boîte de dialogue Inscrire un module natif, dans la zone Nom, tapez un nom pour le module natif.
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.
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.
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
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).
Accédez au niveau du serveur, du site ou de l’application que vous souhaitez gérer.
Sur la page d’accueil du serveur, du site ou de l’application, double-cliquez sur Modules.
Dans le volet Actions, cliquez sur Configurer des modules natifs….
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.
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 (,).
|
É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()