Response Group Timeframe Editor Powershell GUI

By | September 12, 2016

Update 10/7/2017 : Version 1.21 Fixes an issue where new time frames went created.

rgshoureditor

Revision History

:v1.21 Fixed a bug I introduced in 1.2 re-error checking when creating a new object

:v1.2: Implemented the New Time frame feature properly
Fixed a bug with Null entries causing alot of errors
Fixed a bug with removing malformed RGS entries
Added Error checking to Object Creation

:v1.1: Fixed a Bug where not defining a second timeframe would delete the first (whoops!)
:v1.0: Initial Release

What does this script do?

The editor allows you to create, modify and delete RGS HoursofBusiness objects ready for importing into your RGS workflows.

It will also automatically find the correct parent and edit existing RGS workflow objects saving you from human error

 

Why do we need this script?

Okay, So here’s another one of my scripts born out of a need to do some stuff over and over again.

Editing timeframes in the RGS Webpage is easy if you only need one or two objects, but the timeframes you create are unique to that particular RGS Workflow object and cant be copied from workflow to workflow
Even worse if you want to edit the time on all of the RGS workflows at the same time, and the fact I found the RGS webpage slow and annoying. is why I created this script

Response Groups supports shared RGS HoursOfBusiness objects, to have a single preset you can apply across a ton of RGS Workflows. But it needs to be configured by PowerShell and remembering the syntax is a pain

 

 

How do I use this script?

Download an run the script from a server with the Lync / Skype for Business management tools installed
The script will audit your existing infrastructure and show any existing timeframes and there associated Service Id (Pool)

To create a new timeframe, select the Service ID (Pool) you want to associate the object to and click New…
Type in the name of the new Object and click Ok
The screen will update with some example data.
Place a checkbox in the days you want the WorkFlow to be active and enter in the timeframes and click on Save

If you only want one timeframe per day, leave the second set of times empty.

To edit existing TimeFrame, Select it from the Preset Schedule edit the appropriate Time Frames and click on Save

Anything else?

I will admit there is a bit of Visual Basic in here at the moment for the message boxes but most of the code is in WPF and Powershell

If you have an RGS Preset you need to edit frequently you can edit the defaults in the PS1 file.

Download

Download Here

12 thoughts on “Response Group Timeframe Editor Powershell GUI

  1. soder

    Hi James,

    just wanted to clarify: when I go to the Technet Gallery, I see the latest modify date of your script was at 2/6/2017, but it still contains a .PS1 file dated 09/12/2016. Just wanted to make sure the version on Gallery is the latest.

    Reply
    1. Avatar photoJames Arber Post author

      Hi Soder, good to see you still floating around 😀 Yes the Technet item was modified more recently. This was me updating the description and instructions. I havent had any bug reports yet, so no need to update the script.

      Reply
      1. soder

        Sure, I am definitely floating around! Thanks for the clarification, as sometimes its difficult to correlate version number written in the sourcecode and last modify date of scripts versus what the owner publishes on Gallery or on own blog.

        Reply
        1. soder

          Oh, 1 more thing I forgot to you: you are linking to a 1rdv URL in this post instead of Gallery, just to increase possible confusion 😀

          Reply
  2. soder

    Sorry to post again: I used your script recently (says v.1.1 inside the PS1 file), and it seems if the 2nd timeset is missing / not filled, it still shows red warnings in the PS console. I wasnt sure if it made the changes correctly though, so decided not to use the script anymore. Should your update completely eliminate these error messages, or the red errors will still be seen in the PS console but the change will anyway be correctly committed to the RGS database?

    Reply
    1. Avatar photoJames Arber Post author

      Ahh Soder.. one day I’ll figure out who you really are (I see you posting all over the place)
      Umm good question. I’ve recently switched laptops and I haven’t quite gotten Visual Studio up and running on it yet.. so give me a day or two to check.

      Reply
      1. soder

        Greatly appreciate James! I will keep my secret identity if you dont mind 😉

        Reply
        1. soder

          Sorry for being impatient 🙂 but did you manage to confirm that v1.1 fixed the single time period issue or it still exists?

          Reply
          1. Avatar photoJames Arber Post author

            The red error messages were possibly due to some more bugs I squashed in 1.2, Especially around the new time frame feature (or, lack there off..)
            Give the new version a spin and let me know

    1. soder

      Ok, I managed to run some checks: instead of red errors I now only get yellow warnings for all my 1-ranged opening hour sets:

      VERBOSE: Could not convert SundayHours1.OpenTime to a string, it might be Null
      VERBOSE: Could not convert SundayHours1.CloseTime to a string, it might be Null
      VERBOSE: Could not convert SundayHours2.OpenTime to a string, it might be Null
      VERBOSE: Could not convert SundayHours2.CloseTime to a string, it might be Null

      ..and the list goes on and on for all 7 days of the week..

      I still need to find a way to actually commit some write operation to one of my systems, to confirm what the script actually does is indeed correct. Stay tuned for that 🙂

      Reply
      1. Avatar photoJames Arber Post author

        Thats expected, when it pulls an object (or creates a base object) it cant convert a string as it doesn’t exist.

        Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.