All we need is an easy explanation of the problem, so here it is.
I want to run a scheduled task every time after a given service is started. I have looked for a way to set a trigger on a service start, so that the service in question may be started automatically at system start or manual restarted on run time.
The System it should work on is a Windows Server 2008 R2.
- On server A an UMS service is running
- On server B a FAX line service is running and connects to the UMS service on server A
- If server A or the UMS service on it is restarted the FAX service on server b is loosing its connection and has to be restarted.
So, I want to schedule a script on server A with the start of the UMS service and restart the FAX Line service on server B via net stop/start from that.
The missing point is, how would I define the trigger for the task scheduler?
How to solve :
I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.
You can do this using Task Scheduler with a Trigger set up as follows:
Begin the task: On an event
Click the New Event Filter… button
Select the XML tab
Check the Edit query manually checkbox
Click the Yes button
Enter the following in the text box, replacing your service name:
<QueryList> <Query Id="0"> <Select Path="System"> *[EventData[Data[@Name='param1'] and (Data='YOUR SERVICE NAME')]] and *[EventData[Data[@Name='param2'] and (Data='running')]] </Select> </Query> </QueryList>
More information on XML Event filtering here: Advanced XML filtering in the Windows Event Viewer.
Note: When using a non English Windows ‘Data’ for ‘param2’ depends on the system’s language. E.g. for a German version of Windows it is ‘Ausgeführt’ instead of ‘running’.
Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