Using Task Scheduler to run a PowerShell Script

Although this is quite a straight forward thing to implement searching around on the web it did appear that there is some confusion around what to put where when specifying a PowerShell script from Windows Server Task Scheduler. 

So I thought I’d put together this brief post.  In this example I am using MS Windows Server 2008 to schedule a PowerShell to run.  If we were to try and run a PowerShell from a normal command line we’d type the following:

powershell.exe –Noninteractive –Noprofile –Command “&{<fullpath to script>}”

Notice that I didn’t specify the path to the powershell executable – the reason for this being that I have the path already specified in the servers Path environment variable, ie: %SystemRoot%\system32\WindowsPowerShell\v1.0\

If you haven’t already done this you’ll have to specify the full path to the PowerShell executable – this is a real faff (a technical term  :) ) so I’d recommend adding it your path environment variable if you haven’t done so.

When scheduling a new task and specifying the action (ie: in this case running a PowerShell script) the core of your syntax will be in the ‘Arguments’ section of the action (see below).

Use the image below as a template and enter the directory containing your PowerShell script in the ‘Start in’ setting field.

image

When completed you should have something similar to the action below.

image

Happy PowerShelling…  :)

 

No related posts.

You can leave a response, or trackback from your own site.

6 Responses to “Using Task Scheduler to run a PowerShell Script”

  1. Jennifer says:

    What if I want to log the output to a separate text file?

  2. Cyril Gupta says:

    I had just finished the creation of a script to take backups for my server and it wasn’t running on the scheduler at all. I read the article and I noticed what I had left out… The full path to the script I had used ‘./’ in a bat file.

    Thanks for writing the article. It helped me.

  3. Rashid says:

    I needed to setup a scheduled task that ran some PowerShell script in Windows Server 2008. When searching the web I noticed that a lot of people had struggled with this and so I decided to write this post to explain how I managed it. The scheduled task will ‘run whether the user is logged on or not’. You can schedule a PowerShell script using task scheduler which will run automatically on a given time.

    http://blog.pointbeyond.com/2010/04/23/run-powershell-script-using-windows-server-2008-task-scheduler/

  4. Kiwi Si says:

    Hi Rashid,

    Thanks for the comment and the link to your script. I’ll have to download it and give it a try sometime soon. I’m sure it’ll prove useful to others. :)

    Cheers,

    Simon

  5. [...] quotes. If you don’t have that your script won’t run. I found this online from another webpage helpfully provided by Kiwi [...]

  6. Pat says:

    I need to automate the copying copying of database files from one server to another automatically on a weekly and monthly basis. I have tried your tips. with { without} nothing seems to work; however, the log says the script processed successfully. I tried with plan .bat files first that worked beautifully while the servers were 2003 servers sp2… I could really use a nudge! Both the .bat and the .ps1 files work when I manually start them- just not from within task scheduler.

Leave a Reply

Powered by Sweet Captcha
Verify your real existence,
Drag the glass to make a toast
  • captcha
  • captcha
  • captcha
  • captcha

AppAssure
VMware vSphere Recommended Reads
StarWind Software
TrainSignal - vSphere Pro
Veeam #1
TechHead Needs You - Top 25 Blog Sites
Trilead