Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#322694 - 27/05/2009 22:31 Automating Exchange Out of Office activation/deactivation
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Just so that it's somewhere that someone else can find it, since it's currently not anywhere else on Google I could find:

Exchange has a server-side out-of-office feature, which is nice, but the only scheduling you can do is by a single datespan, which is awful. Especially considering how integrated the calendar server is and that you can have appointments "show time as" "out of office", which Exchange does nothing with, other than outline the appointment in purple.

I've spent hours trying to figure out how to automate this so I can have it automatically be on Tuesday and Thursday mornings between 6 and 11. I finally figured that you can do it by scheduling something to poke Exchange's WebDAV server:

Code:
PROPPATCH /exchange/userid/NON_IPM_SUBTREE HTTP/1.1
Host: servername
Authorization: Basic base64-encoded-username:password
Content-Type: text/xml; charset="utf-8"
Content-Length: 234

<?xml version="1.0" encoding="UTF-8" ?>
<a:propertyupdate xmlns:a='DAV:' xmlns:d='http://schemas.microsoft.com/exchange/'>
  <a:set>
    <a:prop>
      <d:oof-state>0</d:oof-state>
    </a:prop>
  </a:set>
</a:propertyupdate>

"oof-state" should be set to 0 for off and 1 for on. And remember that network communications need \r\n and not just \n as EOLs. (234 is the correct length for that message.) The update happens immediately, which you can see with the "Out of Office Assistant" dialog in Outlook.

I just set up a perl script to send that data and ran it from cron.

I hope that helps someone.
_________________________
Bitt Faulk

Top
#322734 - 28/05/2009 18:18 Re: Automating Exchange Out of Office activation/deactivation [Re: wfaulk]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31565
Loc: Seattle, WA
Nifty trick!
_________________________
Tony Fabris

Top