Aplicación C# completa para Windows que crea un usuario (con una contraseña y descripción) y lo agrega a un grupo de seguridad. La aplicación también permite deshabilitar un usuario existente.

Código C# para agregar un nuevo usuario a un equipo local y agregarlo como miembro de un grupo de seguridad

Si usamos un proyecto .Net Framework deberemos agregar la referencia System.DirectoryServices (Menú «Proyecto» – «Agregar referencia…») :

Si usamos un proyecto .Net Core, no será necesario agregar dicha referencia.

En ambos casos agregaremos el using:

El formulario tendrá el siguiente aspecto (solicitamos al usurio que introduzca un nombre, una contraseña, una descripción y un grupo de seguridad existente):

A continuación, mostramos el código fuente C# del botón «Crear usuario»:

El código C# del botón «Dehsabilitar usuario»:

Ejecución del programa C# que crea un usuario, lo agrega a un grupo y lo deshabilita

Si ejecutamos el proyecto, introducimos los datos solicitados y pulsamos en «Crear usuario»:

Se creará un usuario en el equipo local, con los datos indicados. Nos lo indicará con un mensaje:

Y se agregará al grupo de seguridad indicado. Nos mostrará un mensaje indicando que el usuario se ha agregado al grupo:

Si revisamos los usuarios del equipo local, podremos comprobar que el usuario se ha creado correctamente:

Para deshabilitar un usuario existente, introduciremos su nombre y pulsaremos en «Deshabilitar»:

Si el usuario existe y si se ha deshabilitado, mostrará un mensaje indicándolo:

El usuario quedará deshabilitado en el equipo:

Posibles errores y su solución

Error al crear el usuario …: Acceso denegado.

Este error es debido a que no hemos ejecutado la aplicación con elevación de privilegios. Dado que esta aplicación crea usuarios en el equipo, requiere de ser ejecutada como administrador.

Error al agregar el usuario [proyectoa] al grupo de seguridad [Administradores]: Exception has been thrown by the target of an invocation.

Posibles errores y su solución

En este caso, el error se produce cuando asignamos «localhost» al nombre del equipo desde la línea de código:

Para solucionar el error, cambiaremos esta línea por: