Access - Como obtener la sesión en Terminal Server

 
Vista:

Como obtener la sesión en Terminal Server

Publicado por Carlos (3 intervenciones) el 22/05/2002 16:55:32
Hola a todos/as,

Estoy crearndo una aplicación en Access 97 y necesito saber cómo puedo obtener, mediante código de VB, cuál es la sesión que se crea en Terminal Server, cada vez que un usuario abre la base de datos desde un PC cliente. De momento he conseguido establecer el monbre del PC que accede a la base de datos, pero no la sesión que crea Terminal Server para distinguir quien sea conectado al programa.

Muchas gracias de antemano.

Hasta pronto.

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Como obtener la sesión en Terminal Server

Publicado por Alejandro (4142 intervenciones) el 21/04/2023 18:44:15
Para obtener la sesión en Terminal Server desde Access 97, puedes utilizar el objeto de automatización de Terminal Server (TS). Para hacer esto, sigue los siguientes pasos:

1. Agrega una referencia a la biblioteca de objetos de Terminal Server (TSOLE.DLL) en tu proyecto de Access. Para hacer esto, ve al menú Herramientas, selecciona Referencias y busca TSOLE.DLL en la lista.

2. Crea una instancia del objeto TS y obtén la colección de sesiones activas.

3. Recorre la colección de sesiones y compara el nombre del PC remoto con el nombre del PC local para determinar la sesión actual.

Aquí hay un ejemplo de código que puedes utilizar para obtener la sesión actual:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Dim objTS As Object
Dim objSessions As Object
Dim objSession As Object
 
Set objTS = CreateObject("Microsoft.TerminalServices.Automation")
 
Set objSessions = objTS.GetActiveSessions
 
For Each objSession In objSessions
    If objSession.ClientName = Environ$("COMPUTERNAME") Then
        MsgBox "Session ID: " & objSession.SessionId
        Exit For
    End If
Next
 
Set objSession = Nothing
Set objSessions = Nothing
Set objTS = Nothing

Este código crea una instancia del objeto TS, obtiene la colección de sesiones activas, recorre la colección y compara el nombre del PC remoto con el nombre del PC local utilizando la función Environ$("COMPUTERNAME"). Cuando se encuentra la sesión actual, se muestra el ID de sesión en un mensaje emergente.

Espero que esto te ayude a obtener la sesión en Terminal Server desde Access 97.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar