Query CMS From PowerShell Without Loop
Since you are using Powershell anyways, I'm not sure why you wouldn't just want to do the loop and return the results from each server to a data object.  

If you want to break out of powershell and do it from SSMS, as long as you know your servers to begin with you can look into using Registered Server groups which allow you to run a query against multiple SQL instances at once. 

Basically, from SSMS, go to View > Registered Servers. 
It should appear in it's default location on the left.  From there, drill down to Local Server Groups, right click > New Server Group.
Add the group name 'CMS Group'.
Then right click on the new group and select 'New Server Registration'.  Fill in your connection details and add the server.
Repeat that process until all your servers are added to the group.  

Once the group is complete you can right click on the group folder and choose 'New Query'.
A new query window will open with a pinkish red color at the bottom where you would normally see your connection details.  This new query window will run against all members of that group.