Task Manager doesn't show you a list of opened windows, it shows you a list of running applications. This is a fairly important distinction, and if this is the effect you are trying to achieve, you don't need to step outside of the standard .NET framework to achieve this.
You can use System.Diagnostics.Process.GetProcesses to retrieve an array of all processes running on a remote machine. All you need to supply is the computer name to do this:
Process[] processes = Process.GetProcesses("RemoteMachineName");
You can find more information on this
here[
^].