Freigeben über


Verwenden des Konfigurationsverlaufs mit IIS 7 und IIS 8

von Tobin Titus

Einführung

In IIS 6.0 hatten Administratoren ein Sicherheitsnetz, mit dem sie mühelos Änderungen an der IIS-Konfiguration ermitteln konnten. Es war als Verlaufsdatei implementiert, die einfach wiederhergestellt werden konnte, und fungierte als nutzbarer Verlauf von Ereignissen im Zusammenhang mit der Konfiguration. Im Falle eines Problems bei Anwendungsinstallationen, Upgrades oder einzelnen Änderungen an der Metabasis konnten Benutzer wieder einen funktionieren Zustand herstellen.

Das IIS-Team wollte dieses Sicherheitsnetz auch in IIS 7.0 und höheren Versionen bereitstellen. Aufgrund von Änderungen an der Konfigurationsarchitektur konnte das Verlaufsfeature von IIS 6.0 aber nicht mehr verwendet werden. Zur Behebung dieses Problems haben wir in IIS 7.0 und höheren Versionen einen Dienst erstellt, der das System auf Änderungen an der Masterkonfigurationsdatei „ApplicationHost.config“ überwacht und in regelmäßigen Abständen Momentaufnahmen erstellt, die später bei Bedarf abgerufen werden können.

Dieses Feature wird als IIS-Konfigurationsverlauf bezeichnet. In dieser exemplarischen Vorgehensweise erfahren Sie, wie es funktioniert.

Aufgabe 1: Überprüfen der Standardkonfigurationseinstellungen des Konfigurationsverlaufs

In dieser Aufgabe überprüfen Sie die Konfigurationsoptionen, die nach einer IIS-Standardinstallation verfügbar sind. Später ändern Sie einige dieser Einstellungen, um zu zeigen, wie flexibel sich das Feature an die Umgebung anpassen lässt.

Schritt 1: Öffnen von „applicationHost.config“

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie unter Öffnen: die Zeichenfolge „notepad“ ein, und klicken Sie anschließend auf OK.
    Screenshot showing the I I S Configuration History Run menu. The menu entry notepad is highlighted.
    Abbildung 1: Öffnen der Konfiguration über den Editor
  2. Klicken Sie auf Datei > Öffnen, und geben Sie unter Dateiname: den Dateinamen %windir%\system32\inetsrv\config\applicationHost.config ein. Klicken Sie auf „Open“.
    Screenshot showing the I I S Configuration Open menu. The File name dialog box entry is highlighted.
    Abbildung 2: Pfad von „ApplicationHost.config“
  3. Drücken Sie STRG+F, geben Sie „configHistory“ ein, und klicken Sie auf Weitersuchen, um zum Abschnitt „configHistory“ zu gelangen.

Nach dem Öffnen der Masterdatei wird ein Eintrag wie der folgende für „configHistory“ angezeigt:

<sectionGroup name"system.applicationHost>
    <section name="applictionPools" allowDefinition="AppHostOnly" overrideMode="Deny" />
    <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />
    <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 
    <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 
    <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 
    <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 
    <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> 
</sectionGroup>

Beachten Sie, dass „applicationHost.config“ keine weiteren Einstellungen für dieses Feature enthält. Das ist normal, da IIS standardmäßig die im IIS-Schema gespeicherten Werte verwendet. Öffnen Sie zum Anzeigen der Standardeinstellungen die IIS-Schemadatei (IIS_schema.xml.)

