Hinzufügen globaler Module <add>
Übersicht
Das <add>
-Element der <globalModules>
-Sammlung gibt ein einzelnes globales Modul an, das dem Webserver hinzugefügt werden soll.
Kompatibilität
Version | Hinweise |
---|---|
IIS 10.0 | Das <add> -Element wurde in IIS 10.0 nicht geändert. |
IIS 8.5 | Das <add> -Element wurde in IIS 8.5 nicht geändert. |
IIS 8.0 | Das <add> -Element wurde in IIS 8.0 nicht geändert. |
IIS 7.5 | Das <add> -Element wurde in IIS 7.5 nicht geändert. |
IIS 7.0 | Das <add> -Element der <globalModules> -Sammlung 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
Ö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).
Klicken Sie im Bereich Verbindungen auf die Serververbindung, der Sie das native Modul hinzufügen möchten.
Doppelklicken Sie auf der Startseite des Servers auf Module.
Klicken Sie im Bereich Aktionen auf Native Module konfigurieren....
Klicken Sie im Dialogfeld Native Module konfigurieren auf Registrieren....
Geben Sie im Dialogfeld Natives Modul registrieren im Feld Name einen Namen für das native Modul ein.
Geben Sie im Feld Pfad den Dateisystempfad des Speicherorts der DLL-Datei ein, oder klicken Sie auf die Schaltfläche Durchsuchen.
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.
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
Ö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).
Navigieren Sie zu der Server-, Site- oder Anwendungsebene, die Sie verwalten möchten.
Doppelklicken Sie auf der Startseite des Servers, der Site oder der Anwendung auf Module.
Klicken Sie im Bereich Aktionen auf Native Module konfigurieren....
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.
Konfiguration
Jedes <add>
-Element in der <globalModules>
-Sammlung muss ein name-Attribut enthalten, das das Modul identifiziert, und ein image-Attribut, das auf die DLL verweist, die das Modul implementiert.
Attribute
Attribut | Beschreibung | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
image |
Erforderliches Zeichenfolgenattribut. Gibt den physischen Pfad der DLL-Datei für das globale Modul an. Der Attributwert wird erweitert, wenn Umgebungsvariablen wie „%windir%“ verwendet werden. |
||||||||||||||
name |
Erforderliches Zeichenfolgenattribut. Gibt den Namen des globalen Moduls an. |
||||||||||||||
preCondition |
Optionales Zeichenfolgeattribut. Gibt Bedingungen an, unter denen das globale Modul ausgeführt wird. Das preCondition-Attribut kann einen oder mehrere der folgenden Werte haben. Wenn Sie mehrere Werte angeben möchten, trennen Sie die einzelnen Werte jeweils durch ein Komma (,).
|
Untergeordnete Elemente
Keine.
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()