Skip to content
This repository was archived by the owner on May 15, 2018. It is now read-only.

Commit f7095b6

Browse files
author
Craig Martin
committed
ScheduledTask - using the Credential, and Removing an existing Job
the DSC resource was failing in the LCM with Access-Denied, so I plumbed the Credential into the Set-TargetResource function and used it with New-PSSession (same pattern I saw in Test-TargetResource)
1 parent bc32f66 commit f7095b6

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff 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,22 @@ function Set-TargetResource
208210
$JobTriggerParameters.DaysOfWeek = $DaysOfWeek
209211
}
210212
}
211-
$JobParameters.Trigger = New-JobTrigger @JobTriggerParameters
212-
Register-ScheduledJob @JobParameters
213+
#$JobParameters.Trigger = New-JobTrigger @JobTriggerParameters
214+
215+
### If the job exists, then remove it before adding again
216+
if ($Job)
217+
{
218+
#Jobber Clobber
219+
Invoke-Command -Session $Session {Unregister-ScheduledJob -Name $Using:Name}
220+
}
221+
222+
Invoke-Command -Session $Session {
223+
#TODO: this seems like a hacky way to do splatting, but I don't know a better way to do it
224+
$jobParameters = $using:JobParameters
225+
$jobTriggerParameters = $using:JobTriggerParameters
226+
$jobParameters.Trigger = New-JobTrigger @jobTriggerParameters
227+
Register-ScheduledJob @jobParameters -ErrorAction SilentlyContinue
228+
}
213229
}
214230
else
215231
{

0 commit comments

Comments
 (0)