WebDAV
WebDav ist seit Exchange 2007 "abgekündigt", d.h. es
funktioniert noch mit Exchange 2007 und die folgenden 10 Jahre aber darüber
hinaus gibt es keine Zusicherung mehr.
http://blogs.technet.com/b/exchange/archive/2005/09/15/410941.aspx
Webdav funktioniert nicht mehr mit Exchange 2010.
Nutzen Sie den
Webservice
Entourage muss mit Exchange 2010 zwingend aktualisiert werden.
Entourage
Das Mailprogramm Entourage nutzt Webdav für den Zugriff auf Exchange.
Mit Exchange 2007 kann Entourage sowohl gegen die Mailbox rolle als auch
gegen des CAS-Server gehen, da bei Exchange 2007 der CAS die WebDav-Zugriffe
zum Backend durchgibt und nicht per MAPI konvertiert.
Neben MAPI ist WebDAV/HTTP ein legitimer Weg auf Informationen in Exchange 2000 und Exchange 2003 zuzugreifen. Auch der Webzugriff auf ihre Mailbox macht davon regen gebraucht, aber viel mehr können über WebDAV auch Regeln und andere Dinge eingestellt werden.
Der Zugriff erfolgt dabei einfach per HTTP und kann mit dem XMLHTTP-Objekt auch aus VBScript einfach genutzt werden.
Beispiel
Folgendes kleines VBScript zeigt anhand des XMLHTTP-Objekts, wie eine Mail per Outlook Web Access versendet werden kann.
const strUsername = "domain\Username" const strPassword = "password" const strServer = "password" const strTo = "Username@example.com" const strSubject = "Testmail" const strbody ="Dies ist der Body" StrXml = "" StrXml = "Cmd=send" & vbLf _ & "MsgTo="& strTo & vbLf _ & "urn:schemas:httpmail:importance=1" & vbLf _ & "http://schemas.Microsoft.com/exchange/sensitivity-long=" & vbLf _ & "urn:schemas:httpmail:subject=" & strSubject& vbLf _ & "urn:schemas:httpmail:htmldescription=<!DOCTYPE HTML PUBLIC " _ & """-//W3C//DTD HTML 4.0 Transitional//EN"">" _ & "<HTML DIR=ltr><HEAD><META HTTP-EQUIV" _ & "=""Content-Type"" CONTENT=""text/html; charset=utf-8""></HEAD><BODY>" _ & strbody _ & "</BODY></HTML>" & vbLf Set ObjxmlHttp = CreateObject("Microsoft.XMLHTTP") ObjxmlHttp.Open "POST", "http://" & strServer & "/exchange/"& strUsername &"/Postausgang", _ False, StrUsername, Strpassword ObjxmlHttp.setRequestHeader "Accept-Language:", "en-us" ObjxmlHttp.setRequestHeader "Content-type:", "application/x-www-UTF8-encoded" ObjxmlHttp.setRequestHeader "Content-Length:", Len(xmlstr) ObjxmlHttp.Send szXml Wscript.echo ObjxmlHttp.responseText
Das Script erzeugt den passenden POST-Request um eine Mail im Postausgang zum Versand abzulegen. Ehe Sie das Script einsetzen, müssen Sie aber sicherstellen, dass der Benutzername, Servername, Empfänger und Kennwort stimmt.
Beispiel: Ordnergröße
Mein Kollege Henning Krause (www.infinitec.de) hat mir ein weiteres Beispielskript überlassen, um per WebDav die Ordnergröße zu ermitteln. Es wird einfach mit folgender Befehlszeile gestartet
cscript foldersize.vbs http://myserver/myfolder <benutzername> <passwort>
Hier der Beispielcode
option explicit dim xmlhttp, xmldoc, strrequest, ie strrequest = "<?xml version=""1.0"" ?> " &_ "<D:propfind xmlns:D=""DAV:"" xmlns:E=""http://schemas.microsoft.com/exchange/"">" &_ "<D:prop><E:foldersize /></D:prop></D:propfind>" Set xmlhttp = CreateObject("msxml2.xmlhttp") Set xmldoc = CreateObject("Msxml2.DOMDocument") xmldoc.loadXML(strrequest) wscript.echo "Retrieving " & wscript.Arguments(0) & "..." xmlhttp.Open "PROPFIND", wscript.Arguments(0), false, wscript.Arguments(1), wscript.arguments(2) xmlhttp.setRequestHeader "Content-type:", "text/xml" xmlhttp.setRequestHeader "Depth", "0" xmlhttp.send strrequest wscript.echo "Return status: " & xmlhttp.status & " " & xmlhttp.statustext set xmldoc = xmlhttp.responseXml xmldoc.setProperty "SelectionNamespaces", "xmlns:ex='http://schemas.microsoft.com/exchange/'" wscript.echo "Size of folder: " & xmldoc.selectSingleNode("//ex:foldersize").text & " Bytes"
WebDav und Exchange 2007
Auch Exchange 2007 bietet weiterhin die "WebDAV Schnittstelle für den Zugriff mit solchen Clients an. Die Funktion wird aber nicht über die CAS-Rolle abgedeckt, sondern durch den Mailboxserver selbst bedient. Dies ist einer der wenigen Fälle, in denen ein Exchange 2007 CAS-Server weiterhin wie ein Exchange 2003 Frontend Server nur als Reverse Proxy zum "richtigen" Mailboxserver dient.
Natürlich darf in diesem Fall auf dem Mailbox Server kein SSL erzwungen werden, da Sie ansonsten keinen Zugriff über den CAS-Server auf die WebDAV-Schnittstelle erhalten.
WebDav und IIS7
Während "WebDav" sowohl in Exchange 2000/2003 als auch Exchange 2007 für den Zugriff auf Informationen in den Datenbanken genutzt werden kann und auch ohne Exchange durch die Installation der früheren "Frontpage Extensions" ein IIS5/6 WebDAV-tauglich gemacht werden konnte, ist das mit dem IIS7 von Hause aus nicht mehr möglich. Erst ein Zusatzmodul, welches Sie erst herunterladen und installieren müssen, aktiviert WebDAV auf dem IIS7.
IIS7 WebDav Add-on 32bit
http://go.microsoft.com/fwlink/?LinkId=105144
IIS7 WebDav Add-on 64bit
http://go.microsoft.com/fwlink/?LinkId=105145
Hotfix: 955137 A hotfix rollup is available für the out-of-band WebDAV
module für IIS 7.0
Zusätzlich sind Konfigurationseinstellungen erforderlich, die im IIS7-Blog aber gut beschrieben sind:
- Installing and Configuring WebDAV on IIS 7.0
http://learn.iis.net/page.aspx/350/installing-and-configuring-webdav-on-iis-70/ - How to Configure WebDAV with Request Filtering
http://learn.iis.net/page.aspx/354/how-to-configure-webdav-with-request-filtering/ - What's New für WebDAV and IIS 7.0
http://learn.iis.net/page.aspx/360/what-is-new-for-webdav-and-iis-70/ - How to Configure WebDAV Settings using AppCmd
http://learn.iis.net/page.aspx/352/how-to-configure-webdav-settings-using-appcmd/ - How to Migrate FPSE Sites to WebDAV
http://learn.iis.net/page.aspx/359/how-to-migrate-fpse-sites-to-webdav/ - How to use Custom Properties With WebDAV
http://learn.iis.net/page.aspx/351/how-to-use-custom-properties-with-webdav/ - Using the WebDAV Redirector
http://learn.iis.net/page.aspx/386/using-the-webdav-redirector/ - Enabling WebDAV Publishing using the IIS Manager
http://learn.iis.net/page.aspx/350/#002
Danach können Sie aber sogar ein Laufwerk mit dem WebDAV-Dienst verbinden:
net use * http://servername
Damit wird ihr Dateiserver quasi auch aus dem Internet per HTTP (besser https verwenden) erreichbar. Damit die Sicherheit nicht allzu stark leidet, akzeptiert die WebDAV-Erweiterung Klartext Kennwort (Basic Auth) nur bei aktivierter SSL-Verschlüsselung. Ohne SSL können Sie sich nur über NTLM anmelden, was zumindest die Anmeldedaten schützt, aber nicht die Inhalte verschlüsselt. Ich würde daher nie ohne SSL arbeiten.
Weitere Links
Hier nur eine kleine Auswahl von Links. Die MSDN-Seite ist sicher die beste Quelle.
- MSXFAQ - WSS Explorer
- Webservice
- Exchange per WebDav ansprechen
http://msdn.Microsoft.com/library/en-us/wss/wss/_exch2k_http_webdav_access.asp - Infos zum "Admin virtual Root"
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/wss/wss/_exch2k_the_administrative_vroot.asp - So erstellen Sie das XML zur WebDav Anfragen
http://msdn.Microsoft.com/library/en-us/wss/wss/_exch2k_construction_xml_with_xmldom.asp - 320071 How to programmatically get the size of mailboxes in Exchange
Beispiel für Extended MAPI, CDO 1.21, ActiveX Data Objects (ADO) und WebDAV - 891748 How to authenticate the Inbox in Exchange Server 2003 with forms-based authentication enabled by using Visual Basic .NET
- 920134 Available support für applications that use the WebDAV protocol to access Exchange 2000 Server or Exchange Server 2003
- 259853 XCLN: How to Create an Appointment Folder using WebDAV
This article describes how to create an appointment folder in the default public folder store by using Distributed Authoring Version (DAV) command MKCOL. - 308373 How To Send a Meeting Request using WebDAV
- ASP.Net samples of WebDAV against Exchange 2003
http://blogs.technet.com/kclemson/archive/2004/01/23/62247.aspx - XML-Anfrage für Exchange Zugriff aufbauen
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/wss/wss/_exch2k_constructing_xml_with_xmldom.asp - Beispielscripte von Henning Krause
http://www.infinitec.de/de/exchange/howtos/default.aspx
HOWTO: Access the Exchange store via WebDAV with Form-Based-Authentication turned on
http://www.infinitec.de/exchange/howtos/webdavwithfba.aspx - Access Exchange Mailbox using WebDav
http://msdn.Microsoft.com/library/default.asp?URL=/library/en-us/e2k3/e2k3/_esdk_getting_mailbox_size_webdav.asp - Zugriff über Smarttags in Word auf Exchange Daten
http://msdn.Microsoft.com/office/default.aspx?pull=/library/en-us/dnofftalk/html/09012004_Search_Inbox_Smart_Tags_Word.asp -
HOWTO: Handle
Exchange distribution lists automatically
HOWTO: Retrieve the size of a Microsoft Exchange 2000/2003 public folder
HOWTO: Retrieve all MAPI Properties of an Exchange Item - Access Your Exchange 2000 / 2003 Mailbox With WebDAV
http://www.msexchange.org/articles/Access-Exchange-2000-2003-Mailbox-WebDAV.html - Q308373 How To Send a Meeting Request using WebDAV
- Q259853 XCLN: How to Create an Appointment Folder using WebDAV
- 305619 PRB: unable to Make More Than 256 Connections to Different
Mailboxes Over a Short Period of Time
(Problem gefixt mit Exchange 2000 PostSP3) - 252876 How to View HTTP Data Frames using Network Monitor
- http://www.webdav.org/
- Novell NetDrive Client Version 4.1 Build 862
http://support.novell.com/servlet/filedownload/uns/pub/ndrv41862.exe/ - WebDAV Client bzw. DLL
http://www.independentsoft.de/index.htm
http://www.independentsoft.de/webdavex/index.html - MSXFAQ: Codesamples WebDav
http://gsexdev.blogspot.com/2004_07_01_gsexdev_archive.html
Unread Email report für all Folders in all Mailboxes on an Exchange Server
http://gsexdev.blogspot.com/2007/05/unread-email-report-for-all-folders-in.html
Synconize items from a public folder to a mailbox folder with WebDAV replication
http://gsexdev.blogspot.com/2007/07/synconize-items-from-public-folder-to.html
Combined Summary and Audit VBS Script für all appointments in all calendars on a Server via WebDAV
http://gsexdev.blogspot.com/2007/03/combined-summary-and-audit-vbs-script.html
Creating a Summary Email of all appointments within a Users Calendar für given period
http://gsexdev.blogspot.com/2007/02/creating-summary-email-of-all.html
Creating a Report of Meeting Organizers für all appointments in all calendars on a Server via WebDAV
http://gsexdev.blogspot.com/2007/02/creating-report-of-meeting-organizers.html
Audit and Export all emails in an Exchange Store Sent and Received to and from a certain domain
http://gsexdev.blogspot.com/2007/01/audit-and-export-all-emails-in.html
und viele mehr - DAVCopy Sample. Soll mit Sharepoint funktionieren und könnte auch mit
Exchange gehen (?)
http://www.bluedoglimited.com/Downloads/pages/DavCopy.aspx - JunkMail Ordner Anlegescript per HTTP
http://blogs.technet.com/evand/archive/2005/01/31/363935.aspx - WebDav für Echange .NET Classe
http://www.independentsoft.de/webdavex/index.html - Calendar access via WebDAV
http://en.wikipedia.org/wiki/CalDAV
Nicht von Exchange unterstützt. - 314188 HOW TO: Search für the URI property of a sender's e-mail submission and to send an e-mail message by using this property in Visual Basic .NET