Schritt 2: Suchen nach den configHistory-Standardeinstellungen im IIS-Schema

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie unter Öffnen: die Zeichenfolge „notepad“ ein, und klicken Sie anschließend auf OK.

  2. Klicken Sie auf Datei > Öffnen, und geben Sie unter Dateiname: den Dateinamen %windir%\system32\inetsrv\config\schema\iis\_schema.xml ein.
    Screenshot showing the I I S schema file in Notepad, containing the configHistory default settings.
    Abbildung 3: IIS-Schema – Drücken Sie STRG+F, und geben Sie „configHistory“ ein, um nach dem Abschnitt „configHistory“ zu suchen.

  3. Unter Windows Server® 2008 wird Folgendes angezeigt:
    Screenshot showing the I I S schema file on Windows Server 2008. The default configHistory schema is highlighted.

    Abbildung 4: configHistory-Schemadefinition

    Es gibt vier konfigurierbare Einstellungen (Attribute) für den Abschnitt „configHistory“:

    Attribut Standardeinstellung Definition
    enabled True Dieser Wert gibt an, ob der Konfigurationsverlauf aktiviert oder deaktiviert ist.
    path %systemdrive%\inetpub\history Der Pfad, unter dem Verlaufsverzeichnisse erstellt und gespeichert werden.
    maxHistories 10 Die maximale Anzahl von Verzeichnissen, die gespeichert werden.
    period 00:02:00 Die Zeit zwischen den einzelnen Überprüfungen auf Änderungen.

Zusammenfassung

Diese Aufgabe ist zwar relativ einfach, aber trotzdem wichtig. Sie bietet einen direkten Einblick in Konfigurationsattribute, die für den Abschnitt „configHistory“ verfügbar sind. Diese Einstellungen werden später geändert, um die Flexibilität der Features basierend auf der Umgebung zu veranschaulichen.

Aufgabe 2: Vergewissern, dass die configHistory-Funktion ordnungsgemäß funktioniert

Ziel dieser Aufgabe ist es, den Konfigurationsverlauf in Aktion zu sehen. Erfahrenen Administratoren, die mit dem Metabasisverlauf von IIS 6.0 vertraut sind, hilft diese Aufgabe außerdem dabei, die Unterschiede zwischen den beiden Features kennenzulernen.

Der Metabasisverlauf war dateibasiert. Der Konfigurationsverlauf ab IIS 7.0 ist dagegen verzeichnisbasiert. In IIS 6.0 wurden beispielsweise alle Sicherungen am gleichen Speicherort gespeichert, und dieser war nicht anpassbar. Ab IIS 7.0 wird jede individuelle Kopie zur Erstellungszeit in einem eigenen Verzeichnis gespeichert. In dieser Aufgabe nehmen Sie mithilfe des IIS-Managers einige Änderungen an der IIS-Konfigurationsdatei vor und überprüfen die Ergebnisse dieser Änderungen.

Schritt 1: Erstellen einer Website

  1. Klicken Sie auf Start > Ausführen, geben Sie „Inetmgr“ ein, und klicken Sie auf OK.
    Screenshot showing adding a server name in the I I S Manager Open menu.
    Abbildung 5: Öffnen des IIS-Managers – Doppelklicken Sie auf den Namen Ihres Servers (z. B. „IIs7Server“), um die Navigationsstruktur zu erweitern.

  2. Klicken Sie mit der rechten Maustaste auf den Server, und wählen Sie „Website hinzufügen“ aus.
    Screenshot showing the I I S Manager navigation tree window and the Add Web Site menu option. The I I S 7 Server is highlighted.
    Abbildung 6: Hinzufügen einer Website

  3. Geben Sie im Assistenten Website hinzufügen Informationen für die Erstellung einer neuen Website ein. Zum Beispiel:
    Screenshot showing the Add Web Site wizard window. The window contains sample information to create a new website.
    Abbildung 7: Assistent zum Hinzufügen einer Website

  4. Klicken Sie auf OK.

  5. Die neu erstellte Website wird nun im IIS-Manager angezeigt, wie in der folgenden Abbildung zu sehen:
    Screenshot showing a new website homepage, in the I I S Manager. The new website, MyWebSite Home, is highlighted in the navigation tree.
    Abbildung 8: Startseite des IIS-Managers

    Als Nächstes überprüfen wir, ob vom Anwendungshost-Hilfsdienst erfolgreich eine Sicherung der Konfigurationsänderungen erstellt wurde.

Schritt 2: Suchen nach Verlaufsdateien für „applicationHost.config“

Hinweis

