Alle Beiträge von Tician
-
C# Grundlagenfrage
Im Prinzip bekomme ich Fehler wenn ich die Wildcards(?) falsch setze. Ich weiß nicht wo die Sternchen hinmüssen um dasselbe Ergebnis zu bekommen wie wenn ich die vollständige Zeile eingebe. search.Filter = "(manager=CN=Tician Tralala,OU=Benutzer,OU=Debitorenbuchhaltung,OU=Kaufmännischer Service,OU=Abteilungen,DC=xxxxx,DC=xxx)"; // <- funktioniert!Die Zeile funktioniert und ich bekomme jeden Benutzer angezeigt der im manager-Attribut diese Zeile stehen hat, quasi mich als Vorgesetzten. Attribut= manager Wert= CN=Tician Tralala,OU=Benutzer,OU=Debitorenbuchhaltung,OU=Kaufmännischer Service,OU=Abteilungen,DC=xxxxx,DC=xxx Meine Versuche das irgendwie nur auf den Namen zu beschränken sahen so aus und keines liefert Ergebnisse: string name = Tician search.Filter = "(manager=CN=Tician*)"; search.Filter = "(manager=*Tician*)"; search.Filter = "(manager=CN="+name+"*)"; search.Filter = "(manager=*"+name+"*)";Ich weiß einfach nicht was ich falsch mache, ich dachte es wäre etwas total banales das ich einfach nicht sehe. Vielleicht hilft das weiter Gruß Tician
-
C# Grundlagenfrage
Uff, bei deinem Code werde ich dasselbe Problem haben. Ich versuche es nochmal verständlicher zu erklären. Ich möchte alle Benutzernamen auflisten die im Attribut "manager" meinen Namen stehen haben. Da in dem Attribut aber weitaus mehr als nur mein Name steht (ich aber nur nach diesem suchen möchte) wäre "(manager=Tician)"falsch. Irgendwie müsste es ähnlich,weil ich ja eine Variable habe string Name = Tician "(manager=*"+Tician+"*)"heißen. Ich brauch die Sternchen, aber ich weiß nicht wo, egal wo ich sie hinsetze krieg ich entweder Fehler oder es funktioniert nicht.
-
C# Grundlagenfrage
Danke für die Antwort bei "search" steht als Typ: System.DirectoryServices.DirectorySearcher Ich sollte vllt den ganzen Code posten schätze ich mal using System; using System.Windows.Forms; using System.DirectoryServices; namespace ActiveDirectoryBla { public partial class Form1 : Form { public Form1() { InitializeComponent(); textBox1.Enabled = false; textBox2.PasswordChar = '#'; //Passwort-Feld für spätere Administration } private void textBox1_TextChanged(object sender, EventArgs e) { } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { } private void button3_Click(object sender, EventArgs e) { string usernamead = System.Security.Principal.WindowsIdentity.GetCurrent().Name; string username = System.IO.Path.GetFileNameWithoutExtension(usernamead); textBox1.Text = username; string password = textBox2.Text; DirectoryEntry dir = new DirectoryEntry("LDAP://xx.xx.x.xx"); DirectorySearcher search = new DirectorySearcher(dir); //Ich starte eine Suche, die ich "search" nenne und sage wo gesucht wird (dir) search.Filter = "(manager="+username+")"; //ich sage wonach ich suche //search.Filter = "(objectClass=user)"; //<-- funktioniert! //search.Filter = "(manager=CN=xxxx xxxx,OU=Benutzer,OU=Debitorenbuchhaltung,OU=Kaufmännischer Service,OU=Abteilungen,DC=xxxx,DC=INT)"; // <- funktioniert! SearchResultCollection searchresult = search.FindAll(); //Hier in "searchresult" kommt alles rein was meine Suche findet if (searchresult != null) //wenn meine Suche nicht Ergebnislos ist dann... { foreach (SearchResult result in searchresult) //Für jedes Ergebnis... { /*var tmpResult = result; var tmpDirEntry = result.GetDirectoryEntry(); var tmpProperties = tmpDirEntry.Properties; var tmpPropSN = tmpProperties["sn"]; var tmpValue = tmpPropSN.Value;*/ listBox1.Items.Add(result.GetDirectoryEntry().Properties["cn"].Value.ToString()); } } } } }Nicht wundern, viele der Dinge die ich auskommentiert habe waren zum ausprobieren und weil andere DInge nicht liefen. https://msdn.microsoft.com/en-us/library/aa746475(v=vs.85).aspx Das habe ich auch schon gefunden, aber Microsoft bietet nicht ein einziges Beispiel mit einer Variable an wie ich sie habe. http://www.codeproject.com/Tips/150854/Accessing-Active-Directory-Objects-via-C-Visual-St Das ist der ursprüngliche Code den ich abgeleitet habe Grüße Tician
-
C# Grundlagenfrage
Hallöööchen mit 3 öchen, kurz und knapp: Ich versuche ein Programm zu schreiben das alle untergeordneten Mitarbeiter des aktuell angemeldeten Benutzers am PC in einer listBox anzeigt. Dazu suche ich in der AD nach dem Attribut "manager" in dem unter anderem der Name des Übergeordneten Benutzers steht. Hier fängt mein Problem an, es geht um folgende Zeilen: string username; search.Filter = "(manager="+username+")"; // search.Filter = "(manager=CN=Name Benutzer,OU=Benutzer,OU=Debitorenbuchhaltung,OU=Kaufmaennischer Service,OU=Abteilungen,DC=Domaene,DC=INT)"; // <- funktioniert!username ist dabei eine Variable in der der Benutzername des aktuell angemeldetetn Benutzers gespeichert wird. Wie muss die Suche aussehen damit ich sagen kann "Suche nach dem Benutzernamen im Attribut Manager, egal was davor und danach steht"? Wenn ich die zweite search.Filter benutze bekomme ich auch mein Ergebnis, aber das sollte nicht Sinn der Sache sein^^ Ich habe auch ein bisschen mit den "*" herum probiert und natürlich auch gegoogelt, aber ich weiß nicht wie sich das ganze nennt und was ich eingeben kann um auf ein gutes Beispiel zu kommen. Für die search-Filter Funktion gibt es tausend Beispiele, aber keines das auf mein Problem passt (oder ich bin einfach blind). Ich hoffe ihr könnt mir helfen Tician
-
Azubi-Gehaltsstatistik
Ausbildungsberuf: Fachinformatikerin - Systemintegration Alter: 24 (fast 25) Jahr: 2015 Schulbildung: Mittlere Reife Betriebsgrösse: 200 (Standort), sonst International - unbekannt. Branche: e-Commerce Bundesland: Baden Württemberg Ausbildungsgehalt (1/2/3 Lehrjahr): 800/ 900/1050 Brutto