Es ist eigentlich egal, ich weiß zwar nicht, wie man in .Net den PC ausschaltet, aber die
TCP/
IP-Kommunikation kannst du über System.Net.Sockets.TcpClient bzw. TcpServer erledigen.
Jeder abschaltbare PC sollte dann eben mit einem Server auf das Kommando lauschen, der abschaltende PC schickt einfach eine Nachricht.
Mit
Win32 wirst du dir auf jeden Fall das Programm auch aus den Codeschnipseln hier im Forum zusammensuchen können...