webForumDet fria alternativet

mySearcher.Filter - var är felet som jag inte ser...

.NET

5 svar · 227 visningar · startad av T_Codez

Medlem sedan juli 2001458 inlägg
Frågan#1

Felmess:

Additional information: The (&(objectClass=user)(Name>=to)&&(Name<=to)) search filter is invalid.

Kodsnutt:

mySearcher.Filter = "(&(objectClass=user)(Name >= "+ usr +")&& (Name >= "+ usr +"))";

Ser ni vad jag inte ser!?

Tack för uppmärksamheten :)

Medlem sedan maj 20012 812 inlägg
#2

vad är mySearcher för objekt.

Skulle dock misstänka att du måste ha någon operator mellan

(&(objectClass=user) 
och
(Name>=to)

Det är dock omöjligt att svara på då det inte är .NET specifikt problem utan ett program som har med en applikation som någon har programmerat till dig.

- M

Medlem sedan juli 2001458 inlägg
#3

Hej

Om jag gör en sökning/filtrering mot AD:et. När jag skriver:

mySearcher.Filter = "(&(objectClass=user)(Name>="+ usr +"))";

Och det ger en träff med det jag anger i textfältet samt alla eftervarande i users i ad:et.

Målet jag har nu är att jag vill filtrera även de "bakomvarande" users som inte stämmer överens med inmatade sökning, typ. Och det har jag uppenbarligen ännu inte riktigt klurat ut.

För att se hela koden under knappeventet se:
http://www.webforum.nu/showthread.php?s=&threadid=109497&forumid=29

Hoppas denna info räcker... Om inte så får ni hojta till så ska jag försöka hitta någon mer info...

Medlem sedan maj 20012 812 inlägg
#4

Okej! Ad har jag inte programmerat emot så det kan jag inte hjälpa dig med :(

- M

Medlem sedan juli 2001458 inlägg
#5

NP Tack ändå :e

Medlem sedan juli 2001458 inlägg
#6

Hej

Hittade lösningen till slut. Det fungerar med wildcard. Det är bara det att du måste ha med ett wildcard vid sökningen för att det skall fungera. (men det är ju en annan historia).

Lösningen är (med ytterligare ett AD fält.)

private void button1_Click(object sender, System.EventArgs e)
{
	string dom = this.textBox1.Text;
	string avd = this.textBox2.Text;
	string usr = this.textBox4.Text;
	
	System.DirectoryServices.DirectoryEntry entry = new System.DirectoryServices.DirectoryEntry("LDAP://" +dom );
	System.DirectoryServices.DirectorySearcher mySearcher = new System.DirectoryServices.DirectorySearcher(entry);
		mySearcher.Filter = "(&(objectClass=user) (Name="+ usr +")(department="+ avd +"))";
		foreach(System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll())
			{
			try
			{
				System.DirectoryServices.DirectoryEntry de = resEnt.GetDirectoryEntry();
				textBox3.Text = textBox3.Text + de.Properties["name"].Value.ToString() +"  " + de.Properties["department"].Value.ToString() + "\r\n";
			}
			catch(Exception ex)
			{
			}
			}
	}
353 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
229 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)