hallo Community,
leider ergaben Google sowie die Forensuche kein gewünschtes ergebniss.
Als erstes will ich anmerken das ich noch kein Pro auf dem Gebiet der Programmierung bin. Ich weiss zwar schon bissel was über C# aber eben nicht alles 😃
Mein aktuelles Projekt beinhaltet unter anderem die möglichkeit als Administrator (wegen den Rechten) in den User einstellungen von Firefox verschiedene Proxyserver zu hinterlegen.
Der Admin soll dies Aber nicht erst machen können wenn er sich auf den jeweilligen Accounts eingeloggt hat sondern Zentral von seinem Account aus. Dazu habe ich kurzerhand Eine Listbox in die Form getan.
So nun habe ich aber nichts passendes gefunden mit was ich ALLE im System vorhandenen User auslesen und anzeigen kann.
Ich hoffe ihr könnt mir weiter helfen.
Achja ich denke mal das es Ratsam ist das ganze in einer eigenen Klasse zu realisieren.
Ich weiss ich könnte das auch statisch machen aber das ganze soll irgendwann veröffentlicht werden und da jeder benutzer auf jedem rechner andere rechte, andere namen usw hat, ist es zwingend erforderlich das dies ausgelesen wird!
Ich danke euch schonmal für eure hilfen!
hauptsache ne Signatur!!!
danke für den tipp.
Das ganze soll aber auch auf eigenständigen Homepc´s ohne Domänen Controller, ohne AD, etc funktionieren.
Ebenso soll das Tool auch unter Linux seinen Dienst verrichten!
*edit* Das Tool soll auch nur für Private zwecke eingesetzt werden. Daher ist eine AD umgebung eher unwahrscheinlich
*/edit*
hauptsache ne Signatur!!!
Du könntest über das user-Verzeichnis gehen. Da müsstest du imho eh rein, um den Firefox zu konfigurieren.
Das hier sollte helfen:
Der Vorteil der Klugheit liegt darin, dass man sich dumm stellen kann - umgekehrt ist das schon schwieriger (K. Tucholsky)
Das Problem mit Internet-Zitaten ist, dass sie oftmals zu unrecht als authentisch angenommen werden. (K. Adenauer)
danke fü eure Tips
Da ich wie gesagt noch nicht Sooo Viel ahnung von c# bzw VS habe.
using System.DirectoryServices;
Das bemängelt er. Warum btw wo genau liegen die Sevices mit drinne?
*edit*
OMg ich noob als ob ich nichts gelernt hätte .... naja gefah erkannt fehler gebannt
*/edit*
private void usr_listbox()
{
//hier werden die Aktuell vorhandenen Benutzer des Systems ausgelesen
//und angezeigt als Auswahl
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("Administratoren", "Benutzer");
object members = admGroup.Invoke("members", null);
foreach (object groupMember in (System.Collections.IEnumerable)members)
{
DirectoryEntry member = new DirectoryEntry(groupMember);
usr_lb.Items.Add(member.Name);
usr_lb2.Items.Add(member.Name);
}
das habe ich jetzt als Code abe e bemängelt das er den übermittelten Vezeichnisspfad nicht finden kann. Liegt denk ich daran das ich Keine AD habe.
hauptsache ne Signatur!!!
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("Administratoren", "Benutzer");
Ich vermute jetzt mal er bleibt in der Zeile
DirectoryEntry admGroup = localMachine.Children.Find("Administratoren", "Benutzer");
Da es wohl keinen Benutzer gibt der Administratoren heißt.
omg stimmt ja, die sind ja nicht wirklich da.
Jetzt stellt sich mir die Frage. ob:
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
DirectoryEntry admGroup = localMachine.Children.Find("", "");
was anzeigt, Nämlich alle im System vorhandenen Benutzer
hauptsache ne Signatur!!!
Bevor du die Frage im Forum stellst, könntest du es auch versuchen. Bzw. versuchen zu verstehen was der Code macht.
Du kannst die Ergebnisse mit z.B.
localMachine.Children.SchemaFilter.Add("user");
filtern wenn du nur die Benutzer haben möchtest. Wie das ganze jedoch auf Linux funktioniert kann ich dir nicht sagen.
Linux lass ich im Moment aussen vor da ich da eh nahezu von null anfangen muss! Linux Kann ja noch nicht wirklich .NET bzw windows Forms.
also was der Code macht versteh ich ja, zumindest zum teil!
DirectoryEntry localMachine = new DirectoryEntry("WinNT://" + Environment.MachineName);
erstellt im DirectoryEntry einen neuen Eintrag für die lokale Maschine
DirectoryEntry admGroup = localMachine.Children.Find("Administratoren", "Benutzer");
soll eigentlich die User Finden aber hier liegt der Hund Begraben. "Das angeforderte Verzeichnisobjekt ist unbekannt." bekomm ich als Errormeldung!
daraus ergibt das er ein objekt nicht findet. ich dachte mir er findet Benutzer und Administrator nicht. Doch auch wenn ich daraus "", "" mache kommt die Exception. also muss es an admGroup liegen zumindest denk ich mir das!
hauptsache ne Signatur!!!
Falsch er sucht bei:
DirectoryEntry admGroup = localMachine.Children.Find("Administratoren", "Benutzer");
nach einem Benutzer der Adminsitratoren heißt.
okok wenn dem so ist warum findet er dann
DirectoryEntry admGroup = localMachine.Children.Find("ean", "Benutzer");
nicht? Den Benutzer gibts es Definitiv! auch die Gruppe!
hauptsache ne Signatur!!!
Probier doch mal "user" anstatt "Benutzer".
danke das hat den Fehler behoben. Nun nörgelt er aber an der nächsten zeile rum
[entfernt]
hauptsache ne Signatur!!!
Wie schon weiter oben gesagt, kannst du hier bitte nicht wegen jeder kleinen Unklarheit oder Schwierigkeit nachfragen. Siehe dazu auch [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
Du solltest jetzt genug Informationen haben, um allein weiter zu kommen.