FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
sacar el username de windows...
alguien sabe como hacerlo? pero no usando el getusername... de trucomania. la api de windows...
eso por ahora no me sirve porque lo quiero usar en un caso especial con un servicio.... alguien conoce alguna manera distinta de sacar el username de windows... o algun componente que lo haga sin trabajar con la api? Gracias! |
#2
|
||||
|
||||
Hola,
Cita:
|
#3
|
||||
|
||||
Seguramente el problema es que el servicio se ejecuta con LocalSystem, lo cual no esta mal pero puede escapar un poco de la lógica del programa. ¿Que pasaría si hay dos sesiones de usuarios logueados al mismo tiempo? ¿Cuál es la que quieres que tome?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#4
|
||||
|
||||
Hola,
Cita:
Cita:
Última edición por dec fecha: 07-07-2005 a las 21:33:00. Razón: (corrección del texto) |
#5
|
||||
|
||||
Cita:
Por otro lado puede encontrar esto: Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#6
|
||||
|
||||
Hola,
Gracias por las aclaraciones al respecto Federico. |
#7
|
||||
|
||||
Explicacion mas clara...
Ante todo gracias por contestar; voy a ser mas claro en el inconveniente que estoy teniendo:
sucede que desde un servicio al utilizar el getusername, no se comporta de la misma manera que ejecutandolo desde un form, ya que en vez de salir el usuario que inicio la sesion en cuestion, sale el usuario SYSTEM. Por ahora he tratado de las siguientes maneras desde el servicio sin exito: 1- API de windows 2- Variables de entorno 3- Sacar info del bde (sirve, pero tengo que tener instalado bde o sea no sirve..) Honestamente por ahora no encuentro nada prolijo.... para hacer esto... es raro que no exista nada implementado..Además no tendría por que ser algo complicado... pero me esta generando problema la resolucion de este inconveniente.. si alguien sabe algo se los agradecere.... Muchas Gracias! |
#8
|
||||
|
||||
:(
Habia tratado solo con el GetUserName... ahora use el wnetgetuser ... y tampoco funciona ... sale usuario System al ejecutarlo desde el servicio...
|
#9
|
||||
|
||||
Es que tu servicio se ejecuta con el usuario System, precisamente una de las ventajas de los servicios, es que se pueden ejecutar sin que ningún usuario este logueado en el sistema. Si quieres puedes hacer que tu servicio se ejecute con otro usuario que no sea LocalSystem, pero viendo las necesidades que tienes... ¿Tiene que ser un servicio?.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#10
|
||||
|
||||
es verdad...
Es cierto lo que comentas, aqui hay un articulo que lo confirma:
Código:
Windows NT services run as LocalSystem by default. LocalSystem is a predefined local account and any service running under LocalSystem: The service can NOT open HKEY_CURRENT_USER . The service can open HKEY_LOCAL_MACHINE\SECURITY. The service has no network credentials and can only access network resources using a null session. If a share or pipe is accessible by Guest via a null session, it has access. There is a common misconception that a service running as LocalSystem has no network access. Te cuento que lametablemente estoy trabajando en una licitacion ya aprobada, que tiene normas muy claras en cuestiones de arquitectura y estoy obligado a utilizar un servicio... ... estoy investigando ahora como hacer para ejecutar el servicio, pero como usuario... todavia no he encontrado en la red nada concreto de como hacer esto.. ya que todo el mundo se "arregla" por asi decirlo con un programa normal puesto en el run del registry.... Bueno si hay algo en lo que puedas aconsejarme, estaré mas que atento, y Muchas Gracias!! Última edición por marceloalegre fecha: 08-07-2005 a las 15:16:55. |
#11
|
||||
|
||||
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#12
|
||||
|
||||
ese es el problema lamentablemente... no se que sesion puede usar quien use la aplicacion....
o sea mi idea o plan, minimizando lo mas posible seria llegar a poder hacer algo de esto: Código:
If SeLogueoUnUserNoSystem Then hacer lo que yo quiera... el tema es que estando el servicio ejecutandose en el contexto de LocalSystem no tengo manera de preguntar si se logueo alguien porque estoy dentro de system.... es todo un tema, no le veo una solución muy practica; ... y muchas gracias por responder y tan rapido!! |
#13
|
||||
|
||||
Fíjate si esto puede servirte de algo:
http://msdn.microsoft.com/library/de...n_packages.asp http://www.elists.org/pipermail/delp...il/017444.html Con este código podrías notificar a tu proceso cuando un usuario se loguea y cuando se desloguea, y tendrías que mantener una lista de los mismos.
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#14
|
||||
|
||||
Estaba pensado... voy a tener que agarrar para otro lado.... ejemplo que se me ocurre, puede ser ver las aplicaciones que se cargan despues de loguear un usuario... y preguntar por si existe alguna de esas (de las que carga windows por obligatoriamente) como el explorer.exe o alguna de esas... tendria que ver si eso da resultado... alguna forma tiene que existir tiene que existir algun comportamiento por el cual pueda preguntar aunque este en el entorno de localsystem...
Saludos!.. |
#15
|
||||
|
||||
Epa! cuando estaba escribiendo lo anteriormente dicho vi tu respuesta, voy a ver que puedo hacer con eso, y gracias!
|
#16
|
||||
|
||||
Fíjate mi comentario anterior...
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#17
|
||||
|
||||
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#18
|
||||
|
||||
JajJAja! si muy cruzados! y MUCHISIMAS GRACIAS!!, en cuanto tenga la respuesta funcional al caso, la posteo para todos; nunca se sabe a quien le puede suceder lo mismo en algun momento...
Saludos! |
#19
|
||||
|
||||
Respuesta al problema...
Para que quede registrado, despues de muchas opciones complejas para solucionar este asunto me decidi por lo que dice en este post:
http://www.clubdelphi.com/foros/showthread.php?t=22018 al controlar la ejecucion del explorer.exe como shell puedo decir que a partir de ahi, se logueo un usuario. Saludos a todos! |
|
|
|