Ihre Kopie wird wahrscheinlich nicht unmittelbar nach den folgenden Schritten angezeigt. Das liegt an dem Standardwert von zwei Minuten. Sollte keine Kopie erstellt worden sein, vergewissern Sie sich, dass Sie zwei Minuten gewartet haben.

  1. Klicken Sie auf Start > Ausführen, und öffnen Sie %systemdrive%\inetpub\history.
    Screenshot showing the i net pub window. The history folder is highlighted.
    Abbildung 9: Standardpfad für den Konfigurationsverlauf

  2. Doppelklicken Sie auf den Verlaufsordner, und suchen Sie nach der neuesten Änderung.
    Screenshot showing the history folder and most recent change of ApplicationHost dot config.
    Abbildung 10: Verlaufsdatei von „ApplicationHost.config“

    Hinweis

    Sollten Sie Ihre Kopie nicht im Verlaufsordner finden, überprüfen Sie, ob der Anwendungshost-Hilfsdienst ausgeführt wird. Überprüfen Sie die Ereignisanzeige auf mögliche Fehler, die von „IIS-AppHstSvc“ ausgelöst wurden.

Screeshot showing the Services window, with Application Host Helper Service highlighted.
Abbildung 11: Anwendungshost-Hilfsdienst

Zusammenfassung

In dieser Aufgabe haben wir einige Schritte unternommen, um die Funktionsweise des IIS-Konfigurationsverlaufs zu verstehen. Zunächst haben wir Änderungen an „ApplicationHost.config“ vorgenommen, wodurch der Anwendungshost-Hilfsdienst zur Erstellung einer Kopie im nächsten geplanten Zeitraum veranlasst wurde. Darüber hinaus haben wir nach der Kopie gesucht und uns vergewissert, dass sie erfolgreich in %systemdrive%\inetpub\history erstellt wurde.

Aufgabe 3: Ändern der Anzahl gespeicherter Verzeichnisse (maxHistories) und der Zeitraumattribute

Ziel dieser Aufgabe ist es, die Anzahl der Verlaufsdateien zu ändern, die ab IIS 7.0 gespeichert werden. Da die Standardeinstellungen im Schema gespeichert sind, müssen wir in „applicationHost.config“ den Abschnitt „configHistory“ erstellen und die entsprechenden Attribute sowie Werte für die Attribute „maxHistories“ und „period“ hinzufügen.

Verwenden Sie in dieser Aufgabe den Editor, um dieses Attribut zu ändern. Dies zeigt, wie flexibel und einfach „ApplicationHost.config“ bearbeitet werden kann.

Schritt 1: Öffnen von „applicationHost.config“

  1. Klicken Sie auf Start, klicken Sie auf Ausführen, geben Sie unter Öffnen: die Zeichenfolge „notepad“ ein, und klicken Sie anschließend auf OK.
  2. Klicken Sie auf Datei > Öffnen, geben Sie unter Dateiname: den Dateinamen %windir%\system32\inetsrv\config\applicationHost.config ein, und klicken Sie anschließend auf Öffnen.

Der nächste Schritt besteht darin, den Konfigurationsabschnitt und dann das Attribut mit Wert hinzuzufügen.

Schritt 2: Hinzufügen des Abschnitts „configHistory“ und Hinzufügen von „maxHistory“

  1. Drücken Sie STRG+F, und geben Sie „system.applicationHost“ ein, um nach dem Abschnitt „configHistory“ zu suchen.
    Screenshot showing the Find dialog box to locate the configHistory section. The dialog box entry system.applicationHost is highlighted.
    Abbildung 12: Suchen nach der Abschnittsgruppe „system.applicationHost“

  2. Nachdem Sie sich nun im richtigen Abschnitt befinden, können Sie das korrekte Attribut und den zugehörigen Wert für „maxHistory“ hinzufügen. Geben Sie in der Abschnittsgruppe „system.applicationHost“ den folgenden Text ein:

    <configHistory maxHistories="15" />
    

Hinweis

Lassen Sie den Editor nach Abschluss dieser Aufgabe geöffnet, um im nächsten Schritt Zeit zu sparen.

