Como Saber el Usuario logueado en otra pc (Windows o Linux)

Moderador: raul338

C#, tambien llamado C Sharp

Como Saber el Usuario logueado en otra pc (Windows o Linux)

Notapor yoandrito » Mar Jun 03, 2008 5:21 pm

Hola:
Estoy tratando de hacer un programa en C# utilizando el VS2005 que obtenga el nombre del usuario que esta logueado en otra PC de mi red, he buscado mucho en internet pero no encuentro informacion, esto es posible hacerse ??
utilizando estas..System.Environment.UserName y SystemInformation.UserName puedo obtener el username de mi propia pc pero como obtener el usuario logueado en otra pc ??

Gracias
Yoandry
yoandrito
Novato
Novato
 
Mensajes: 2
Registrado: Mar Jun 03, 2008 5:14 pm


Re: Como Saber el Usuario logueado en otra pc (Windows o Linux)

Notapor ivancp » Mar Jun 03, 2008 8:54 pm

Por que no intentas utilizando WMI:

http://msdn.microsoft.com/en-us/library/aa389290.aspx
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm


Re: Como Saber el Usuario logueado en otra pc (Windows o Linux)

Notapor yoandrito » Mié Jun 04, 2008 2:54 pm

He encontrado este Codigo en otra pagina que utilizan WMI pero tengo un problema .... cuando intento conectarme a la otra PC ( objwmiservice.Connect() )me lanza una exepcion UnautorizedAccessException (Acceso denegado. (Excepción de HRESULT: 0x80070005 (E_ACCESSDENIED))), sin embargo pongo el ip de mi pc y si resuelve bien el ip. sera problema con el usuario?? debo tener algun tipo de permiso en la pc a la que voy a acceder ???


string whoisLoggedIn(string HostOrIP)
{
System.Management.ConnectionOptions myConnectionOptions = new System.Management.ConnectionOptions();
myConnectionOptions.Impersonation = System.Management.ImpersonationLevel.Impersonate;

System.Management.ManagementScope objwmiservice;
System.Management.ManagementObjectSearcher myObjectSearcher;
System.Management.ManagementObjectCollection myCollection;

try
{
objwmiservice = new System.Management.ManagementScope( ("\\\\" + (HostOrIP + "\\root\\cimv2")),myConnectionOptions);
objwmiservice.Connect();
myObjectSearcher = new System.Management.ManagementObjectSearcher(objwmiservice.Path.ToString(), "Select UserName from Win32_ComputerSystem");
myObjectSearcher.Options.Timeout = new TimeSpan(0, 0, 0, 0, 7000);
myCollection = myObjectSearcher.Get();

foreach (System.Management.ManagementObject myObject in myCollection)
{
if (!(myObject.GetPropertyValue("Username") == null))
{
string Userx = myObject.GetPropertyValue("Username").ToString();
int posx = Userx.LastIndexOf("\\");
if ((posx > 0))
{
Userx = Userx.Substring((posx + 1));
return Userx.ToUpper();
}
}
}
return "<Nobody>";
}
catch (Exception)
{
return "<Exception>";
}
}
yoandrito
Novato
Novato
 
Mensajes: 2
Registrado: Mar Jun 03, 2008 5:14 pm

Re: Como Saber el Usuario logueado en otra pc (Windows o Linux)

Notapor ivancp » Mié Jun 04, 2008 3:08 pm

Revisa esta pagina:

http://msdn.microsoft.com/en-us/library/aa393266.aspx

Lee la sección que dice: To grant DCOM remote launch and activation permissions for a user or group.
Imagen @latindev | Mi Blog
Por favor lee las reglas del foro
Avatar de Usuario
ivancp
Colaborador
Colaborador
 
Mensajes: 680
Registrado: Jue Sep 06, 2007 12:58 pm


    

Volver a C#

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados