List XP/Vista brugere
Jeg mangler en funktion der lister alle lokale brugere på en XP eller Vista PC.Det skal være "ægte" brugere/administratoere, ikke systemkonti.
(Administratorere er jo ofte tilfældet i XP, hvor brugere nok mest findes i Vista.)
Jeg har fundet frem til nedenstående, men for det første virker det kun på en Dansk XP (har ikke testet på Vista endnu), og for det andet lister den også systemkonti som fx "INTERAKTIV", "ASPNET" og "Godkendte brugere".
Har foreløbig kaldt funktionen med følgende String som parameter:
"WinNT://" & Environment.MachineName.ToString & "/Brugere"
eller
"WinNT://" & Environment.MachineName.ToString & "/Administratorer"
....men det er jo ikke særlig internationalt/universalt...
Her er min kode indtil videre:
Public Function GetLocalUsers(ByVal strLDAP_Path As String) As Hashtable
Dim ADUsers As Object
Dim ADUser As Object
Dim ADEntry As New DirectoryEntry(strLDAP_Path)
Dim RetArray As New Hashtable()
Try
ADUsers = ADEntry.Invoke("Members")
For Each ADUser In ADUsers
RetArray.Add(ADUser.Name, ADUser)
Next
Catch e As Exception
Me.txtDebug.Text = Me.txtDebug.Text & e.Message & vbCrLf
Return RetArray
End Try
Return RetArray
End Function
ps.
Imports System.DirectoryServices - kræver reference til System.DirectoryServices