servicios windows y usuarios

17/11/2003 - 15:39 por José Achig | Informe spam
Tengo un servicio que corre generalmente cuando arranca la máquina (tiene
una condición pero generalmente corre cuando se prende la máquina). Quiero
averiguar que usuario de Windows se está conectando, y para ello utilizo la
sentencia:
usuario = WindowsIdentity::GetCurrent()->Name;

donde usuario es una cadena,

Esta sentencia funciona bien cuando se corre dentro de una aplicación
normal, no dentro de un servicio, lo cual creo que es porque el

servicio corre en una sesión distinta, por lo tanto no obtengo el resultado
que requiero. ¿ Cómo podría obtener el nombre del usuario que se conecta
dentro de un servicio windows?

Les agradezco de antemano cualquier colaboración.

José Achig

Preguntas similare

Leer las respuestas

#1 Michael Giagnocavo [MVP]
17/11/2003 - 17:37 | Informe spam
En MSDN, busca interacting with the user from a service (o algo parecido).

Con Windows 5.1+, puedes llamar WTSGetActiveConsoleSessionId.

Si no tienes eso, tienes que abrir el WindowsStation "Winsta0", y llamar
GetUserObjectInformation par a obtener el SID.

Si ya estas usando Managed C++ (como tu codigo parece), no debe ser mucho
trabajo (ya que puedes incluir los headers y hacerlo directo en lugar de
hacer todo el P/Invoke manualmente :).

-mike
MVP

"José Achig" wrote in message
news:%
Tengo un servicio que corre generalmente cuando arranca la máquina (tiene
una condición pero generalmente corre cuando se prende la máquina).


Quiero
averiguar que usuario de Windows se está conectando, y para ello utilizo


la
sentencia:
usuario = WindowsIdentity::GetCurrent()->Name;

donde usuario es una cadena,

Esta sentencia funciona bien cuando se corre dentro de una aplicación
normal, no dentro de un servicio, lo cual creo que es porque el

servicio corre en una sesión distinta, por lo tanto no obtengo el


resultado
que requiero. ¿ Cómo podría obtener el nombre del usuario que se conecta
dentro de un servicio windows?

Les agradezco de antemano cualquier colaboración.

José Achig













Respuesta Responder a este mensaje
#2 José Achig
18/11/2003 - 14:50 | Informe spam
Gracias

Estoy usando Managed C++, pero no estoy muy claro en el asunto, no habrá
algún ejemplo o alguna ayuda para hacer lo que necesito?
Respuesta Responder a este mensaje
#3 Michael Giagnocavo [MVP]
18/11/2003 - 21:25 | Informe spam
Debes leer sobre Windows Stations en el Platform SDK Documentation.

Tambien podrias probar Google Groups.

-mike
MVP

"José Achig" wrote in message
news:eMo$
Gracias

Estoy usando Managed C++, pero no estoy muy claro en el asunto, no habrá
algún ejemplo o alguna ayuda para hacer lo que necesito?




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida