Saltar al contenido

qwinsta /server:somesrv equivalente en Powershell?

Después de tanto batallar ya encontramos el arreglo de este inconveniente que muchos usuarios de nuestra web presentan. Si tienes algún detalle que compartir no dudes en aportar tu conocimiento.

Solución:

Hay múltiples alternativas:

  • Use el módulo PowerShell de Terminal Services. Solución fácil.
  • Escribiendo un envoltorio de PowerShell que analice la salida de qwinsta a los objetos Solución fácil. Ver ejemplo a continuación
  • Utilizar el Cassia.DLL Envoltura .Net para acceder a las API nativas que qwinsta corre detrás de la escena. Esta es la clase que utiliza el módulo TS. Más difícil, pero tendrá la ventaja de ser personalizado según sus necesidades.
  • Vuélvete loco y usa los Métodos Nativos que Cassia.DLL accede usando P/Invoke (wtsapi32.dll, kernel32.dll, winsta.dll). Difícil y demasiado complicado.

Envoltorio de PowerShell para qwinsta

function Get-TSSessions 
    #Convert to objects
    ConvertFrom-Csv


Get-TSSessions -ComputerName "localhost" | ft -AutoSize

SESSIONNAME USERNAME ID     STATE  TYPE DEVICE
----------- -------- --     -----  ---- ------
services    0        Disc                     
console     Frode    1      Active            
rdp-tcp     65537    Listen     

#This is objects, so we can manipulate the results to get the info we want. Active sessions only:
Get-TSSessions -ComputerName "localhost" | ?  $_.State -eq 'Active'  | ft -AutoSize SessionName, UserName, ID

SESSIONNAME USERNAME ID
----------- -------- --
console     Frode    1 

Calificaciones y reseñas

Al final de todo puedes encontrar los comentarios de otros sys admins, tú además puedes mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *