- copy / paste https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/windows/taskscheduler.rb to taskscheduler2.rb and rename TaskScheduler to TaskScheduler2.
- Remove COM definitions / reimplement methods in terms of the v2 scripting objects from https://msdn.microsoft.com/en-us/library/windows/desktop/aa383607(v=vs.85).aspx created through Rubys WIN32OLE class (i.e. ITask becomes calls against a TaskDefinition objection
- Continue to use the existing Win32::TaskScheduler interface, implementing all methods with the newer scripting objects
- Note that this class is tested through win32_taskscheduler_spec.rb, covered in the ticket immediately following this ticket, but it might make sense to add some minimal tests that create basic tasks just to make sure it's plumbed properly.