Het kan handig zijn om namens een gebruiker zijn Out Of Office reply (verder OOF) te kunnen instellen, bijvoorbeeld als de gebruiker net voor een lange reis in de auto of het vliegtuig zit, geen internet verbinding heeft, maar vergeten is zijn OOF in te schakelen.
In een aantal bedrijfstakken is het gewoon dat alle gebruikers tegelijk vakantie hebben, bijv. bouwwereld.
Voor een organisatie kan het een wens zijn om iedereen van een standaard OOF bericht gedurende de gezamenlijk vakantie te voorzien.
Ook kan het handig zijn om een standaard OOF in te stellen als een gebruiker uit dienst treedt maar deze mailbox nog blijft bestaan.
Als Exchange beheerder kun je dit namens de gebruiker doen.
Middels de onderstaande stappen kan je, gebruik makende van Powershell, de OOF instellen.
Meld je aan op de Exchange 2010 server, start de Exchange Powershell en voer het volgende commando uit om de huidige status op te vragen van een gebruiker:
Get-MailboxAutoReplyConfiguration gebruikersnaam
In bovenstaand voorbeeld staat de Out Of Office Reply uit (zie groene pijl).
Als een gebruiker al eerder zijn OOF heeft ingesteld staat onder ExternalMessage en InternalMessageal een tekst ingevoerd (in HTML), deze is vaak onbruikbaar omdat er specifieke data in genoemd worden,Zie hier onder een voorbeeld. Let er op dat er 2 reply teksten zijn, die eventueel beide aanpassing behoeven!
Om deze teksten aan te passen kan je ze eerst exporteren, aanpassen en daarna weer te importeren.
Indien je een nieuwe tekst wil plaatsen dan is het niet nodig om de teksten te exporteren.
Het exporteren van beide teksten is eenvoudig, in dit geval exporteren we naar 2 aparte HTML bestanden in c:\temp.
Bewerk vervolgens beide HTML bestanden zodat een tekst naar eigen smaak wordt opgenomen, dit kan gewoon met Notepad voor zowel INTERNAL en EXTERNAL.
Vervolgens dienen beide teksten weer geïmporteerd te worden met de volgende commando’s::
Door de status op op te vragen met onderstaand commando zie je de aangepaste tekst in de configuratie.
Get-MailboxAutoReplyConfiguration gebruikersnaam
Met het onderstaande commando wordt de OOF aangezet:
Set-MailboxAutoReplyConfiguration -AutoReplyState Enabled
Met de optie Enabled schakel je de OOF in totdat deze handmatig weer uitgezet wordt!
Wil je de OOF schedulen, dan kun je het volgende commando gebruiker om deze op op 1 augustus 2011 te laten starten en 30 augustus 2011 automatisch uit te zetten.
set-mailboxautoreplyConfiguration -AutoReplyState Scheduled –starttime “08/01/2011 08:00” -EndTime "08/30/2011 17:00"
Vraag vervolgens de status weer op, nu is de Out Of Office reply ingeschakeld:

De variabele ExternalAudience staat in dit geval op all, dit betekent effectief dat de OOF zowel intern als extern wordt verstuurd, als het niet gewenst is om de OOF naar externen te sturen, kan dit middels onderstaand commando geconfigureerd worden voor deze individuele mailbox:
Set-MailboxAutoReplyConfiguration -ExternalAudience None
Met ‘All’ krijgt iedereen de OOF, bij ‘Known’ alleen interne gebruikers en bij ‘Unknown’ juist alleen de externen.
Indien het van de organisatie een wens/eis is om geen enkele OOF naar buiten toe te staan, dan is het handiger om dit globaal in te stellen dan per individuele mailbox. Immers de eindgebruiker kan zijn eigen instellingen aanpassen, maar niet de instellingen welke op de Exchange organisatie ingesteld zijn.
Het onderdeel remote domains definieert of een OOF naar buiten gestuurd mag worden of niet.
Met het onderstaande commando kan dan ook de OOF uitgeschakeld worden voor de gehele organisatie:
Set-RemoteDomain default –AllowedOOFType None
Indien er meerdere remote domains gedefinieerd zijn dan dient dit commando voor elk remote domain ingesteld te worden.
Nu nog even testen vanaf intern en extern om vast te stellen of alles werkt en goed wordt weergegeven en we zijn klaar.
Om voor de gehele organisatie dezelfde OOF in te stellen kan Powershell ons erg goed helpen. Onderstaande commando’s zorgen er voor dat voor alle mailboxen de OOF ingesteld wordt met de in de HTML files gedefinieerde teksten. Natuurlijk kan je met where en andere commando’s de groep gebruikers filteren. In het voorbeeld houden we het simpel voor de gehele organisatie.

Dan nog een tip:
Met F7 kun je een lijst met de laatst gebruikte commando’s opvragen! (dit werkt ook op de standaard commando prompt), gek genoeg lijken veel mensen dit niet te weten, dus bij deze.

Tot slot nog een samenvatting van alle powershell commando’s:
Exporteren van de huidige OOF teksten van een specifieke mailbox:
$x=Get-MailboxAutoReplyConfiguration gebruikersnaam
$x.ExternalMessage | Out-File c:\temp\externalmessage.html
$x.InternalMessage | Out-File c:\temp\internalmessage.htm
Importeren van de OOF teksten naar variabelen en vervolgens gebruiken om voor iedereen een OOF in te stellen:
$externalmessage = Get-Content C:\temp\externalmessage.html
$internalmessage = Get-Content C:\temp\internalmessage.html
get-mailbox | Set-MailboxAutoReplyConfiguration -ExternalMessage $externalmessage -InternalMessage $internalmessage -StartTime "8/1/2011 08:00" -EndTime "8/30/2011 17:00" -AutoReplyState scheduled
Voor een individuele mailbox een OOF instellen met een korte tekst welke niet is opgemaakt:
Set-MailboxAutoReplyConfiguration elsel -ExternalMessage "Sellenrode BV is gedurende de Bouwvak gesloten" -InternalMessage "Ik heb gedurende de bouwvak vakantie" -StartTime "08/01/2011 08:00:00 AM" -EndTime "08/30/2011 17:00" -AutoReplyState scheduled
Voor de gehele organisatie bepalen dat er geen externe OOF berichten verstuurd mogen worden:
Set-RemoteDomain default -AllowedOOFType None