Der IIS-Manager ist die Verwaltungskonsole der Windows Internet Informationsdienste und ermöglicht die Verwaltung von Sites und Anwendungspools. Der IIS-Manager (inetmgr) unter Windows Server 2008 R2 und Server 2012 bietet jedoch mehr als die per GUI bereitgestellten Funktionen, einige für die Verwaltung wichtige Funktionen stehen nur als CLI Version zur Verfügung, unter %windir%\system32\inetsrv\ befindet sich das Utility appcmd.exe, mit diesem es möglich ist die Konfiguration, oder teile davon zu exportieren und zu importieren. Dadurch bietet sich die Möglichkeit Applicationpool und Sites auf andere IIS-Hosts zu übertragen, beispielsweise für IIS im Load-Balanced Betrieb, sollte keine SharePoint Farm zur Anwendung kommen.
Eine weitere Anwendungsmöglichkeit ist das Clonen von WebSites, dabei können einzelne WebSites und die dazugehörenden Anwendungspools exportiert werden, nach dem Export muss lediglich der SITE NAME und SITE ID in einem Editor geändert werden.
Hier in diesem Beispiel werden die WebServices des AIF Connectors für Dynamics AX kopiert um eine weitere Business Connector Instanz zu erstellen, hier mit neuem SITE.NAME=“AifWebServiceProd“ und mit der SITE.ID=“3″, die Site Id kann eine beliebige Zahl sein, darf jedoch in applicationHost.config noch nicht existieren.
Hierzu öffnet man eine Eingabeaufforderung mit +R=cmd und lässt nach dem beenden des WWW-Publishingdienst folgende appcmd Befehle ausführen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
C:\> net stop WAS %windir%\system32\inetsrv\appcmd list apppool "MicrosoftDynamicsAXAif50" /config /xml > %tmp%\myapppool.xml %windir%\system32\inetsrv\appcmd list site "AifWebServices" /config /xml > %tmp%\aifwebservices.xml notepad %tmp%\aifwebservices.xml %windir%\system32\inetsrv\appcmd add apppool /in < %tmp%\myapppool.xml %windir%\system32\inetsrv\appcmd add site /in < %tmp%\aifwebservices.xml net start W3SVC |
Zeile 4 exportiert den Anwendungspool MicrosoftDynamicsAXAif50 in Datei myapppool.xml im Temp Ordner des aktuellen Benutzers.
Zeile 6 exportiert die Site AifWebServices in aifwebservices.xml.
Zeile 8 öffnet aifwebservices.xml in den Editor um Site Name und Site Id zu ändern. Zeile 10 und 12 importiert die angepassten XML Dateien.
Nach dem Start von W3SVC und aktualisieren des IIS-Managers erscheint die Site und der AppPool im Bereich Features, der Anwendungspool der neuen Site kann im Fenster Aktionen bei Grundeinstellungen über den Button Auswählen zugewiesen werden. Auch der Physikalische Pfad des Virtuellen Verzeichnis kann jetzt ggf. angepasst werden. Bei Bindungen sollte ein noch nicht genutzter Port gewählt werden, oder man verwendet ein hostheader Name.
Folgende Übersicht zeigt die von appcmd unterstützten Optionen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
APPCMD (Befehl) (Objekttyp) <ID> </Parameter1:Wert1 ...> Unterstützte Objekttypen: SITE Verwaltung von virtuellen Sites APP Verwaltung von Anwendungen VDIR Verwaltung von virtuellen Verzeichnissen APPPOOL Verwaltung von Anwendungspools CONFIG Verwaltung allgemeiner Konfigurationsabschnitte WP Verwaltung von Arbeitsprozessen REQUEST Verwaltung von HTTP-Anforderungen MODULE Verwaltung von Servermodulen BACKUP Verwaltung von Serverkonfigurationssicherungen TRACE Arbeiten mit Ablaufverfolgungsprotokollen für Anforderungsfehler BINDING Objekt zum Arbeiten mit SSL-Bindungen (Rufen Sie mit '/?' eine Liste der vom entsprechenden Objekt unterstützten Befehle auf, z. B. 'appcmd.exe site /?'.) Allgemeine Parameter: /? Kontextbezogene Hilfemeldung anzeigen /text<:value> Ausgabe im Textformat generieren (Standard) /text:* Alle Objekteigenschaften in der Detailansicht anzeigen /text:<attribute> Wert des angegebenen Attributs für jedes Objekt anzeigen /xml Ausgabe im XML-Format generieren Hiermit generieren Sie eine Ausgabe, die an einen anderen Befehl im '/in'-Modus übergeben werden kann. /in oder - XML-Eingabe von der Standardeingabe lesen und verarbeiten Hiermit verarbeiten Sie von einem anderen Befehl im '/xml'-Modus generierte Eingaben. /config<:*> Konfiguration für die angezeigten Objekte anzeigen /config:* umfasst auch geerbte Konfigurationen. /metadata Konfigurationsmetadaten bei der Konfigurationsanzeige anzeigen /commit Konfigurationspfad zum Speichern von Konfigurationsänderungen festlegen Sie können einen bestimmten Konfigurationspfad wie 'site', 'app', 'parent' oder 'url' angeben, um den entsprechenden Teil des vom Befehl bearbeiteten Pfads zu speichern, oder 'apphost', 'webroot' oder 'machine' für die entsprechende Konfigurationsebene angeben. /apphostconfig Alternative Datei 'applicationHost.config' zur Bearbeitung angeben /debug Debugginginformationen für die Befehlsausführung anzeigen Verwenden Sie das Ausrufezeichen '!', um Parameter anzugeben, die denselben Namen haben wie die allgemeinen Parameter, beispielsweise '/!debug:value' zum Festlegen einer Konfigurationseigenschaft mit dem Namen 'debug'. |