enjay Posted July 2, 2019 Posted July 2, 2019 Does anyone know of a way to schedule Outlook (fat client or O365) to automatically enable/disable the out-of-office message? One of our staff only works Tue-Thu and turns on their OOO Fri-Mon. She would (quite reasonably, I think) like the OOO to turn on/off automatically rather than them having to remember to do it each time. A quick Google didn't come up with anything helpful.
TechMonkey Posted July 2, 2019 Posted July 2, 2019 (edited) Not used it but a Powershell set on a scheduled task? Code needed is Set-MailboxAutoReplyConfiguration -Identity tony -AutoReplyState Enabled -InternalMessage "Internal auto-reply message." -ExternalMessage "External auto-reply message." Edited July 2, 2019 by TechMonkey
clareq Posted July 2, 2019 Posted July 2, 2019 I found this - it might help: Go to Rules – Then select Manage Rules and Alerts Select “New Rule” Select the Option “Apply rule on messages I receive” Under the category “Start from a blank rule” click next. Put a check in the box – with specific words in the message header. Click on the blue underlined words “specific words” a new box will pop up. In this box, type the abbreviation for the day of the week you want this to apply to. I have it set for an out of office reply on Tuesdays, the abbreviation for the days of the week are the first 3 letters, Tuesday = Tue click add, then click ok. It will take you back to the previous screen, just click next. Now select “have server reply using a specific message” Click on the words “a specific message” in the step 2 box. This will open an untitled message. Leave the to, cc, and bcc blank. Fill in the subject line and the body of the email. This will be your Out of Office message. Then click save and close.
enjay Posted July 2, 2019 Author Posted July 2, 2019 Click on the blue underlined words “specific words” a new box will pop up. In this box, type the abbreviation for the day of the week you want this to apply to. I have it set for an out of office reply on Tuesdays, the abbreviation for the days of the week are the first 3 letters, Tuesday = Tue click add, then click ok. Hmm, close. That wouldn't trigger on messages sent after she leaves work on Thursday, but it gets the rest.
DrBeaker Posted July 2, 2019 Posted July 2, 2019 Can't she put a reminder in her calendar for herself to turn it on and off? I know what you're saying but this is a human problem looking for a tech solution.
enjay Posted July 2, 2019 Author Posted July 2, 2019 Can't she put a reminder in her calendar for herself to turn it on and off? I know what you're saying but this is a human problem looking for a tech solution. That's what she does at present, she would like something which saves her having to remember to do this. I agree this is in the category "human problem looking for a tech solution", but that's not a reason not to do it. We all use technology to simplify things or save time, e.g. "Alexa, set a timer for ten minutes" or scheduled tasks on our servers. Indeed, all sorts of things we take for granted today were technological solutions to human problems, e.g. what was actually wrong with walking over to the TV to change channel or turn it off? I'm not sure how this request is any different.
DrBeaker Posted July 2, 2019 Posted July 2, 2019 That's what she does at present, she would like something which saves her having to remember to do this. I agree this is in the category "human problem looking for a tech solution", but that's not a reason not to do it. We all use technology to simplify things or save time, e.g. "Alexa, set a timer for ten minutes" or scheduled tasks on our servers. Indeed, all sorts of things we take for granted today were technological solutions to human problems, e.g. what was actually wrong with walking over to the TV to change channel or turn it off? I'm not sure how this request is any different. True - but when you say " she would like something which saves her having to remember to do this." Adding it into her calendar/telling her how to - IT support/user training. Employee forgetting to complete the task, despite the calendar reminder - a business procedure issue, an line manager issue or an employee performance issue surely? IMHO if that was me I'd be asking them why thy keep forgetting to do it despite a reminder. Surely?
lyricalway Posted July 2, 2019 Posted July 2, 2019 I am constantly amazed at the number of times we seem to jump through hoops to create a technical solution to replace a users responsibility to plan/remember/realise!! DOH! now I feel better 1
elsiegee40 Posted July 2, 2019 Posted July 2, 2019 I don’t think this is an unreasonable question! Someone who works part time wants to know if there is a way of scheduling out of office on a repeat basis to reflect that. There must be part-timers all over the world who would like to do this. Fair enough to remember to do your holidays, but when you will not be sat at your desk answering emails for the same days every week of the year, it is an entirely sensible thing to ask. This is far from technology being required to do what should be a manual process. It is a pretty blindingly obvious tech fix that should be available. Maybe the developers and those of you who don’t think so have never worked part time or had someone close to them work part time. Reinforcing that you are not paid to be on call on the days when you are not paid is no bad thing! 3
DrBeaker Posted July 2, 2019 Posted July 2, 2019 (edited) I don’t think this is an unreasonable question! Someone who works part time wants to know if there is a way of scheduling out of office on a repeat basis to reflect that. There must be part-timers all over the world who would like to do this. Fair enough to remember to do your holidays, but when you will not be sat at your desk answering emails for the same days every week of the year, it is an entirely sensible thing to ask. This is far from technology being required to do what should be a manual process. It is a pretty blindingly obvious tech fix of available. Maybe those of you who don’t think so have never worked part time or had someone close to them work part time. Reinforcing that you are not paid to be on call on the days when you are not paid is no bad thing! Hey I never said from me it was an UNREASONABLE question. It's a valid question - but I'd just query why I've got to spend time researching a solution that would take the user probably 3x mins to turn off/on at most during the working hours. I.e. Look how long it's taken Google and GMail to add scheduled emails to their toolkit. It took M$ until the "new" Outlook in 2019 for them to finally add the feature to be able to duplicate calendar events in OWA. EDIT Give the end user these links and ask them to provide feedback to Microsoft for that feature. https://office365.uservoice.com/forums/264636-general https://office365.uservoice.com/ I myself use my OOO all the time, for meetings, offsite meetings etc. Edited July 2, 2019 by DrBeaker
DrBeaker Posted July 2, 2019 Posted July 2, 2019 I am constantly amazed at the number of times we seem to jump through hoops to create a technical solution to replace a users responsibility to plan/remember/realise!! DOH! now I feel better +1 for the explanation. You summed it up better and more succinctly than me. I don't mind helping users, but they've got to help themselves first.
elsiegee40 Posted July 2, 2019 Posted July 2, 2019 Hey [emoji14] I never said from me it was an UNREASONABLE question. It's a valid question - but I'd just query why I've got to spend time researching a solution that would take the user probably 3x mins to turn off/on at most during the working hours. Look how long it's taken Google and GMail to add scheduled emails to their toolkit. 3 minutes multiplied by 38 weeks of term time only is 114 minutes... the best part of two hours that could have been spent doing actual work. Multiply that by the number of part-timers.... We all probably waste more time on EduGeek than checking this out takes. @enjay has decided to take a look to see if there is a way round it. Seems sensible to me.
enjay Posted July 2, 2019 Author Posted July 2, 2019 True - but when you say " she would like something which saves her having to remember to do this." Adding it into her calendar/telling her how to - IT support/user training. Employee forgetting to complete the task, despite the calendar reminder - a business procedure issue, an line manager issue or an employee performance issue surely? IMHO if that was me I'd be asking them why thy keep forgetting to do it despite a reminder. Surely? Noted. Possibly poor word choice on my part. AFAIK she does remember to do it each time, but would prefer an automated method.
FishCustard Posted July 2, 2019 Posted July 2, 2019 I used PowerShell for this for someone once - I created a script using the Set-MailboxAutoReplyConfiguration cmdlet and just had it scheduled to run on my "automation controller" server (that handles all sorts of automated tasks). Obviously if they changed their working pattern I'd have had to update the script, but that never happened.
DrBeaker Posted July 2, 2019 Posted July 2, 2019 Noted. Possibly poor word choice on my part. AFAIK she does remember to do it each time, but would prefer an automated method. Some interesting and different views coming up for this post - the whole point of this forum is for everyone to provide opinions. Not everyone is going to agree all with all of those opinions all of the time. We're all unique individuals whose experiences in life have added to our unique viewpoints and opinions. As they say - You can please some of the people all of the time, you can please all of the people some of the time, but you can’t please all of the people all of the time
enjay Posted July 2, 2019 Author Posted July 2, 2019 Not used it but a Powershell set on a scheduled task? Code needed is Set-MailboxAutoReplyConfiguration -Identity tony -AutoReplyState Enabled -InternalMessage "Internal auto-reply message." -ExternalMessage "External auto-reply message." I used PowerShell for this for someone once - I created a script using the Set-MailboxAutoReplyConfiguration cmdlet and just had it scheduled to run on my "automation controller" server (that handles all sorts of automated tasks). Obviously if they changed their working pattern I'd have had to update the script, but that never happened. So, I'd set that script on my task scheduler server, and it would update the user's Office365, yes?
TechMonkey Posted July 2, 2019 Posted July 2, 2019 So, I'd set that script on my task scheduler server, and it would update the user's Office365, yes? Yes. Create a .ps1 file. Copy it to your Task Scheduler server. Create Scheduled task to call script. Profit. 1
jmak Posted July 2, 2019 Posted July 2, 2019 (edited) Hey [emoji14] I never said from me it was an UNREASONABLE question. It's a valid question - but I'd just query why I've got to spend time researching a solution that would take the user probably 3x mins to turn off/on at most during the working hours. TBF, it's probably taken the OP about 3 minutes to come up with a solution. Clock starts: implement advanced Google Fu Clock at 90 seconds: give up on Google and call Edugeek! Sit back and wait. Leave it a day for all the arguments to pass and check for a working solution. It might have taken the collective ability of Edugeek years to acquire the knowledge to create a solution and hours to put it together, but the effort for the OP isn't huge and they're leveraging something the user doesn't have access to. Power to the geeks! If there were built-in solutions to all the things users want, far fewer of us would have a job! Edited July 2, 2019 by jmak 1
enjay Posted July 3, 2019 Author Posted July 3, 2019 Yes. Create a .ps1 file. Copy it to your Task Scheduler server. Create Scheduled task to call script. Profit. Epic. Can I ask - is this theoretical, or have you actually done it? So my script should read as follows: Set-MailboxAutoReplyConfiguration -USERNAME -AutoReplyState Enabled -InternalMessage "I ONLY WORK TUE-THU" -ExternalMessage "I ONLY WORK TUE-THU" Do I just change the "enabled" to "disabled" in the matching script on Tuesday morning? Presumably the next step is to get the person to tell me when they go on holiday, otherwise I'll re-enable their message when they're still off...
HPlum78 Posted July 3, 2019 Posted July 3, 2019 (edited) What is needed is to be able to set the out of office based on an event in the users calendar, by the looks of it there is no option in outlook/ exchange to do this from a users prospective. There is a request for this functionality on the office 365 user voice so go there and vote it up so it gets put on the backlog. Outside of that you could get the user to put a calendar event in their cals and then use powershell to automatically set out of office based on finding an event in the users cal (use the graph API to do this). I will try to code this up but anyone could have a go at it, need to define the requirements of the cal event with the user so that you can identify the event in code. So subject of out of office automation would do. Then run the script at N interval to check/ update, enable/ disable out of office on the users mail box. You could also ask the user to put in the body of the event what the out of office message should say. Edited July 3, 2019 by HPlum78
HPlum78 Posted July 3, 2019 Posted July 3, 2019 Speaking of requirements I have gone and solution-ised based on making the requirements up in my head and how I would approach it knowing that we use O365! If you don't then forget about voting it up and using my solution... And I will go back and read the initial post :-p
ollyyllo Posted July 3, 2019 Posted July 3, 2019 (edited) Have you thought about setting up a Microsoft Flow? No idea if this would work and haven't tested it. If the end time of the scheduled automatic reply is set to getFutureTime(4, 'Day') it'll be setup on Friday, be disabled by Tuesday, then trigger again the next Friday Edited July 3, 2019 by ollyyllo
TechMonkey Posted July 3, 2019 Posted July 3, 2019 Epic. Can I ask - is this theoretical, or have you actually done it? So my script should read as follows: Set-MailboxAutoReplyConfiguration -USERNAME -AutoReplyState Enabled -InternalMessage "I ONLY WORK TUE-THU" -ExternalMessage "I ONLY WORK TUE-THU" Do I just change the "enabled" to "disabled" in the matching script on Tuesday morning? Presumably the next step is to get the person to tell me when they go on holiday, otherwise I'll re-enable their message when they're still off... Theoretical, I'm afraid but sound. The script should probably have a line importing the Exchange Module and some encrypted credentials. Ok, I'm probably setting myself up for a fall here but give me a day and I will knock something up as this might be useful to do enmass for staff over the holiday... To give me some wiggle room, lets go day and a half.
enjay Posted July 3, 2019 Author Posted July 3, 2019 Theoretical, I'm afraid but sound. The script should probably have a line importing the Exchange Module and some encrypted credentials. Ok, I'm probably setting myself up for a fall here but give me a day and I will knock something up as this might be useful to do enmass for staff over the holiday... To give me some wiggle room, lets go day and a half. That would be incredible if you could do that, thanks.
HPlum78 Posted July 3, 2019 Posted July 3, 2019 To help move this little project forward here is two functions that store credentials in a reg key <# .DESCRIPTION This functions creates a persistent credential supplied and saves it to the registry .PARAMETER Cred pre-populated credential object with username and password to store (these should be upn format) .PARAMETER RegPath The registry path to store the credential #> function Set-StoredRegCredential { [CmdletBinding()] Param( [Parameter(Position=0,Mandatory=$true,ValueFromPipeline=$true)] [system.Management.Automation.PSCredential]$Cred, [Parameter(Position=1,Mandatory=$false,ValueFromPipeline=$true)] [string]$RegPath = "HKCU:\Software\O365" ) Write-verbose "Storing credentials" try { New-Item $RegPath -force New-ItemProperty $RegPath -Name "username" -PropertyType String -Value $Cred.UserName -force New-ItemProperty $RegPath -Name "password" -PropertyType String -Value (Convertfrom-SecureString $Cred.Password) -force } catch [system.Exception] { Write-Error -errorrecord $_ #exit-script } } <# .DESCRIPTION This function retrieves the stored credential in the registry and passes it on to the calling object .PARAMETER RegPath The path in registry where the creds are stored #> function Get-StoredRegCredential { [CmdletBinding()] Param( [Parameter(Position=0,Mandatory=$false,ValueFromPipeline=$true)] [string]$RegPath = "HKCU:\Software\O365" ) if ($globaldomain){ $regpath = "$regpath\$globaldomain" Write-Output "Global domain override found regpath = $regpath" } try { Write-verbose "Obtaining Stored credentials" $storedpassword = (Get-ItemProperty -path $RegPath).password | ConvertTo-SecureString $storedusername = (Get-ItemProperty -path $RegPath).username if (-not($storedpassword) -or -not($storedusername)) { Write-Output "Couldn't retrieve stored credentials. Have they been set?" exit-script } return New-Object System.Management.Automation.PSCredential $storedusername, $storedpassword } catch [system.Exception] { Write-Error -errorrecord $_ #exit-script } }
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now