It totally depends on what you want to control, especially, on the need of
inversion of control (
http://en.wikipedia.org/wiki/Inversion_of_control[
^]).
Most typically, you will need to create some service on the system to be controlled working as some kind of custom network service. The type if this application should almost certainly be the Windows Service. Perhaps the most straightforward way of doing this would be using self-hosted WCF.
However you can use networking on different levels. I briefly describe them in my past answers, please see:
how i can send byte[] to other pc[
^],
Communication b/w two Windows applications on LAN.[
^].
—SA