WMI will work for this task. The Win32_OperatingSystem class has a method called Win32Shutdown. This can be used to shutdown a remote computer.
Win32Shutdown: http://msdn.microsoft.com/en-us/library/aa394058(VS.85).aspx
The following blog entry has a full program in C# that demonstrates how to shutdown a computer using WMI. Search for Win32Shutdown on the page (about the 2nd article down)
http://urkec.mojblog.rs/