Can a Windows scheduled task update itself and how would I do it? I'm using Windows Server 2008. I've seen some Powershell scripts that create tasks from xml; would this be the right approach?
You mean update the command that it runs? I suppose so. To summarize:
You schedule a script (I like powershell) that does what you really need done but also checks for newer versions of itself at some central location, and if it's newer then it copies that down to where the scheduled task looks to run the script. OR, it could reimport the scheduled task xml from another location, either way you want to script it.