From f7095b6dbdb413cd91d9ffc5e039df0f3dfe8b18 Mon Sep 17 00:00:00 2001 From: Craig Martin Date: Tue, 21 Oct 2014 13:33:23 -0700 Subject: [PATCH 1/2] 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) --- .../StackExchange_ScheduledTask.psm1 | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 b/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 index 3b69df5..b415529 100644 --- a/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 +++ b/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 @@ -170,8 +170,10 @@ function Set-TargetResource $Ensure = 'Present' ) + $Session = new-pssession -computername $env:computername -Credential $Credential - + $Job = Invoke-Command -Session $Session { Get-ScheduledJob -Name $Using:Name -ErrorAction SilentlyContinue } + if ($Ensure -like 'Present') { @@ -208,8 +210,22 @@ function Set-TargetResource $JobTriggerParameters.DaysOfWeek = $DaysOfWeek } } - $JobParameters.Trigger = New-JobTrigger @JobTriggerParameters - Register-ScheduledJob @JobParameters + #$JobParameters.Trigger = New-JobTrigger @JobTriggerParameters + + ### If the job exists, then remove it before adding again + if ($Job) + { + #Jobber Clobber + Invoke-Command -Session $Session {Unregister-ScheduledJob -Name $Using:Name} + } + + Invoke-Command -Session $Session { + #TODO: this seems like a hacky way to do splatting, but I don't know a better way to do it + $jobParameters = $using:JobParameters + $jobTriggerParameters = $using:JobTriggerParameters + $jobParameters.Trigger = New-JobTrigger @jobTriggerParameters + Register-ScheduledJob @jobParameters -ErrorAction SilentlyContinue + } } else { From 71102941f7170d3debc0ce9f2eddede104d674c4 Mon Sep 17 00:00:00 2001 From: Craig Martin Date: Tue, 21 Oct 2014 13:35:58 -0700 Subject: [PATCH 2/2] removing a line of dead code --- .../StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 | 1 - 1 file changed, 1 deletion(-) diff --git a/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 b/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 index b415529..b9f9926 100644 --- a/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 +++ b/DSCResources/StackExchange_ScheduledTask/StackExchange_ScheduledTask.psm1 @@ -210,7 +210,6 @@ function Set-TargetResource $JobTriggerParameters.DaysOfWeek = $DaysOfWeek } } - #$JobParameters.Trigger = New-JobTrigger @JobTriggerParameters ### If the job exists, then remove it before adding again if ($Job)