DSCResources/xScheduledTask/xScheduledTask.schema.mof

[ClassVersion("1.0.0.0")]
class TaskSettingsSet
{
    [Write] Boolean AllowDemandStart;
    [Write] Boolean AllowHardTerminate;
    [Write, ValueMap{"At","V1","Vista","Win7","Win8"}, Values{"At","V1","Vista","Win7","Win8"}] String Compatibility;
    [Write] String DeleteExpiredTaskAfter;
    [Write] Boolean DisallowStartIfOnBatteries;
    [Write] Boolean Enabled;
    [Write] String ExecutionTimeLimit;
    [Write] Boolean Hidden;
    [Write, ValueMap{"IgnoreNew","Parallel","Queue"}, Values{"IgnoreNew","Parallel","Queue"}] String MultipleInstances;
    [Write] String Priority;
    [Write] String RestartCount;
    [Write] String RestartInterval;
    [Write] Boolean RunOnlyIfIdle;
    [Write] Boolean RunOnlyIfNetworkAvailable;
    [Write] Boolean StartWhenAvailable;
    [Write] Boolean StopIfGoingOnBatteries;
    [Write] Boolean WakeToRun;
    [Write] Boolean DisallowStartOnRemoteAppSession;
    [Write] Boolean UseUnifiedSchedulingEngine;
    [Write] Boolean volatile;
    [Write,EmbeddedInstance("IdleSetting")] String IdleSetting;
};
[ClassVersion("1.0.0.0")]
class IdleSetting
{
    [Write] String IdleDuration;
    [Write] Boolean RestartOnIdle;
    [Write] Boolean StopOnIdleEnd;
    [Write] String WaitTimeout;
};
[ClassVersion("1.0.0.0")]
class NetworkSetting
{
    [Key] String Name;
    [Write] String ID;
};
[ClassVersion("1.0.0.0")]
class TaskUserPrincipal
{
    [Key] String UserID;
    [Write, ValueMap{"Group","Interactive","InteractiveOrPassword","None","Password","S4U","ServiceAccount"}, Values{"Group","Interactive","InteractiveOrPassword","None","Password","S4U","ServiceAccount"}] String LogonType;
    [Write] String Id;
    [Write, ValueMap{"Highest","Limited"}, Values{"Highest","Limited"}] String RunLevel;
    [Write, ValueMap{"Default","None","Unrestricted"}, Values{"Default","None","Unrestricted"}] String ProcessTokenSidType;
    [Write] String RequiredPrivilege[];
};
[ClassVersion("1.0.0.0")]
class TaskGroupPrincipal
{
    [Key] String GroupId;
    [Write] String Id;
    [Write, ValueMap{"Highest","Limited"}, Values{"Highest","Limited"}] String RunLevel;
    [Write, ValueMap{"Default","None","Unrestricted"}, Values{"Default","None","Unrestricted"}] String ProcessTokenSidType;
    [Write] String RequiredPrivilege[];
};
[ClassVersion("1.0.0.0")]
class TaskAction
{
    [Key] String Execute;
    [Write] String Arguments;
    [Write] String Id;
    [Write] String WorkingDirectory;
};
[ClassVersion("5.0.0.0"), FriendlyName("xScheduledTask")]
class xScheduledTask : OMI_BaseResource
{
    [Required] String Path;
    [Key] String Name;
    [Write,EmbeddedInstance("TaskAction")] String TaskAction[];
    [Write,EmbeddedInstance("TaskUserPrincipal")] String TaskUserPrincipal;
    [Write,EmbeddedInstance("TaskGroupPrincipal")] String TaskGroupPrincipal;
    [Write,EmbeddedInstance("TaskSettingsSet")] String TaskSettingsSet;
    [Write,EmbeddedInstance("NetworkSetting")] String NetworkSetting;
    [Write,EmbeddedInstance("TaskTriggers")] String TaskTriggers[];
};
[ClassVersion("1.0.0.0")]
class TaskTriggers
{
    [Key] String Id;
    [Write] Uint32 StateChange;
    [Write] Boolean Enabled;
    [Write] Uint16 DaysOfWeek;
    [Write] String StartBoundary;
    [Write] String EndBoundary;
    [Write] String ExecutionTimeLimit;
    [Write] String RandomDelay;
    [Write] String Delay;
    [Write] String UserId;
    [Write] Uint16 WeeksInterval;
    [Write] Uint16 DaysInterval;
    [Write,EmbeddedInstance("TaskRepetition")] String TaskRepetition;
};
[ClassVersion("1.0.0.0")]
class TaskRepetition
{
    [Write] String Duration;
    [Write] String Interval;
    [Write] Boolean StopAtDurationEnd;
};