Das Utility appcmd.exe von IIS für den Export und Import von Applicationpool und Sites

IIS appcmd WebSite Export Import

()

Das Utility appcmd.exe von IIS für den Export und Import von Applicationpool und WebSites

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, Server 2012 und Server 2016 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 IIS Utility appcmd.exe, für den Import und Export von WebSites. Mit appcmd ist es möglich 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.

Weitere Anwendungsmöglichkeit mit appcmd

Eine weitere Anwendungsmöglichkeit ist das Clonen von WebSites, dabei können einzelne WebSites und die dazugehörenden Anwendungspools exportiert werden, nach dem Export mit appcmd 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.

So wird’s gemacht

Hierzu öffnet man eine Eingabeaufforderung mit Win+Rcmd und lässt nach dem beenden des WWW-Publishingdienst folgende appcmd Befehle ausführen.

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

Beschreibung der Funktionen

  • Zeile 3  exportiert den Anwendungspool MicrosoftDynamicsAXAif50 in Datei myapppool.xml im Temp Ordner des aktuellen Benutzers.
  • Und Zeile 4 exportiert die Site AifWebServices in aifwebservices.xml.
  • Mit der Zeile 5 wird aifwebservices.xml in den Editor geladen, um Site Name und Site Id zu ändern.
  • Bei Zeile 7 und 8 werden die angepassten XML Dateien importiert.

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.

Die Optionen von appcmd

Folgende Übersicht zeigt die von appcmd unterstützten Optionen

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'.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert