Cool guys. I know what's happening, but I don't know why yet.
echo %time% >> c:\temp\time.txt
If you put that in a server script task, you'll get "Echo is on" in the output. Send that to a client PC, and you'll get the time.
As I wrote to the task team about this, it occurred to me the difference, because I couldn't figure out why the text file had "Echo is on" in it, instead of the time. Yeah, the script ran.
What happened, is that %time% was interpreted as a token, and "replaced" with nothing, because there was no matching task token for that variable. This is exactly the same format we use for task tokens, and because it's not defined as an actual token, it was stripped. The resulting text looks like this:
echo >> c:\temp\time.txt
and guess what? That will give you "Echo is on" as well.
So we know what's going on, just not why. And yes, I'm asking if that's a known limitation or not. You might want to open a case on this to track the result, but I'll try to keep up with it here too.