A PowerShell function to replace qwinsta so that you can query a Computers RDP Sessions (same as qwinsta) but with output you can pipe and query correctly with other Powershell commands.

This function fixes the formatting issues when atempting to convert raw qwinsta output to csv with data being in the wrong columns depending on the nature of the connection.

Out-GridView Comparison to qwinsta.exe:

PowerShell
Edit|Remove
 .SYNOPSIS 
      A PowerShell version of qwinsta using qwinsta output as the input 
 
      .DESCRIPTION 
      Takes qwinsta output and manipulates it so that it outputs correctly as an array that can be piped correctly into other commands. 
 
      .PARAMETER ComputerName 
      Specify the name of the computer you want to query. 
      Defaults to using the local hostname if the parameter is not used 
 
      .EXAMPLE 
      Example 1: 
      Get-UserSessions 
      Queries the local computer and returns the list of user sessions. 
 
      Example 2: 
      Get-UserSessions -ComputerName MYSERVER 
      Queries the server MYSERVER and returns the list of user sessions. 
 
      .NOTES 
      Should work with all versions of PowerShell and all versions of Windows that have qwinsta.exe installed. 
      Script still relies on qwinsta.exe for its input 
 
      .LINK 
 
      .INPUTS 
      alphanumeric for -ComputerName 
 
      .OUTPUTS 
      array of user sessions to host 
 
      .NOTES 
      Version :        1.0 
      Author :         Leon Evans 
      Creation Date :  11th November 2018 
      Location : https://gallery.technet.microsoft.com/scriptcenter/site/search?f%5B0%5D.Type=User&f%5B0%5D.Value=Guyver-1 
      Purpose/Change: Original Version