Starting remote processes in a Windows network
PsExec is part of the sysinternals suite that can do that
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
If your servers are running windows 2008 you can also use
You can use the "at" command.
Open a command-line and type
at /?
Into the terminal. The one downside is that the time on the remote system needs to be within some reasonable delta of yours. It's also not instant. You have to wait a few seconds to make sure the remote scheduler doesn't miss the event entirely.
There is a WMI equivalent to this, and has the same basic caveats as at:
LISTING 3: Code to Create an Interactive Process on Windows Server 2003, Windows XP, and Win2K SP3 Machines
Const INTERVAL = "n"Const MINUTES = 1strComputer = "compaq575"strCommand = "calc.exe"Set objWMIService = _ GetObject("winmgmts:\\" & strComputer & "\root\cimv2")Set objScheduledJob = objWMIService.Get("Win32_ScheduledJob")Set objSWbemDateTime = _ CreateObject("WbemScripting.SWbemDateTime")objSWbemDateTime.SetVarDate(DateAdd(INTERVAL, _ MINUTES, Now()))intReturnValue = objScheduledJob.Create(strCommand, _ objSWbemDateTime.Value, False, 0, 0, True, intJobID)WScript.Echo "Job ID: " & intJobID
I think most of the other ways to do it (without installing your own service) have been turned off by various service packs because of vulnerabilities.
The following two post use .NET to execute remote processes.
Using WMI
Codeproject Example
http://www.codeproject.com/KB/IP/RemotingExec.aspx
The examples execute with custom credentials & the remote executable is a Win Form app.Hope this helps.