Überprüfen Sie zuletzt, ob die Änderung durchgeführt wurde. Wir wissen, dass gemäß Definition im IIS-Schema standardmäßig nur maximal zehn Verzeichnisse vorhanden sind.

Nachdem wir die von IIS verwendeten Maximalwerte erhöht haben, benötigen wir eine einfache Methode, um die Erstellung vieler Verzeichnisse auszulösen. Um dies zu simulieren, verringern wir den Standardwert für das Zeitraumattribut auf den standardmäßigen Mindestwert von zehn Sekunden. Dadurch wird das Intervall für die Überprüfung auf Änderungen erhöht, was in einer dynamischen Umgebung potenziell die Erstellung von mehr Kopien der Dateien zur Folge hat.

Schritt 3: Festlegen des Zeitraumattributs für den Konfigurationsverlauf

  1. Fügen Sie unter Verwendung der vorherigen Sitzung das folgende Zeitraumattribut hinzu: period="00:00:10".
  2. Klicken Sie auf Datei > Speichern, um die Änderungen zu übernehmen.

Nach Abschluss des Vorgangs sieht der Abschnitt „configHistory“ wie folgt aus:

<configHistory maxHistories="15" period="00:00:10" />

Schritt 4: Ausführen eines Skripts, um einen Verlauf zu erstellen

  1. Öffnen Sie den Editor. Kopieren Sie Folgendes, und fügen Sie es ein:

    Option Explicit 
    
    ' Global objects, variables
    Dim objShell, argObj, oExec
    Dim strDirectory, strFile, strCmd, strFullCmd, stdIn, i
    
    set objShell = CreateObject("Wscript.Shell")
    strDirectory = "%windir%\system32\inetsrv\" 
    strFile = "AppCmd.exe"
    
    set ArgObj = Wscript.Arguments
    
    ' No args (default case), hard-code StdIn
    If ArgObj.Count = 0 Then 
    stdIn = 17
    
    i = 0 'initilize i
    
    For i = 0 to stdIn 
    ' Call Select Case to change Statement 
    strCmd = getStrCmd(i)
    strFullCmd = strDirectory & strFile & " " & strCmd
    
    Set oExec = objShell.Exec(strFullCmd) 
    
    Do While oExec.Status = 0
    WScript.Sleep 100
    Loop 
    
    If oExec.ExitCode <> 0 Then 
    ' Something wrong with the IIS Installation
    
    ' Is AppCmd installed on the machine? \inetsrv directory?
    msgBox "Executing AppCmd Command Failed. Please Try Again!"
    
    wscript.Quit
    End if 
    
    WScript.Sleep(2 * 1000)
    
    Next 
    
    ' Handle the case where we passed arguments to
    ' the script
    
    Else 
    stdIn = ArgObj(0)
    
    ' Same code as above but handle arguments being passed.
    
    i = 0 ' initialize i
    
    For i = 0 to stdIn 
    ' Call Select Case to change Statement
    strCmd = getStrCmd(i)
    strFullCmd = strDirectory & strFile & " " & strCmd
    
    Set oExec = objShell.Exec(strFullCmd)
    
    Do While oExec.Status = 0
    WScript.Sleep 100
    Loop 
    
    ' Validate that AppCmd calls succeeded by checking Error code
    If oExec.ExitCode <> 0 Then 
    ' Something wrong with the IIS Installation
    ' Is AppCmd installed on the machine? \inetsrv directory?
    msgBox "Executing AppCmd Command Failed. Please Try Again!"
    wscript.Quit
    End if 
    
    ' Go to sleep for x period (default: 20)
    WScript.Sleep(20 * 1000)
    
    Next 
    
    ' End the StdIn Input Tree
    
    End if 
    
    ' AppCMD Command Function 
    Function getStrCmd(MyIndex)
    Select Case (MyIndex)
    Case 0 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:false"
    Case 1 ' set Default Document
    getStrCmd = "set config /section:defaultDocument /enabled:true"
    Case 2 'set httpRedirect
    getStrCmd = "set config /section:httpRedirect /enabled:true"
    Case 3 ' set Client Certificate Mapping Auth
    getStrCmd = "set config /section:security/authentication/clientCertificateMappingAuthentication /enabled:true"
    Case 4 ' set Directory Browse
    getStrCmd = "set config /section:directoryBrowse /enabled:true"
    Case 5 ' set httpRedirect
    getStrCmd = "set config /section:httpRedirect /enabled:false" 
    Case 6 ' set anonymousAuth
    getStrCmd = "set config /section:security/authentication/anonymousAuthentication /enabled:false"
    Case 7 ' set basicAuth
    getStrCmd = "set config /section:security/authentication/basicAuthentication /enabled:true"
    Case 8 ' set digestAuth
    getStrCmd = "set config /section:security/authentication/digestAuthentication /enabled:true"
    Case 9 ' set client cert mapping auth
    getStrCmd = "set config /section:security/authentication/clientCertificateMappingAuthentication /enabled:false"
    Case 10 ' set windows auth
    getStrCmd = "set config /section:security/authentication/windowsAuthentication /enabled:true"
    Case 11 ' server runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    Case 12 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:false"
    Case 13 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    Case 14 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    Case 15 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    Case 16 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    Case 17 ' set Server Runtime
    getStrCmd = "set config /section:serverRuntime /enabled:true"
    
    End select 
    End Function
    
  2. Speichern Sie dies als „ConfigHst.vbs“. (Wählen Sie dabei „Alle Dateien“ aus, um die Datei nicht als Textdatei zu speichern.)
    Screenshot showing the Save As window.
    Abbildung 13: Speichern des VBS-Skripts

  3. Führen Sie diese VBS-Datei aus, indem Sie eine Eingabeaufforderung öffnen, zum Speicherort der Datei navigieren und Folgendes eingeben:

    cscript //nologo configHst.vbs
    

    Dieses Skript führt Aufrufe durch, um die Konfiguration von IIS alle 15 Sekunden zu ändern. Dies ist genügend Zeit für den Konfigurationsverlauf, um nach Änderungen zu suchen und eine Sicherung zu erstellen. Nach Abschluss dieses Vorgangs enthält unser Sicherungsverzeichnis eine Vielzahl von Konfigurationssicherungen.

  4. Öffnen Sie als Nächstes den Standardpfad für den Konfigurationsverlauf, indem Sie auf Start > Ausführen klicken und %systemdrive%\inetpub\history eingeben.

  5. Es wird ein Sicherungsordner wie „CFGHISTORY_0000001“, „CFGHISTORY_0000002“ usw. angezeigt.

