Freigeben über


Globale Module <globalModules>

Übersicht

Das <globalModules>-Element definiert die Module auf globaler Ebene, die auf einem IIS 7-Server installiert sind. Das <globalModules>-Element ist nur auf der Serverebene verfügbar. Wenn Sie also Module installieren, aktualisiert IIS nur die Datei „ApplicationHost.config“. Sie müssen auf dem Server als Administrator angemeldet sein, um native Module installieren zu können.

IIS 7 implementiert den Großteil der Anforderungsverarbeitung über systemeigene Module. Wenn Sie einen IIS 7-Rollendienst oder ein Feature mithilfe des Dienst-Managers installieren, fügt das IIS-Installationsprogramm dem <globalModules>-Element einen Eintrag für dieses Modul hinzu. Wenn Sie also beispielsweise den Rollendienst für die Standardauthentifizierung auf Ihrem IIS 7-Server installieren, fügt das Installationsprogramm dem <globalModules>-Element einen BasicAuthenticationModule-Eintrag hinzu.

Wenn Sie ein Drittanbietermodul installieren, müssen Sie dem <globalModules>-Element einen Eintrag für dieses Modul hinzufügen. Dazu können Sie den IIS-Manager nutzen, die Datei „ApplicationHost.config“ manuell bearbeiten oder das Befehlszeilentool „AppCmd.exe“ verwenden.

Um ein Modul in einer Anwendung zu aktivieren, müssen Sie das <module>-Element der Anwendung bearbeiten.

Kompatibilität

Version Hinweise
IIS 10.0 Das <globalModules>-Element wurde in IIS 10.0 nicht geändert.
IIS 8.5 Das <globalModules>-Element wurde in IIS 8.5 nicht geändert.
IIS 8.0 Das <globalModules>-Element wurde in IIS 8.0 nicht geändert.
IIS 7.5 Das <globalModules>-Element wurde in IIS 7.5 nicht geändert.
IIS 7.0 Das <globalModules>-Element wurde in IIS 7.0 eingeführt.
IIS 6.0 N/V

Setup

Das <globalModules>-Element ist in der Standardinstallation von IIS 7 enthalten.

Gewusst wie

Installieren eines nativen Moduls

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Klicken Sie im Bereich Verbindungen auf die Serververbindung, der Sie das native Modul hinzufügen möchten.

  3. Doppelklicken Sie auf der Startseite des Servers auf Module.
    Screenshot of five icons titled MIME Types, Modules, Output Caching, Server Certificates, and Worker Processes. The icon titled Modules is highlighted.

  4. Klicken Sie im Bereich Aktionen auf Native Module konfigurieren....

  5. Klicken Sie im Dialogfeld Native Module konfigurieren auf Registrieren....
    Screenshot of the Configure Native Modules dialog box.

  6. Geben Sie im Dialogfeld Natives Modul registrieren im Feld Name einen Namen für das native Modul ein.

  7. Geben Sie im Feld Pfad den Dateisystempfad des Speicherorts der DLL-Datei ein, oder klicken Sie auf die Schaltfläche Durchsuchen.
    Screenshot of the Path box showing the file system path and the name of the location of the . d d l file.

  8. Wählen Sie im Dialogfeld Native Module konfigurieren die Option für das native Modul aus, das Sie soeben registriert haben, klicken Sie auf OK, und klicken Sie dann erneut auf OK. Dadurch kann das systemeigene Modul ausgeführt werden und steht für Sites und Anwendungen auf Ihrem Webserver zur Verfügung.

    Hinweis

    Wenn Sie die Ausführung des nativen Moduls nicht aktivieren möchten, deaktivieren Sie die Option für das native Modul, und klicken Sie anschließend auf OK.

  9. Optional können Sie das native Modul sperren, wenn Sie verhindern möchten, dass es auf niedrigeren Ebenen im Konfigurationssystem außer Kraft gesetzt wird. Wählen Sie auf der Seite Module das Modul aus, und klicken Sie anschließend im Bereich Aktionen auf Sperren.

Aktivieren eines nativen Moduls

  1. Öffnen Sie Internetinformationsdienste-Manager (IIS-Manager):

    • Vorgehensweise unter Windows Server 2012 oder Windows Server 2012 R2:

      • Klicken Sie auf der Taskleiste auf Server-Manager > Tools > Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows 8 oder Windows 8.1:

      • Halten Sie die WINDOWS-TASTE gedrückt, drücken Sie den Buchstaben X, und klicken Sie dann auf Systemsteuerung.
      • Klicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Server 2008 oder Windows Server 2008 R2:

      • Klicken Sie auf der Taskleiste auf Start, zeigen Sie auf Verwaltung, und klicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
    • Vorgehensweise unter Windows Vista oder Windows 7:

      • Klicken Sie auf der Taskleiste auf Start und dann auf Systemsteuerung.
      • Doppelklicken Sie auf Verwaltung, und doppelklicken Sie dann auf Internetinformationsdienste-Manager (IIS-Manager).
  2. Navigieren Sie zu der Server-, Site- oder Anwendungsebene, die Sie verwalten möchten.

  3. Doppelklicken Sie auf der Startseite des Servers, der Site oder der Anwendung auf Module.

  4. Klicken Sie im Bereich Aktionen auf Native Module konfigurieren....

  5. Wählen Sie im Dialogfeld Native Module konfigurieren die Option für das native Modul aus, das Sie aktivieren möchten, und klicken Sie anschließend auf OK.
    Screenshot of the Configure Native Modules dialog box. The registered module titled UriCacheModule is selected.

Konfiguration

Das <globalModules>-Element enthält eine Sammlung von <add>-Elementen. Jedes Element in der Sammlung konfiguriert ein globales Modul für den Server.

Attribute

Keine

Untergeordnete Elemente

Element Beschreibung
add Optionales Element.

Fügt der Sammlung globaler Module ein natives Modul hinzu.
clear Optionales Element.

Entfernt alle Verweise auf native Module aus der Sammlung globaler Module.
remove Optionales Element.

Entfernt einen Verweis auf ein bestimmtes natives Modul aus der Sammlung globaler Module.

Konfigurationsbeispiel

Das folgende Beispiel zeigt einen <globalModules>-Abschnitt von IIS 7, der Einträge für alle Module enthält, die in der minimalen Installation des Webservers enthalten sind. Darüber hinaus enthält er einen Eintrag für das Modul BasicAuthenticationModule sowie einen weiteren Eintrag für das Drittanbietermodul 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>

Beispielcode

In den folgenden Beispielen wird ein natives Modul namens „ImageCopyrightModule“ in IIS 7 installiert und automatisch auf dem gesamten Server aktiviert.

AppCmd.exe

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

Sie können auch die folgende Syntax verwenden:

appcmd.exe set config -section:system.webServer/globalModules /+"[name='ImageCopyrightModule',image='%windir%\system32\inetsrv\imageCopyrightModule.dll']" /commit:apphost

Hinweis

Legen Sie den commit-Parameter auf apphost fest, wenn Sie „AppCmd.exe“ verwenden, um diese Einstellungen zu konfigurieren. Dadurch werden die Konfigurationseinstellungen auf den entsprechenden Speicherortabschnitt in der Datei „ApplicationHost.config“ festgelegt.

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