Se si legge la documentazione dell'oggetto DirectoryEntry si suppone che tale oggetto sia utile solamente per active directory, invece ruminando per la rete si può vedere che è utilissimo anche per accedere al pc locale, ecco ad esempio come cambiare la password ad un utente del mio portatile, ltricci è il nome della macchina, mentre invece guardian è il nome utente, il mio portatile non è stato mai agganciato a nessuna active directory.
DirectoryEntry entry = new DirectoryEntry(
"WinNT://ltricci/guardian", "gianmaria.ricci", "lami@passw0rd");
Console.Writeline("Retrieved username:" + entry.Name + "\n");
entry.Invoke("SetPassword", new object[] { "nu0v@pa$sword" });
ed inoltre tramite questa classe potete enumerare e gestire i gruppi o anche i servizi, decisamente utile. Attenzione che la stringa di connessione sia "WinNT://nome macchina" con le W e NT maiuscole, dato che è tutto case sensitive.
Alk.