Instance Of __Win32Provider as $P { Name = "Windows_TaskScheduler"; ClsId = "{06A565F1-64A5-4ff7-BC5A-EBCFCB5DAB64}" ; ImpersonationLevel = 1; PerUserInitialization = FALSE; }; Instance Of __InstanceProviderRegistration { Provider = $P; SupportsGet = "TRUE"; SupportsPut = "TRUE"; SupportsDelete = "TRUE"; SupportsEnumeration = "TRUE"; QuerySupportLevels = {"WQL:UnarySelect"}; }; Instance Of __MethodProviderRegistration { Provider = $P; }; [ ImplementationGroups { "All" } , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Abstract, Description ( "" ) ] class Win32_ScheduledWorkItem { [ ImplementationGroup ( "All" ) , Description ( "The next time the work item will run." ) , Read ] DateTime NextRunTime ; [ ImplementationGroup ( "All" ) , Description ( "The last time the work item was run." ) , Read ] DateTime LastRunTime ; [ ImplementationGroup ( "All" ) , Description ( "The current work item's idle wait time." "If the work item has an OnIdle Win32_Trigger, the " "work item runs when IdleWait minutes have " "elapsed since the most recent keyboard or mouse event." "If the 'Start Only If Idle' flag is set, the work item " "will run only after a period of Deadline minutes " "have elapsed with no mouse or keyboard activity. The " "Task Scheduler service will wait up to Deadline minutes " "past the scheduled start time of the work item " "for the required IdleWait minutes of idle time to elapse." ) , Read,Write ] Uint16 IdleWait ; [ ImplementationGroup ( "All" ) , Description ( "The maximum number of minutes to wait for the " "idle time duration contained in Idle minutes " "to occur before running the work item." "If the work item has an OnIdle Win32_Trigger, the " "work item runs when IdleWait minutes have " "elapsed since the most recent keyboard or mouse event." "If the 'Start Only If Idle' flag is set, the work item " "will run only after a period of Deadline minutes " "have elapsed with no mouse or keyboard activity. The " "Task Scheduler service will wait up to Deadline minutes " "past the scheduled start time of the work item " "for the required IdleWait minutes of idle time to elapse." ) , Read,Write ] Uint16 Deadline ; [ ImplementationGroup ( "All" ) , Description ( "The status of the current work item. Can be one of the following values." "Ready" " Work item is ready to run at its next scheduled time." "Running" " Work item is currently running." "Not Scheduled" " One or more of the properties that are needed " " to run this work item on a schedule have not been set." ) , ValueMap { "0","1","2" } , Values { "Ready","Running","Not Scheduled" }, Read ] Uint32 Status ; [ ImplementationGroup ( "All" ) , Description ( "The last exit code for the work item." "This is the exit code that the work item returned " "when it last stopped running. If the work item has " "never been started, this will be set to null." ) , Read ] Uint32 ExitCode ; [ ImplementationGroup ( "All" ) , Description ( "The comment retrieved from the current work item." ) , Read,Write ] String Comment ; [ ImplementationGroup ( "All" ) , Description ( "The creator of the current work item." ) , Read,Write ] String Creator ; [ ImplementationGroup ( "All" ) , Description ( "The application-defined data associated with the work item." ) , Read,Write ] Uint32 ItemData [] ; [ ImplementationGroup ( "All" ) , Description ( "The number of times that the Task Scheduler will " "retry an operation when an error occurs." "Not currently implemented." ) , Read,Write ] Uint16 RetryCount ; [ ImplementationGroup ( "All" ) , Description ( "The time interval, in minutes, between work " "item retries after an error occurs." "Not currently implemented." ) , Read,Write ] Uint16 RetryInterval ; [ ImplementationGroup ( "All" ) , Description ( "Interactive" " This task flag is used when converting " " Windows NT/Windows 2000 AT service jobs into tasks. " " The Windows NT/Windows 2000 AT service job refers to At.exe, " " the Windows NT/Windows 2000 command-line utility used " " for creating jobs for the Windows NT/Windows 2000 Schedule " " service. The Task Scheduler service replaces the Schedule " " service and is backward-compatible with it. " " This conversion occurs when the Task Scheduler is installed " " on Windows NT/Windows 2000: for example, installing " " Internet Explorer 4.0, or upgrading to Windows 2000. " " During the setup process, the Task Scheduler installation " " code searches the registry for jobs created for the AT service, " " and creates tasks that will accomplish the same operation." " For such converted jobs, the interactive flag is set if the " " task is intended to be displayed to the user. " " When this flag is not set, no task items are displayed in " " the Tasks folder, and no user interface associated with " " the task is presented to the user when the task is executed." "Delete When Done" " Task will be deleted when there are no more scheduled run times." "Disabled" " Task is disabled. This is useful to temporarily prevent a " " task from running at the scheduled time(s)." "Hidden" " Task file is hidden. When the task begins execution," " it runs in a hidden window." "Start Only If Idle" " Task begins only if the computer is not in use at " " the scheduled start time. Windows 95 only." "Kill On Idle End" " Task terminates if the computer makes an idle to " " non-idle transition while the task is running. " " The computer is not considered idle until the IdleWait " " triggers' time elapses with no user input. " " Windows 95 only. For information regarding idle " " triggers, see Idle Win32_Trigger." "Don't Start If On Batteries" " Task does not start if its target computer is running " " on battery power. Windows 95 only." "Kill if Going On Batteries" " Task ends and the associated application quits if the " " task's target computer switches to battery power. Windows 95 only." "Run If Connected To Internet" " Not yet implemented." ) , BitMap { "0","1","2","3","4","5","6","7","8" } , BitValues { "Interactive","Delete When Done","Disabled","Hidden", "Start Only If Idle","Kill On Idle End","Don't Start If On Batteries", "Kill if Going On Batteries","Run If Connected To Internet" }, Read,Write ] Uint32 Flags ; [ ImplementationGroup ( "All" ) , Description ( "Enabled identifies whether the task is enabled or disable" ), Read,Write ] Boolean Enabled ; [ ImplementationGroup ( "All" ) , Description ( "The account name the work item will be ran under." ) , Read,Write ] String AccountName ; [ ImplementationGroup ( "All" ) , Description ( "The password of the account the work item will be ran under." ) , Write ] String Password ; [ ImplementationGroup ( "All" ) , Description ( "The Run method runs the work item. " "The Task Scheduler service must be running for this method to succeed." ) , Implemented ] Uint32 Run(); [ ImplementationGroup ( "All" ) , Description ( "The Terminate method ends the execution of the work item." ) , Implemented ] Uint32 Terminate (); [ ImplementationGroup ( "All" ) , Description ( "The GetRunTimes method retrieves the work item run times for a specified time period." ) , Implemented ] Uint32 GetRunTimes ( [ Description ( "The starting time of the time period to check. This value is inclusive." ), in ] DateTime Begin, [ Description ( "The ending time of the time period to check. " "This value is exclusive. If null is passed for this value, " "the end time is infinite." ) , in ] DateTime End, [ Description ( "Array of Run times for all triggers associated with work item." ) , out ] DateTime RunTimes [] ); }; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "" ) ] class Win32_Task : Win32_ScheduledWorkItem { [ ImplementationGroup ( "All" ) , Description ( "Work Item Identifier." ), Key,Read,Write ] String WorkItemName ; [ ImplementationGroup ( "All" ) , Description ( "The name of the application that the task is associated with." "If you set the application name property to an executable file," "you can set the parameters property to the command-line " "arguments you want to pass to that executable for example," "ApplicationName=notepad.exe and Parameters=SampleFile.txt." "However, if you set the ApplicationName property to a " "non-executable file, the parameters property will be ignored," "because the application name in this case is the parameter for example," "ApplicationName=SampleFile.txt." ), Read,Write ] String ApplicationName ; [ ImplementationGroup ( "All" ) , Description ( "The task's command-line parameters." ), Read,Write ] String Parameters ; [ ImplementationGroup ( "All" ) , Description ( "The task's working directory." ), Read,Write ] String WorkingDirectory ; [ ImplementationGroup ( "All" ) , Description ( "Value assigned as the priority for the current task." "The priority value determines the frequency and " "length of a process' time slices. This applies only " "to Windows NT/Windows 2000 and has no effect in Windows 95. " "It is taken from the CreateProcess priority class and can be one of following" "Idle - Indicates a process whose threads run only when the system " "is idle and are preempted by the threads of any process running " "in a higher priority class. An example is a screen saver. The " "idle priority class is inherited by child processes.\n" "Normal - Indicates a normal process with no special scheduling " "needs.\n" "Realtime - Indicates a process that has the highest possible " "priority. The threads of a real-time priority class process " "preempt the threads of all other processes, including " "operating system processes performing important tasks, and " "high priority threads. For example, a real-time process that " "executes for more than a very brief interval can cause disk " "caches not to flush or cause the mouse to be unresponsive.\n" "Above_Normal - (Windows 2000 and later) Indicates a process " "that has priority higher than Normal but lower than High.\n" "Below_Normal - (Windows 2000 and later): Indicates " "a process that has priority higher than Idle but lower than " "Normal." ), MappingStrings { "Win32API|Process and Thread Structures|" "JOBOBJECT_BASIC_LIMIT_INFORMATION|PriorityClass" }, Values { "Normal", "Idle", "High", "Realtime", "Above_Normal","Below_Normal" } , ValueMap { "32", "64", "128", "256", "16384", "32768" } , Read,Write ] Uint32 Priority ; [ ImplementationGroup ( "All" ) , Description ( "The maximum time, in milliseconds, the task can run before terminating." "If the maximum run time is reached during the execution of a task, " "the Task Scheduler first sends a WM_CLOSE message to the associated " "application. If the application hasn't exited within three " "minutes, TerminateProcess is run." ), Read,Write ] Uint32 MaxRunTime ; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Abstract, Description ( "" ) ] class Win32_Trigger { [ ImplementationGroup ( "All" ) , Description ( "This defines the work item associated with the Win32_Trigger" ), Key,Read ] String WorkItemName ; [ ImplementationGroup ( "All" ) , Description ( "The Win32_Trigger id identifies the specific Win32_Trigger associated with the work item." ), Key,Read ] Uint16 TriggerId ; [ ImplementationGroup ( "All" ) , Description ( "The current task Win32_Trigger in the form of a string." "This string appears in the Task Scheduler user interface " "in a form similar to 'At 2PM every day, starting 5/11/97'." ), Read ] String TriggerName ; [ ImplementationGroup ( "All" ) , Description ( "The Type defines the type of Win32_Trigger the task will use." "The Win32_Trigger type determines when the task will run. " "" "Once" " Win32_Trigger is set to run the task a single time." "Daily" " Win32_Trigger is set to run the task on a daily interval." "Weekly" " Win32_Trigger is set to run the task on specific days of the week on a weekly interval." "Monthly Date" " Win32_Trigger is set to run the task on a specific day(s) of the month." "Monthly Day Of Week" " Win32_Trigger is set to run the task on specific days, weeks, and months." "On Idle" " Win32_Trigger is set to run the task when the system becomes idle (Windows® 95 only)." "At System Start" " Win32_Trigger is set to run the task at system startup." "At Logon" " Win32_Trigger is set to run the task when a user logs on." ) , ValueMap { "0","1","2","3","4","5","6","7" }, Values { "Once","Daily","Weekly","Monthly Date", "Monthly Day Of Week","On Idle","At System Start","At Logon" } ] Uint32 Type ; [ ImplementationGroup ( "All" ) , Description ( "The task Win32_Trigger's begin date, the Win32_Trigger will not assert until the begin date has been reached." "The begin date is defined as YYYYMMDDHHMMSS.MMM{+-}UTC, for the purposes of the BeginDate only the year, " "month, date, hours, seconds and UTC will be considered." ), Read,Write ] DateTime BeginDate; [ ImplementationGroup ( "All" ) , Description ( "The task Win32_Trigger's end date, the Win32_Trigger will not run past the end date." "The begin date is defined as YYYYMMDDHHMMSS.MMM{+-}UTC, for the purposes of the EndDate only the year," "month and date will be considered." "If end date is null, the task will ran indefinitely." ), Read,Write ] DateTime EndDate ; [ ImplementationGroup ( "All" ) , Description ( "Number of minutes after the task starts that the " "Win32_Trigger will remain active. For example, if you " "start a task at 8:00 A.M. and want to repeatedly " "start the task until 5:00 P.M., there would be 540 " "minutes in the duration." ), Read,Write ] Uint32 Duration; [ ImplementationGroup ( "All" ) , Description ( "Number of minutes between consecutive task executions." "If the Interval is 0, the task will not be repeated." "This number is counted from the start of the previous " "task. For example, to run a task every hour from " "8:00 A.M. to 5:00 P.M., set this field to 60." ) , Read,Write ] Uint32 Interval; [ ImplementationGroup ( "All" ) , Description ( "Task will be terminated at the end of the active Win32_Trigger's lifetime." "At the duration end, the Task Scheduler first sends a WM_CLOSE message" "to the associated application. If the application hasn't exited in " "three minutes, TerminateProcess runs. If more than one instance of " "a task is running, all instances are terminated." ), Read,Write ] Boolean KillAtDurationEnd ; [ ImplementationGroup ( "All" ) , Description ( "The Delete method deletes the Win32_Trigger." ) , Implemented ] Uint32 Delete () ; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" } , Abstract, Description ( "" ) ] class Win32_TimeBasedTrigger : Win32_Trigger { [ ImplementationGroup ( "All" ) , Description ( "Hour to begin executation of task." ) , Read,Write ] Uint16 StartHour ; [ ImplementationGroup ( "All" ) , Description ( "Minute to begin executation of task." ) , Read,Write ] Uint16 StartMinute ; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Description ( "Defines a task that is ran only once."), Provider ("Windows_TaskScheduler"), Dynamic ] class Win32_Once: Win32_TimeBasedTrigger { } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran on a daily basis.") ] class Win32_WeeklyTrigger : Win32_TimeBasedTrigger { [ ImplementationGroup ( "All" ) , Read,Write, Description ( "Interval defines the interval, in weeks, between invocations of a task") ] Uint16 WeeklyInterval ; [ ImplementationGroup ( "All" ) , Read,Write, Description ("Value that describes the day(s) of the week when the task runs.") , BitMap { "0","1","2","3","4","5","6" } , BitValues { "Sunday", "Monday","Tuesday","Thursday","Friday","Saturday" } ] Uint16 Days; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran on a daily basis.") ] class Win32_DailyTrigger : Win32_TimeBasedTrigger { [ ImplementationGroup ( "All" ) , Read,Write, Description ( "Interval defines the interval, in days, between invocations of a task") ] Uint16 DaysInterval ; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran on a days of the month basis.") ] class Win32_MonthlyDateTrigger : Win32_TimeBasedTrigger { [ ImplementationGroup ( "All" ) , Read,Write, Description ( "Value that describes the day of the month a task runs." "This value is a bit field that specifies the day(s) " "the task will run. Bit 0 corresponds to the first of the month, " "bit 1 to the second, and so forth." ) , BitMap { "0","1","2","3","4","5","6","7","8", "9","10","11","12","13","14","15", "16","17","18","19","20","21","22", "23","24","25","26","27","28","29", "30","31" } , BitValues { "First","Second","Third","Fourth","Fifth","Sixth","Seventh", "Eighth","Nineth","Tenth","Eleventh","Twelth","Thirteenth","Fourteenth", "Sixteenth","Seventeenth","Eighteenth","Nineteenth","Twentyth", "Twenty First","Twenty Fourth","Twenty Fifth","Twenty Sixth", "Twenty Seventh","Twenty Eighth","Twenty Nineth","Thirtyth","Thirty First" } ] Uint32 Days; [ ImplementationGroup ( "All" ) , Description ( "Value that describes the month(s) when the task runs." "January" " Task will run in January." "February" " Task will run in February." "March" " Task will run in March." "April" " Task will run in April." "May" " Task will run in May." "June" " Task will run in June." "July" " Task will run in July." "August" " Task will run in August." "September" " Task will run in September." "October" " Task will run in October." "November" " Task will run in November." "December" " Task will run in December." ) , BitMap { "0","1","2","3","4","5","6","7","8","9","10","11" } , BitValues {"January","February","March","April","May","June","July","August","September","October","November","December"} ] Uint16 Months; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "" ) ] class Win32_MonthlyDayOfWeekTrigger : Win32_TimeBasedTrigger { [ ImplementationGroup ( "All" ) , Description ( "First" " Task will run during the first week of the month." "Second" " Task will run during the second week of the month." "Third" " Task will run during the third week of the month." "Fourth" " Task will run during the fourth week of the month." "Last" " Task will run during the last week of the month." ), BitMap { "0","1","2","3","4" } , BitValues { "First","Second","Third","Fourth","Last" } ] Uint16 Week ; [ ImplementationGroup ( "All" ) , Read,Write, Description ("Value that describes the day(s) of the week when the task runs.") , BitMap { "0","1","2","3","4","5","6" } , BitValues { "Sunday", "Monday","Tuesday","Thursday","Friday","Saturday" } ] Uint16 Days; [ ImplementationGroup ( "All" ) , Description ( "Value that describes the month(s) when the task runs." "January" " Task will run in January." "February" " Task will run in February." "March" " Task will run in March." "April" " Task will run in April." "May" " Task will run in May." "June" " Task will run in June." "July" " Task will run in July." "August" " Task will run in August." "September" " Task will run in September." "October" " Task will run in October." "November" " Task will run in November." "December" " Task will run in December." ) , BitMap { "0","1","2","3","4","5","6","7","8","9","10","11" } , BitValues { "January","February","March","April","May","June", "July","August","September","October","November","December" } ] Uint16 Months; } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" } , Abstract, Description ( "" ) ] class Win32_EventBasedTrigger : Win32_Trigger { } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran on idle.") ] class Win32_OnIdle: Win32_EventBasedTrigger { } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran at System Start.") ] class Win32_AtSystemStart : Win32_EventBasedTrigger { } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Description ( "Defines a task that is ran at user logon.") ] class Win32_AtLogon : Win32_EventBasedTrigger { } ; [ ImplementationGroups ( "All" ) , PlatformSupport { "Windows2000" , "Windows98" }, Provider ("Windows_TaskScheduler"), Dynamic, Association, Description ("") ] class Win32_ScheduledWorkItemTrigger { [ ImplementationGroup ( "All" ) , Description ( "" ), Read ] Win32_ScheduledWorkItem Ref ScheduledWorkItem ; [ ImplementationGroup ( "All" ) , Description ( "" ), Read ] Win32_Trigger Ref Win32_Trigger ; } ;