Nach dem Ausführen dieses Skripts sehen Sie, dass dieses Feature beim Erreichen der Obergrenze (maxHistories) das älteste Element löscht. In unserem Fall wurde nach Erreichen von „CFGHISTORY_0000000015“ das älteste Element gelöscht, bevor das 16. Verzeichnis erstellt wurde.

Screenshot showing the history directory window.
Abbildung 14: Verlaufsverzeichnis mit dem maxHistories-Wert „15“

Zusammenfassung

In dieser Aufgabe haben wir erfolgreich die Anzahl der von IIS gespeicherten Sicherungen geändert. Die Standardeinstellung „10“ ist meist ausreichend. In dynamischen Umgebungen wie freigegebenen Hostingservern, bei denen sich Kunden zufällig und oft für Websites registrieren, ist es dagegen von Vorteil, über einen ausführlicheren Verlauf zu verfügen.

In dieser Aufgabe haben wir die Attribute „maxHistories“ und „period“ für den Abschnitt „configHistory“ geändert und dann mehrere Änderungen erstellt, um zu zeigen, dass mehr als zehn Kopien (Standardeinstellung) gespeichert wurden.

Aufgabe 4: Ändern des Standardpfads für die Speicherung von configHistory-Sicherungen

Die Anzahl der von IIS gespeicherten Verlaufsverzeichnisse und zugehörigen Dateien kann je nach Umgebung flexibel konfiguriert werden. In vielen Fällen ist es nicht wünschenswert, die Verlaufsdateien am Systempfad (%systemdrive%inetpub\history) zu speichern. Im Gegensatz zum Verlauf in IIS 6.0, bei dem kein konfigurierbarer Mechanismus für den Konfigurationsverlauf verfügbar war, bietet der Konfigurationsverlauf ab IIS 7.0 jetzt die Möglichkeit, den Speicherort der Verlaufsverzeichnisse und -dateien zu ändern.

