Funkcje potrzebne do pracy z użytkownikami komputera lokalnego lub Active Directory znajdziesz w System.DirectoryServices. Zacznij więc od dodania tej przestrzeni nazw:
using System.DirectoryServices;
Załóżmy, że nazwy użytkowników mają być umieszczone jako pozycje w liście o nazwie listBox1. Odpowiedni kod może wyglądać tak:
Po pierwsze tworzysz obiect DirectoryEntry i określasz gdzie zostanie przeprowadzone wyszukiwanie. Dla komputera lokalnego jest to albo sama nazwa komputera albo nazwa komputera i po przecinku słowo computer. Dla domeny byłaby to nazwa domeny \ nazwa komputera:
DirectoryEntry directory = new DirectoryEntry(); directory.Path = "WinNT://" + Environment.MachineName + ",computer";
Następnie dla każdego ze znalezionych dzieci, sprawdzamy czy to dziecko jest Userem, a jeśli tak, to dodajemy do listy. Inne obiekty jakie tu można znaleźć to np grupy lub jednostki organizacyjne:
foreach (DirectoryEntry d in directory.Children) { if (d.SchemaClassName == „User”) { listBox1.Items.Add(d.Name); } }
Źródło: http://guyellisrocks.com/coding/c-script-to-list-local-users-and-disabled-status-on-windows-servers/
Komentarze:
[…] jak opisałem tu http://www.mobilo24.eu/jak-wylistowac-w-c-nazwy-kont-lokalnych-uzytkownikow/, należy rozpocząć od dodania […]