Finding Users Who Have “Out Of Office” Enabled In Exchange 2010…

MS Exchange

It might come in handy if you know how to get a list of users who have out of office message turned on. Exchange 2010 shell gives you that ability now.

You can even change the message, set the audience (internal or external), turn it off etc with the shell.

To get a list of users who have out of office scheduled, run the following command.

Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState –eq “scheduled” }

The above command gives you much more than you need, including the actual message, start time, end time etc.

If you are only interested in the list of users, run

Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState –eq “scheduled” } | fl identity

Find USers with oof scheduled

If you want to get the settings for a particular user (for example Rajith), run

Get-MailboxAutoReplyConfiguration –identity rajith

You can also change the out of office settings for a particular user with the Set-MailboxAutoReplyConfiguration cmdlet.

For example, to turn off the out of office for the user account “Rajith”, run

Set-MailboxAutoReplyConfiguration –identity “Rajith” –AutoreplyState disabled

Disable autoreply

Similarly, if you want to extend the out of office message for a user (change the end time), run

Set-MailboxAutoReplyConfiguration –identity “Rajith” –EndTime 01/12/2009 17:00:00

You can change the actual out of office message (internal and external) by running

Set-MailboxAutoReplyConfiguration –identity “Rajith” –InternalMessage “I won’t be around today guys” –ExternalMessage “I am out of the office today”

Do note that this cmdlets will only work in Exchange 2010 Shell!

Other Popular Articles


MS Exchange

Scripting Agent Initialization Failed: “File is not found” Error During Exchange 2016 Setup

MS Exchange

EAC Access While Co-Existing Exchange 2013 With 2010

MS Exchange

Delete All Calendar Entries In An Exchange 2010 Mailbox

29 thoughts on “Finding Users Who Have “Out Of Office” Enabled In Exchange 2010…”

  1. Is there a way to obtain the time and date Out of Office was switched on from the shell ? Like a history report. we have an investigation and need to find out if the user switched on the autoreply on a certain date. currently the autoreply is off on that particular use’s mailbox and the info shown with these commands are not helping. Any info will help.

    Reply
  2. I would like to run a scheduled task in the context of an account that has the minimum necessary exchange permissions to query all the recipients in our enterprise using get-mailboxautoreplyconfiguration. Does anyone know the minimum necessary permissions so that I can get the exchange administrators to approve my request?

    Reply
  3. Brilliant just what i needed, thanks.

    Re: Set-MailboxAutoReplyConfiguration –identity “Rajith” –EndTime 01/12/2009 17:00:00

    I found that date had to be in US format, i.e mm/dd/yyyy and for time to work as well it needs to be in double quotes, i.e.
    Set-MailboxAutoReplyConfiguration –identity “Rajith” –EndTime “01/12/2009 17:00:00”

    Reply
  4. Hi, thanks a lot for the useful information. Is there a way to find out this information programatically, through a Webservices or an RMI call etc. We need this information for one implementation.

    Reply
  5. This is some ‘Kung Fu’. Thanks so much, searched everywhere on how to set a users out of office assistant while they are already gone! And this worked like a charm. The only thing I couldn’t get shell to accept, was the time. So I just set the date for one day later for their return. Any ideas on why the time failed?

    Reply
    • Hi Oscar,

      Are you using the correct time format? Say if the user has their mailbox regional settings set to GMT & if you configure the time in US format, it won’t take it.

      Reply
  6. It would be nice to block OOF messages by Organization Units. We have an “OldEmployees” OU that we move old employees to until we archive their messages.

    Reply
  7. Thanks for posting the article.
    I think it should be 'Enabled' instead of 'Scheduled'

    Where-Object { $_.AutoReplyState –eq “Enabled” }

    Reply
  8. Hi does anyone know how to get all the mailboxes with OOF enabled, disable it, then re-enable it for those same users?

    The reason is I want to run it at midnight each night as a scheduled task to reset the 'sent to' list. I have a lot of requests to sent OOF once per day per sender, instead of once per OOF period.

    I need some help piping this together

    Get this and store in variable
    Get-Mailbox | Get-MailboxAutoReplyConfiguration | Where-Object { $_.AutoReplyState –eq “scheduled”

    Then do this
    Set-MailboxAutoReplyConfiguration –AutoreplyState disabled

    Then do this
    Set-MailboxAutoReplyConfiguration –AutoreplyState enabled

    Reply

Leave a Comment