Obtener el hostname y el dominio en .NET

Obtener el hostname y el dominio usando el lenguaje .NET y más concretamente C# es sencillo, no requiere de funciones complejas ni nada por el estilo.

Obtener el hostname:

El hostname se puede obtener con tan solo una linea, «System.Environment.MachineName» nos devolverá el nombre de la máquina donde se ejecuta.

Obtener el dominio o el grupo de trabajo:

Antes de nada debemos comprobar que nuestro proyecto tiene agregadas las referencias a System.Management, en caso negativo tenemos que agregarlas. Una vez que ya tengamos las referencias bien metidas hacemos lo siguiente:

System.Management.SelectQuery query = new System.Management.SelectQuery("Win32_ComputerSystem");
System.Management.ManagementObjectSearcher searcher = new System.Management.ManagementObjectSearcher(query);
 foreach (System.Management.ManagementObject mo in searcher.Get())
 {
  string Dominio = mo["domain"] as string;
 }

En la variable Dominio ya tendremos guardado el valor que actualmente tenga la máquina donde se ejecuta.

2 pensamientos en “Obtener el hostname y el dominio en .NET

  1. En verdad es más rápido como bien indicas pero no siempre obtiene correctamente el nombre de dominio ya que dicha propiedad se basa en el usuario actualmente logueado y cuando queremos extraer el dominio pretendemos extraer el de la máquina.

  2. Hola,

    se puede utilizar Environment.UserDomainName ?

    Management suele ser más lento, a unque es la manera formal de obtener el nombre de dominio, pero creo que para la mayoría de los casos podría aplicarse UserDomainName .

    Alguna sugerencia?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.