In dieser Aufgabe wird die IIS-Befehlszeilenschnittstelle verwendet, um die Konfiguration zu ändern. Das Ziel dieser Aufgabe ist nicht nur, den Pfad für Konfigurationsverlaufsverzeichnisse zu ändern, sondern auch, sich mit „AppCmd.exe“ (der IIS-Befehlszeilenschnittstelle für Konfigurations- und Runtimedaten) vertraut zu machen.

Schritt 1: Erstellen des Verzeichnisses für den Verlauf

  1. Klicken Sie auf Start, wählen Sie Ausführen aus, geben Sie CMD ein, und klicken Sie auf OK.

  2. Erstellen Sie Ihr Verzeichnis über die Eingabeaufforderung, indem Sie Folgendes eingeben:

    md MyWebHistory

Dieser Schritt ist erforderlich, da das Verzeichnis nicht automatisch erstellt wird. Wenn Sie diesen Schritt nicht ausführen, wird Folgendes angezeigt:
Screenshot showing the Event Properties information window.
Abbildung 15: Ereignismeldung bei unzureichenden Berechtigungen für den Verlaufspfad

Schritt 2: Suchen nach „AppCmd.exe“

  1. Klicken Sie auf Start, wählen Sie Ausführen aus, geben Sie CMD ein, und klicken Sie auf OK.

  2. Wechseln Sie über die Eingabeaufforderung das Verzeichnis, indem Sie Folgendes eingeben:

    Cd %windir%\system32\inetsrv
    
  3. Geben Sie Folgendes ein, um sich mit der Syntax von AppCmd vertraut zu machen:

    Appcmd /?
    

Ändern Sie an diesem Punkt den Wert für das Pfadattribute in einen Wert, der in Ihrer Umgebung besser geeignet ist. Ändern Sie ihn in diesem Fall in ein benutzerdefiniertes Verzeichnis auf der Systempartition: %systemdrive%\MyWebHistory.

Hinweis

Diese Daten müssen oftmals auf eine separate Partition oder besser noch auf ein Laufwerk an einem anderen Controller (z. B. „D:“) verschoben werden. Ändern Sie den Pfadwert mithilfe von AppCmd: -

Schritt 3: Ändern des Pfadwerts für den Konfigurationsverlauf

  1. Um sich weiter mit „AppCmd.exe“ vertraut zu machen, öffnen Sie eine Eingabeaufforderung, und geben Sie Folgendes ein:

    Appcmd set config –section:?
    

    Mithilfe dieses Befehls erfahren Sie, wie Sie die derzeit verfügbaren Abschnitte überprüfen, die bearbeitet werden können.

    Appcmd list config –section:configHistory –config:*
    

    Dieser Befehl hilft Ihnen dabei, sich mit den aktuell festgelegten Attributen und Werten des Systems vertraut zu machen.

  2. Führen Sie nun den folgenden Befehl aus, um das Pfadattribut von der Standardeinstellung %systemdrive%inetpub\history in %systemdrive%MyWebHistory zu ändern:

    Appcmd set config -section:configHistory –path:"%systemdrive%MyWebHistory"
    
  3. Geben Sie zum Überprüfen der Änderung Folgendes ein, und vergewissern Sie sich, dass „maxHistories“ und „period“ korrekt festgelegt sind.

<configHistory maxHistories="15" period="00:00:10" path="%systemdrive%\MyWebHistory" />

Sie sehen Folgendes:
Screenshot of the Administrator Command console.
Abbildung 16: Auflisten der Konfiguration mithilfe von AppCmd

Abschließend erstellen wir Änderungen an der Konfiguration, die dazu führen, dass eine Sicherung ausgelöst wird. Beachten Sie den neuen Speicherort für die Verzeichnisse und Dateien.

