Tengo una aplicación que comprueba si existe un usuario (si no lo crea) cada vez que se inicia. Esto se hace de la siguiente manera:¿Forma más rápida de averiguar si un usuario existe en un sistema?
bool bUserExists = false;
DirectoryEntry dirEntryLocalMachine =
new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntries dirEntries = dirEntryLocalMachine.Children;
foreach (DirectoryEntry dirEntryUser in dirEntries)
{
bUserExists = dirEntryUser.Name.Equals("UserName",
StringComparison.CurrentCultureIgnoreCase);
if (bUserExists)
break;
}
El problema está en la mayoría de los sistemas donde se implementa. Esto puede tomar de 6 a 10 segundos, que es demasiado largo ... Necesito encontrar una manera de reducir esto (tanto como sea posible). ¿Hay un mejor o más rápido manera que puedo utilizar para verificar si un usuario existe en el sistema o no?
Sé que hay otras maneras de resolver esto, como tener las otras aplicaciones para dormir durante 10 segundos, o hacer que esta herramienta envíe un mensaje cuando esté lista, etc. ... Pero si puedo reducir en gran medida el tiempo que toma para encontrar al usuario, me haría la vida mucho más fácil.
¿Está buscando un usuario local en la máquina? –
Sí, solo usuario local – Shaitan00
¿Necesita su usuario existir antes de que la aplicación finalice el inicio? –