This repository was archived by the owner on May 15, 2018. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +18
-3
lines changed
DSCResources/StackExchange_ScheduledTask Expand file tree Collapse file tree 1 file changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -170,8 +170,10 @@ function Set-TargetResource
170170 $Ensure = ' Present'
171171 )
172172
173+ $Session = new-pssession - computername $env: computername - Credential $Credential
173174
174-
175+ $Job = Invoke-Command - Session $Session { Get-ScheduledJob - Name $Using :Name - ErrorAction SilentlyContinue }
176+
175177 if ($Ensure -like ' Present' )
176178 {
177179
@@ -208,8 +210,21 @@ function Set-TargetResource
208210 $JobTriggerParameters.DaysOfWeek = $DaysOfWeek
209211 }
210212 }
211- $JobParameters.Trigger = New-JobTrigger @JobTriggerParameters
212- Register-ScheduledJob @JobParameters
213+
214+ # ## If the job exists, then remove it before adding again
215+ if ($Job )
216+ {
217+ # Jobber Clobber
218+ Invoke-Command - Session $Session {Unregister-ScheduledJob - Name $Using :Name }
219+ }
220+
221+ Invoke-Command - Session $Session {
222+ # TODO: this seems like a hacky way to do splatting, but I don't know a better way to do it
223+ $jobParameters = $using :JobParameters
224+ $jobTriggerParameters = $using :JobTriggerParameters
225+ $jobParameters.Trigger = New-JobTrigger @jobTriggerParameters
226+ Register-ScheduledJob @jobParameters - ErrorAction SilentlyContinue
227+ }
213228 }
214229 else
215230 {
You can’t perform that action at this time.
0 commit comments