Finding terminal server user is connected on
A couple things here... I would use the Win32_LoggedOnUser class to query, that'll get you the user name and "domain" for anybody with a connection to the computer. I have quotes on domain, because it considers the computer itself to be the domain for any local accounts. You just have to do a little string parsing to get the info you want into a nice, readable format.

Get-WmiObject -Class Win32_LoggedOnUser -ComputerName 'Server01' | 
    Select PSComputerName,@{l='Domain';e={$_.Antecedent -replace '^.+?Domain="(.+?)".*$','$1'}},@{l='Name';e={$_.Antecedent -replace '^.+?Name="(.+?)".*$','$1'}} -Unique


Then, you can pass multiple computer names to the Get-WmiObject cmdlet at once, and it'll get the info from all of them. Plus, if you run it as a background job you can set a throttle limit, and it will try to process as many connections as you set the limit to.

$servers = @("server01","server02","server03","server04","server05","server06","server07","server08")

$Job = Get-WmiObject Win32_LoggedOnUser -ComputerName $servers -AsJob -ThrottleLimit 10
Wait-Job $Job
$Results = Receive-Job $Job
$Results | Select PSComputerName,@{l='Domain';e={$_.Antecedent -replace '^.+?Domain="(.+?)".*$','$1'}},@{l='Name';e={$_.Antecedent -replace '^.+?Name="(.+?)".*$','$1'}} -Unique | Sort PSComputerName,Domain,Name