Schritt 4: Erneutes Ausführen des vorherigen Skripts

  • Führen Sie „ConfigHst.vbs“ aus, indem Sie Folgendes eingeben:
cscript //nologo configHst.vbs

Wenn Sie %systemdrive%\MyWebHistory überprüfen, werden mehrere Verzeichnisse mit Ordnernamen wie „CFGHISTORY_0000001“, CFGHISTORY_0000002“ usw. angezeigt.

Zusammenfassung

Es empfiehlt sich, wichtige flüchtige Daten von der Systempartition des Servers (standardmäßig %systemdrive%) auf andere Partitionen oder Laufwerke zu verschieben. In dieser Aufgabe haben Sie erfolgreich den Zielspeicherort für die Verzeichnisse des IIS-Konfigurationsverlaufs geändert.

Aufgabe 5: Wiederherstellen der Konfiguration aus einer Sicherungsdatei

Ein Verlaufsfeature, das keine Möglichkeit bietet, eine zuvor funktionierende Konfiguration wiederherzustellen, wäre nicht besonders hilfreich. Der Zweck dieser Aufgabe besteht darin, Sie durch eine manuelle Wiederherstellung auf der Grundlage einer Kopie Ihrer zuvor erstellten Konfiguration zu führen.

Schritt 1: Auflisten der verfügbaren Sicherungen

  1. Klicken Sie auf Start > Ausführen, geben Sie CMD ein, und klicken Sie auf OK.
  2. Wechseln Sie mithilfe des folgenden Befehls zum Verzeichnis „inetsrv“: cd %windir%\system32\inetsrv.
  3. Geben Sie Folgendes ein, um den aktuell konfigurierten Pfad für den Abschnitt „configHistory“ abzurufen:
appcmd list backups

Dieser Befehl listet die verfügbaren Sicherungen auf – einschließlich manueller Sicherungen, die mit dem Befehl „appcmd add backup“ erstellt wurden, sowie Sicherungen, die vom Konfigurationsverlaufsdienst erstellt wurden. Sie können den Befehl „appcmd restore backup“ verwenden, um eine beliebige dieser Sicherungen wiederherzustellen, wie im nächsten Schritt gezeigt.

Schritt 2: Wiederherstellen der Sicherung

Nachdem Sie die Sicherungen gemäß der Anleitung aus dem vorherigen Schritt aufgelistet haben, können Sie die Sicherung auswählen, die Sie wiederherstellen möchten, und sie mithilfe des folgenden Befehls wiederherstellen:

appcmd restore backup NAME DER SICHERUNG

Dabei ist NAME DER SICHERUNG eine der in Schritt 1 aufgeführten Sicherungen (z. B. „CFGHISTORY_0000000016“).

Sie können die Konfigurationsdateien auch manuell im Sicherungsordner durchsuchen, um zu entscheiden, welche Sicherung Sie wiederherstellen möchten:

Klicken Sie auf Start > Ausführen, geben Sie CMD ein, und klicken Sie auf OK.

  1. Verwenden Sie die Informationen aus dem obigen Schritt 1, um zum Verlaufsverzeichnis zu wechseln.
  2. Verwenden Sie den Windows-Befehl „findstr“, um die gesuchte Änderung zu finden. Suchen Sie in diesem Fall nach der Konfiguration, bei der „directoryBrowse“ auf „false“ festgelegt ist.
Findstr /S /I /C:"directoryBrowse enabled=\"false\"" *.config

Dadurch werden das aktuelle Verzeichnis und alle Unterverzeichnisse nach Vorkommen durchsucht, in denen die Zeichenfolge „directoryBrowse“ gleich „false“ ist. Es wird nur ein einzelnes Element (z. B. „CFGHISTORY_0000000016“) zurückgegeben. Somit wissen wir, was wiederhergestellt wird.

Zusammenfassung

In dieser Aufgabe haben wir eine Verlaufskopie gefunden und wiederhergestellt. Diese Aufgabe ist die wichtigste Veranschaulichung des Konfigurationsverlaufs, da sie es ermöglicht, ganz einfach ein Rollback auf eine zuvor funktionierende Konfiguration durchzuführen.