2010-03-12 33 views
5

Me gustaría saber si hay alguna forma en C# para iniciar sesión programáticamente una cuenta de usuario de Windows?C# - Cerrar sesión y iniciar sesión programáticamente en un usuario

Actualmente estamos desarrollando una aplicación de monitoreo y una de las características es poder desconectar el usuario actual de Windows y cambiar a otra cuenta de usuario de Windows.

Tengo algunos métodos para cerrar la sesión, como a través de API o línea de comandos. Pero, ¿qué hay de iniciar sesión en una cuenta de usuario?

+0

Um. ¿Dónde está funcionando tu código? Si se está ejecutando como una aplicación como el usuario actual, su aplicación terminará cuando se cierre la sesión. –

+2

@Damien_The_Unbeliever - ¿Cree en los servicios de Windows? –

+0

@Earwicker - por supuesto, pero agradecería algo de claridad, dado que se describió como una aplicación, no como un servicio (aunque esto puede ser solo un problema terminológico) –

Respuesta

1

Esto podría ser lo que estás buscando ... codesample

+0

no estoy seguro de que considere configurar el inicio de sesión automático relevante aquí. – TomTom

+0

+1 - aunque ese método también requiere un reinicio, funciona - el efecto sería el mismo. –

+0

me refiero a que parte del código/idea puede ser útil. – hallie

3

¿Quiere decir interactiva?

  • cierre de sesión, si algo falla, generar una solicitud para logoff.exe
  • de inicio de sesión - pues no. ese es un módulo GINA que puede ir al frente (búscalo en google), pero esta es una bestia muy difícil de hacer. El sistema de seguridad en Windows está bastante bien aislado por razones obvias (es decir, seguridad).

No tengo conocimiento de nada que pueda hacer en C#.

http://technet.microsoft.com/en-us/library/cc780332%28WS.10%29.aspx

tiene algunos detalles más cómo funciona el inicio de sesión de usuario.

+0

+1 Debería ser posible reemplazar el módulo GINA por uno propio. –

Cuestiones relacionadas