Ho un'applicazione che controlla se un utente esiste (se non lo crea) ogni volta che si avvia. Questo è fatto come segue:Un modo più rapido per scoprire se un utente esiste su 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;
}
Il problema è nella maggior parte dei sistemi in cui è distribuito. Questo può richiedere 6 - 10 secondi, che è troppo lungo ... Ho bisogno di trovare un modo per ridurlo (il più possibile). C'è un migliore o più veloce modo che posso usare per verificare se un utente esiste sul sistema o no?
So che ci sono altri modi per risolvere questo, come se le altre applicazioni dormissero per 10 secondi, o che questo strumento inviasse un messaggio quando è pronto, ecc ... Ma se posso ridurre notevolmente il tempo necessario per trovare l'utente, mi renderebbe la vita molto più facile.
Siete alla ricerca di un utente locale sulla macchina? –
Sì, solo utente locale – Shaitan00
L'utente deve esistere prima che l'applicazione termini l'avvio? –