DSC resource for configuring scheduled tasks.
Carbon_ScheduledTask [String] #ResourceName
{
Name = [string]
[DependsOn = [string[]]]
[Ensure = [string]{ Absent | Present }]
[PsDscRunAsCredential = [PSCredential]]
[TaskCredential = [PSCredential]]
[TaskXml = [string]]
}
The Carbon_ScheduledTask
resource configures scheduled tasks using schtasks.exe
with Task Scheduler XML.
The task is installed when the Ensure
property is set to Present
. If the task already exists, and the XML of the current task doesn't match the XML passed in, the task is deleted, and a new task is created in its place. The XML comparison is pretty dumb: it compares the XML document(s) as a giant string, not element by element. This means if your XML doesn't order elements in the same way as schtasks.exe /query /xml
, then your task will always be deleted and re-created. This may or may not be a problem for you.
Carbon_ScheduledTask
is new in Carbon 2.0.
Name | Type | Description | Required? | Pipeline Input | Default Value |
---|---|---|---|---|---|
Name | String | The name of the scheduled task to return. Wildcards supported. This must be the full task name, i.e. the task's path/location and its name. |
true | false | |
TaskXml | String | Install the task from this XML. |
false | false | |
TaskCredential | PSCredential | The identity that should run the task. The default is |
false | false | |
Ensure | String | If |
false | false | Present |
Demonstrates how to install a new or update an existing scheduled task that runs as a built-in user. The user's SID should be declared in the task XML file.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
TaskXml = (Get-Content -Path $clearApplicationCacheTaskPath.xml -Raw);
}
Demonstrates how to install a new or update an existing scheduled task that runs as a custom user.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
TaskXml = (Get-Content -Path $clearApplicationCacheTaskPath.xml -Raw);
TaskCredential = (Get-Credential 'runasuser');
}
Demonstrates how to remove a scheduled task.
Carbon_ScheduledTask InstallScheduledTask
{
Name = 'ClearApplicationCache';
Ensure = 'Absent';
}