?
Solved

vb.net add ldap query results to listview

Posted on 2014-10-28
3
Medium Priority
?
375 Views
Last Modified: 2014-10-28
I have an ldap query i run via a vb.net gui.  What i am trying to do is return each result to its respective listview column.  Via the below code, the first thing i do is create the two columns.  When i try and run the query nothing appends to its respective column.  If i remove the columing the query works fine, can someone help?

   
Dim item As ListViewItem = ListView1.Items.Add("Username")
        Dim item1 As ListViewItem = ListView1.Items.Add("Title")
        For Each i As String In ListBox1.Items
            Dim de As New DirectoryEntry("LDAP://test.com/DC=test,DC=com")
            Dim LdapFilter As String = "(sAMAccountName=" & i & ")"
            Dim searcher As New DirectorySearcher(de, LdapFilter)
            Dim result As SearchResult = searcher.FindOne()
            item.SubItems.Add(result.Properties("sAMAccountName")(0).ToString())
            item1.SubItems.Add(result.Properties("title")(0).ToString())
            Dim ADEntry As DirectoryEntry = New DirectoryEntry(result.Path)
            If result.Properties("displayName") Is Nothing Then
                On Error Resume Next
            End If
        Next

Open in new window

0
Comment
Question by:derek7467
  • 3
3 Comments
 

Author Comment

by:derek7467
ID: 40409269
Ok, i've gotten this far.  I have a listview that i want to add the ID, samaccountname, and title.  I added the 3 columns to the listview.  I have the below code, but when i run it, it just shows in one long line, and doesnt create the columns.  How can i force it to create the columns and then place each result under each column?

 Dim userIds As IEnumerable(Of String) = {"test1", "test2", "test3"}
        For Each i As String In userids
            Dim de As New DirectoryEntry("LDAP://test.com/DC=test,DC=com")
            Dim LdapFilter As String = "(sAMAccountName=" & i & ")"
            Dim searcher As New DirectorySearcher(de, LdapFilter)
            Dim result As SearchResult = searcher.FindOne()
            ListView1.Items.Add(i)
            ListView1.Items.Add(result.Properties("sAMAccountName")(0).ToString())
            ListView1.Items.Add(result.Properties("title")(0).ToString())
        Next

Open in new window

0
 

Accepted Solution

by:
derek7467 earned 0 total points
ID: 40409328
figured it out with the help from stackexchange:

 Dim userIds As IEnumerable(Of String) = {"test1", "test2", "test3"}
        For Each i As String In userids
            Dim de As New DirectoryEntry("LDAP://test.com/DC=test,DC=com")
            Dim LdapFilter As String = "(sAMAccountName=" & i & ")"
            Dim searcher As New DirectorySearcher(de, LdapFilter)
            Dim result As SearchResult = searcher.FindOne()
            Dim item As ListViewItem = ListView1.Items.Add(i)
            item.SubItems.Add(result.Properties("displayName")(0).ToString())
            item.SubItems.Add(result.Properties("title")(0).ToString())
            item.SubItems.Add(result.Properties("userPrincipalName")(0).ToString())
        Next
0
 

Author Closing Comment

by:derek7467
ID: 40409329
incase anyone ever needs this!
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Compliance and data security require steps be taken to prevent unauthorized users from copying data.  Here's one method to prevent data theft via USB drives (and writable optical media).
How to deal with a specific error when using the Enable-RemoteMailbox cmdlet to create a mailbox in the cloud-based service, for an existing user in an on-premises Active Directory.
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …
Suggested Courses

621 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question