There are a fair few PowerCLI scripts which can be run as scheduled tasks, some that email you or maybe a monitoring script but recently I have been asked how this can be done, what do you put in the Run line for the script to work properly.
There are two ways of doing this really:
1. Add a line to a start of each of your scripts to make sure it loads the PowerCLI snapin, without which PowerShell will not recognise any of the PowerCLI cmdlets.
Add the following line to the top of each script you will be running as a scheduled task:
Then in the run box on your scheduled task you can call your script with the following command:
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe “& ‘C:\Scripts\MyScript.ps1′”
But remember when you are troubleshooting this script or amending it you will most likely get an error as your script editor will automatically add the VMware snapin.
2. This method is the one I use as its easier than remembering to put the line at the top of each file and then commenting it out when you want to edit it etc, this method runs the PowerCLI Console file before it runs your script.
A PowerShell Console file is
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -PSConsoleFile “C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1″ ” & “C:\Scripts\MyScript.ps1”
You can test both of these methods by running them from a cmd prompt before using it to ensure they work properly.