So konfigurieren Sie WebDAV-Einstellungen mit AppCmd
von Robert McMurray
Einführung
Microsoft hat ein neues WebDAV-Erweiterungsmodul veröffentlicht, das für Internetinformationsdienste 7.0 (IIS 7.0) unter Windows Server® 2008 vollständig umgeschrieben wurde. Dieses neue WebDAV-Erweiterungsmodul enthält viele neue Features, mit denen Webautoren Inhalte besser veröffentlichen können als zuvor, und bietet Webadministratoren mehr Sicherheits- und Konfigurationsoptionen. Microsoft hat ein Update für das WebDAV-Erweiterungsmodul für Windows Server® 2008 veröffentlicht, das geteilte und exklusive Sperren unterstützt, um verlorene Updates aufgrund von Überschreibungen zu verhindern.
Dieses Dokument führt Sie durch die Verwendung des neuen Hilfsprogramms AppCmd.exe in IIS 7.0 zum Konfigurieren von WebDAV-Einstellungen über ein Befehlszeilen- oder Batchskript.
Voraussetzungen
Die folgenden Elemente sind erforderlich, um die Verfahren in diesem Artikel abzuschließen:
IIS 7.0 muss auf Ihrem Server installiert sein, und es muss Folgendes konfiguriert werden:
- Die Standardwebsite, die von der IIS 7.0-Installation erstellt wird, muss weiterhin vorhanden sein.
Das neue WebDAV-Erweiterungsmodul muss installiert werden. Informationen zur Installation des neuen WebDAV-Moduls finden Sie im folgenden Dokument:
Hinweis
Sie müssen sicherstellen, dass Sie die Schritte in diesem Dokument mit vollständigen Administratorberechtigungen ausführen. Wählen Sie dazu eine dieser beiden Möglichkeiten:
- Melden Sie sich mit dem lokalen "Administrator"-Konto bei Ihrem Computer an.
- Wenn Sie mit einem Konto mit Administratorberechtigungen angemeldet sind, das nicht das lokale "Administrator"-Konto ist, öffnen Sie DEN IIS-Manager und alle Eingabeaufforderungssitzungen mit der Option "Als Administrator ausführen".
Die oben genannte Bedingung ist erforderlich, da die Sicherheitskomponente für die Benutzerkontensteuerung (User Account Control, UAC) in Windows Server 2008 den Administratorzugriff auf die Konfigurationseinstellungen von IIS 7.0 verhindert. Weitere Informationen zur Benutzerkontensteuerung finden Sie in der folgenden Dokumentation (diese Seite ist möglicherweise auf Englisch):
Hinweis
Die Einstellungen für die Anforderungsfilterung blockieren möglicherweise standardmäßig mehrere Dateitypen aus der WebDAV-Erstellung. Wenn Sie WebDAV mithilfe der IIS-Manager-Benutzeroberfläche konfigurieren, werden die Anforderungsfiltereinstellungen automatisch aktualisiert, um die Blockierung der WebDAV-Erstellung aufzuheben. Wenn Sie webDAV jedoch auf eine andere Weise konfigurieren als die IIS-Manager-Benutzeroberfläche verwenden, lesen Sie die exemplarische Vorgehensweise zum Konfigurieren von WebDAV mit Anforderungsfilterung.
Grundlegende AppCmd-Konzepte
AppCmd.exe ist ein neues Befehlszeilentool für die Verwaltung von IIS 7.0. Stellen Sie sich dies auf viele Arten als Ersatz für das Adsutil.vbs-Skript aus früheren IIS-Versionen vor. AppCmd.exe unterstützt eine breite Palette von Befehlsoptionen für verschiedene Objekte, wodurch es in Batchdateien problemlos skriptfähig ist, um eine Vielzahl von IIS-Einstellungen zu konfigurieren. (Hinweis: Das hilfsprogramm AppCmd.exe befindet sich in der %WinDir%\System32\InetSrv folder
.)
Die allgemeine Syntax für AppCmd.exe lautet:
AppCmd (command) (object-type) <identifier> </parameter1:value1 ...>
AppCmd.exe bietet auch umfassende Befehlszeilenhilfen, auf die mit einer der folgenden Methoden zugegriffen werden kann:
AppCmd /?
AppCmd (object) /?
AppCmd (command) (object) /?
Die Liste der Befehle hängt vom Objekt ab, und die folgenden Objekte werden unterstützt:
Object | Beschreibung |
---|---|
WEBSITE | Verwaltung virtueller Websites |
APP | Verwaltung von Anwendungen |
VDIR | Verwaltung virtueller Verzeichnisse |
APPPOOL | Verwaltung von Anwendungspools |
CONFIG | Verwaltung allgemeiner Konfigurationsabschnitte |
WP | Verwaltung von Arbeitsprozessen |
ANFORDERUNG | Verwaltung von HTTP-Anforderungen |
MODULE | Verwaltung von Servermodulen |
BACKUP | Verwaltung von Serverkonfigurationssicherungen |
TRACE | Arbeiten mit Fehlgeschlagenen Anforderungsablaufverfolgungsprotokollen |
Sie können z. B. auflisten, welche Websites auf Ihrem Server konfiguriert sind, indem Sie das SITE-Objekt mit der folgenden Syntax verwenden:
AppCmd list site
Ebenso können Sie auflisten, welche Anwendungspools auf Ihrem Server mithilfe des APPPOOL-Objekts mit folgender Syntax konfiguriert sind:
AppCmd list apppool
AppCmd kann auch verwendet werden, um die Werte für verschiedene Konfigurationseinstellungen mithilfe des SITE-Objekts festzulegen, und Sie können mit dem folgenden Befehl die verfügbaren Einstellungen für Ihre Standardwebsite mithilfe der folgenden Syntax auflisten:
AppCmd set site "Default Web Site" /?
Zum Auflisten der Konfigurationseinstellungen für einen bestimmten Pfad verwenden Sie das CONFIG-Objekt wie im folgenden Beispiel:
AppCmd list config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication
Das CONFIG-Objekt kann auch zum Festlegen von Konfigurationseinstellungen verwendet werden, wie im folgenden Beispiel gezeigt:
AppCmd set config "Default Web Site/" /section:system.webServer/security/authentication/windowsAuthentication /enabled:true
Sie können auch steuern, wo AppCmd die von Ihnen angegebenen Einstellungen mithilfe des Befehlszeilenparameters "/commit:" schreibt. Später in diesem Dokument sehen wir uns beispielsweise den folgenden Befehl an, der WebDAV auf Ihrer Standardwebsite aktiviert:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
Hinweis
Dieser Befehl aktiviert WebDAV für die Standardwebsite und schreibt diese Einstellung in die ApplicationHost.config-Datei.
AppCmd ist ein äußerst leistungsstarkes Hilfsprogramm, und realistischerweise gibt es zu viel, um in einem so kurzen Raum abzudecken. Weitere Informationen darüber, wie Sie sich mit AppCmd.exe vertraut machen, finden Sie im folgenden Artikel auf der IIS.NET-Website:
Das heißt, wir gehen weiter, um WebDAV auf Ihrem Server zu konfigurieren.
Erste Schritte mit Winsock
WebDAV installiert eine Erweiterung des Standardschemas für IIS-Einstellungen, wodurch AppCmd ohne spezielle Änderungen mit WebDAV funktioniert. Das neue WebDAV-Modul speichert alle konfigurierbaren Einstellungen in der Datei "ApplicationHost.config" und verwendet die folgenden Abschnitte:
- system.webServer/webdav/authoring
- system.webServer/webdav/authoringRules
Die Einstellungen für die "Dokumenterstellung" können nur im Stammverzeichnis einer Website konfiguriert werden, während die Einstellungen für "authoringRules" pro URL konfiguriert werden können. Um zu sehen, welche Einstellungen für jeden dieser Abschnitte für einen bestimmten Pfad konfiguriert wurden, können Sie AppCmd wie in den folgenden Beispielen sehen:
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoring
AppCmd list config "Default Web Site/" /section:system.webServer/webdav/authoringRules
Aktivieren oder Deaktivieren von WebDAV für eine Website
Verständlicherweise ist der einfachste und nützlichste Befehl für WebDAV das Aktivieren oder Deaktivieren von WebDAV für eine Website. Die Syntax zum Aktivieren von WebDAV einer Website folgt dem folgenden Beispiel:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:true /commit:apphost
In diesem Beispiel legen wir das Attribut "enabled" für den WebDAV-Abschnitt "Authoring" auf der Standardwebsite fest und erzwingen, dass diese Änderung in die Datei "ApplicationHost.config" geschrieben wird. Umgekehrt können Sie WebDAV deaktivieren, indem Sie denselben Wert auf "false" festlegen, wie im folgenden Beispiel gezeigt:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /enabled:false /commit:apphost
Anfordern von SSL für die WebDAV-Erstellung für eine Website
Um die Informationen zu schützen, die Sie übertragen können, kann WebDAV so konfiguriert werden, dass ssl für alle Vorgänge erforderlich ist. Dies wird durch Festlegen des Attributs "requireSsl" auf "true" für den WebDAV-Abschnitt "authoring" mithilfe von Syntax wie den folgenden erreicht:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:true /commit:apphost
Diese Funktionalität kann durch Festlegen des Attributs "requireSsl" auf "false" mit der folgenden Syntax deaktiviert werden:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /requireSsl:false /commit:apphost
Zugriff auf ausgeblendete Dateien für eine Website zulassen
Aus Sicherheitsgründen können Sie unterdrücken, ob Dateien, die auf dem Server als ausgeblendet gekennzeichnet sind, in Dateiauflistungen zurückgegeben werden. Legen Sie dazu das Attribut "allowHiddenFiles" im Abschnitt "authoring" auf "true" im Abschnitt "authoring" fest:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:true /commit:apphost
Um die Auflistung ausgeblendeter Dateien zu deaktivieren, legen Sie das Attribut "allowHiddenFiles" mithilfe der Syntax wie folgt auf "false" fest:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /fileSystem.allowHiddenFiles:false /commit:apphost
Konfigurieren von WebDAV-Kompatibilitätseinstellungen für eine Website
Um mit früheren Versionen von WebDAV für IIS kompatibel zu sein, werden einige optionale Features über Kompatibilitätseinstellungen verfügbar gemacht. Derzeit ist die Liste der Optionen wie folgt:
Kompatibilitätseinstellung | Beschreibung |
---|---|
Keine | Gibt an, dass keine Kompatibilitätsfeatures unterstützt werden sollen. |
MsAuthorVia | Gibt an, dass der Header "MS-Author-Via" zurückgegeben werden soll. (Hinweis: Mehrere Der Weberstellungstools von Microsoft verwenden diesen Header.) |
MultiProp | Gibt an, dass mehrere <Prop-Anweisungen> in Clientanforderungen zulässig sein sollen. |
CompactXml | Definiert, ob die vom WebDAV-Modul zurückgegebene XML jede Zeile mit einer CRLF-Sequenz beendet. |
IsHidden | Gibt an, dass die Pseudo-Live-Eigenschaft IsHidden unterstützt werden soll. |
IsCollection | Gibt an, dass die Pseudo-Live-Eigenschaft isCollection unterstützt werden soll. |
Um eines dieser Features festzulegen, müssen Sie den Wert des Attributs "compatFlags" im Abschnitt "Authoring" mithilfe von Syntax wie den folgenden festlegen:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoring /compatFlags:"MsAuthorVia,CompactXml" /commit:apphost
Beachten Sie, dass die Kompatibilitätseinstellungen als Eine Reihe von durch Trennzeichen getrennten Flags angegeben werden.
Arbeiten mit WebDAV-Erstellungsregeln
Das neue WebDAV-Modul verwendet Die Erstellungsregeln, mit denen Sie die Art und Weise konfigurieren können, wie WebDAV auf die Erstellungsanforderung von Clients reagiert. Ihre Website kann beispielsweise anonymen Zugriff für Internetbenutzer aktiviert haben, der Zugriff auf die Weberstellung sollte jedoch auf eine bestimmte Gruppe von Benutzern beschränkt werden. Mithilfe von Erstellungsregeln können Sie konfigurieren, welche Benutzer Zugriff auf die verschiedenen Teile der Inhalte Ihrer Website haben.
Konfigurieren von Standardeinstellungen für die Erstellungsregel
Angeben, ob nicht MIME-zugeordnete Dateien zulässig sind
Aus Sicherheitsgründen lässt IIS keinen Zugriff auf Dateien zu, die standardmäßig nicht in der MIME-Zuordnung aufgeführt sind. Daher müssen Webautoren möglicherweise mit bestimmten Dateitypen auf einem Server arbeiten, der nicht in der MIME-Zuordnung aufgeführt ist. (Beispiel: Einschließen von Dateien, Datendateien usw.) Um den Zugriff auf nicht MIME-zugeordnete Dateien zu ermöglichen, müssen Sie das Attribut "allowNonMimeMapFiles" im Abschnitt "authoringRules" auf "true" festlegen. Das folgende Syntaxbeispiel veranschaulicht, wie dies erreicht wird:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:true /commit:apphost
Diese Funktionalität kann deaktiviert werden, indem Sie das Attribut "allowNonMimeMapFiles" mithilfe der folgenden Syntax auf "false" festlegen:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /allowNonMimeMapFiles:false /commit:apphost
Angeben des Standard-MIME-Typs
Wenn Sie mit Dateitypen arbeiten, die sich nicht in der MIME-Liste befinden, muss IIS weiterhin einen MIME-Typ an Clients zurückgeben. Standardmäßig ist dies auf "application/octet-stream" festgelegt, was bedeutet, dass die Datei unabhängig vom Inhaltstyp als unformatierte Binärdatei behandelt werden soll. Um den Standard-MIME-Typ für nicht MIME-zugeordnete Dateien auf einen Textdateityp festzulegen, können Sie die folgende Syntax verwenden:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"text/plain" /commit:apphost
Verwenden Sie die folgende Syntax, um den Standard-MIME-Typ zurückzusetzen:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /defaultMimeType:"application/octet-stream" /commit:apphost
Verwalten von Erstellungsregeln
Erstellungsregeln werden in einer Auflistung aufbewahrt, und jede Regel kann die folgenden Attribute enthalten:
Attribute | Beschreibung |
---|---|
path | Gibt den Inhaltstyp für die Regel an. (Siehe unten) |
users | Gibt den Benutzernamen für eine. (Siehe unten) |
Rollen | Gibt eine Gruppe/Rolle für die Regel an. |
access | Gibt den Zugriffstyp für die Regel an. (Siehe unten) |
Hinweise:
Das Attribut "path" wird verwendet, um den Inhaltstyp für die Erstellungsregel anzugeben. Dies kann für bestimmte Inhaltstypen wie "*.aspx", "*.htm" usw. sein, oder Sie können "*" verwenden, um anzugeben, dass die Erstellungsregel für alle Inhalte gilt.
Die Attribute "Rollen" und "Benutzer" sollten exklusiv füreinander deklariert werden. Das heißt, eine Erstellungsregel sollte entweder für "Benutzer" oder "Rollen" gelten, aber nicht für beide.
Die folgenden speziellen Werte für das Attribut "users" werden definiert:
Wert Beschreibung * Alle Benutzer ? Anonyme Benutzende Hinweis
Anonyme Benutzer können keine Inhalte lesen/schreiben; Diese Einstellung wird verwendet, um die Dateitypen für anonyme Eigenschaftenabfragen einzuschränken.
Die folgenden Werte werden für die Zugriffstypen definiert:
Wert Beschreibung None Gibt an, dass der Zugriff für den Inhaltstyp nicht zulässig ist Lesen Gibt den Lesezugriff für den Inhaltstyp an Schreiben Gibt schreibzugriff für den Inhaltstyp an Quelle Gibt den Zugriff auf den Quellcode für den Inhaltstyp an
Hinzufügen einer Erstellungsregel
Wenn Sie eine Erstellungsregel für einen Pfad hinzufügen möchten, können Sie die Syntax wie die folgenden Beispiele verwenden:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /+[users='administrator',path='*',access='Read,Write,Source'] /commit:apphost
AppCmd set config "Default Web Site/mypath" /section:system.webServer/webdav/authoringRules /+[roles='Authors',path='*.aspx',access='Read,Write,Source'] /commit:apphost
Bearbeiten einer Erstellungsregel
Nachdem eine Erstellungsregel hinzugefügt wurde, können Sie diese Regel mithilfe von Syntax wie den folgenden bearbeiten:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /[users='administrator',path='*'].access:"None" /commit:apphost
Entfernen einer Erstellungsregel
Sie können eine Erstellungsregel entfernen, indem Sie einfach den Benutzer- oder Rollennamen mithilfe von Syntax wie den folgenden angeben:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator'] /commit:apphost
Hinweis
Wenn mehr als eine Erstellungsregel für diesen Benutzer vorhanden ist, entfernt der obige Befehl nur die erste Erstellungsregel in der Liste, und Sie müssen den Befehl wiederholen, um nachfolgende Regeln für diesen Benutzer zu entfernen.
Sie können auch den Benutzer- oder Rollennamen und den Inhaltstyp wie im folgenden Beispiel angeben:
AppCmd set config "Default Web Site/" /section:system.webServer/webdav/authoringRules /-[users='administrator',path='*'] /commit:apphost
Zusammenfassung
Dieses Dokument hat Ihnen gezeigt, wie Sie die folgenden Aktionen ausführen:
Weitere Informationen
Weitere Informationen zur Verwendung von WebDAV finden Sie in den folgenden Artikeln:
- Installieren und Konfigurieren von WebDAV unter IIS 7.0
- Verwenden von benutzerdefinierten Eigenschaften mit WebDAV
Hinweis
Wie bereits erwähnt, blockieren Ihre Standardeinstellungen für die Anforderungsfilterung möglicherweise mehrere Dateitypen von der WebDAV-Erstellung. Wenn Sie die Einstellungen für die Anforderungsfilterung nicht ändern, werden möglicherweise verschiedene Fehler angezeigt, wenn Sie versuchen, dateien zu veröffentlichen, die blockiert sind. Wenn Sie beispielsweise versuchen, eine Web.config-Datei hochzuladen oder herunterzuladen, werden Fehler in Ihrem WebDAV-Client angezeigt. Weitere Informationen zum Konfigurieren Ihrer Anforderungsfiltereinstellungen finden Sie unter " Konfigurieren von WebDAV mit exemplarischer Vorgehensweise zum Konfigurieren von WebDAV mit Anforderungsfilterung.