PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Lokale Gruppen auflisten vb .net



ravenmaster
05.06.2009, 12:07
Servus zusammen,

sitze hier gerade im Praktikum und wurde gebeten in vb .net 'n tool zu basteln das mir die lokalen Gruppen des aktuell angemeldeten users in einem listview ausgibt. Nur leider habe ich von .net soviel ahnung wie ne kuh vom eier legen.

Wäre jemand so nett und könnte mir helfen?

Hier was ich bisher so habe:



PublicClass Form1
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Dim usr AsString = Environment.UserName
Dim dom AsString = Environment.UserDomainName
Dim de AsNew DirectoryServices.DirectoryEntry("LDAP://")



ForEach m AsStringIn de.Properties("memberof")
Me.ListView1.Items.Add(m)
Next


EndSub
EndClass

ir0n
05.06.2009, 13:02
For Each Name As String In IO.Directory.GetFiles("LDAP://", <DirectorySearch.TopOnly>)
ListBox1.Items.Add(Name)
Next

<DirectorySearch.TopOnly> heißt so oder ähnlich, musst einfach mal was mit Directory eingeben, dann kommt ja das Auswahlfenster ;)

Lg, Chris

ravenmaster
05.06.2009, 13:24
habs jezz mit hilfe von nem kollegen hier hinbekommen...
hier das ganze prüllding



Imports System.DirectoryServices

PublicClass Form1
PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
Dim usr AsString = Environment.UserName
Dim dom AsString = Environment.UserDomainName
Dim deUser As DirectoryServices.DirectoryEntry = getUser(usr, True)

ForEach m AsStringIn deUser.Properties("memberof").Value
Dim deGroup AsNew DirectoryEntry("LDAP://" & m)
Me.ListView1.Items.Add(deGroup.Name)
Next
EndSub

PublicFunction getUser(ByVal pstrUsername$, OptionalByVal bFromSAM AsBoolean = False) As DirectoryServices.DirectoryEntry

getUser = Nothing

IfNot bFromSAM Then
Try
Dim objADSystemInfo As ActiveDs.ADSystemInfo
objADSystemInfo = CreateObject("ADSystemInfo")
getUser = New DirectoryServices.DirectoryEntry("LDAP://" & objADSystemInfo.DomainDNSName)
Dim sUser AsNew DirectoryServices.DirectorySearcher(getUser, _
"(&(objectclass=user)(anr=" & pstrUsername & "))", _
Nothing, DirectoryServices.SearchScope.Subtree)
getUser = sUser.FindOne.GetDirectoryEntry
Catch ex As Exception
EndTry
Else
Try
Dim objADSystemInfo As ActiveDs.ADSystemInfo
objADSystemInfo = CreateObject("ADSystemInfo")
getUser = New DirectoryServices.DirectoryEntry("LDAP://" & objADSystemInfo.DomainDNSName)
Dim sUser AsNew DirectoryServices.DirectorySearcher(getUser)
sUser.Filter = "(&(objectclass=user)(SAMAccountName=" & pstrUsername & "))"
sUser.PropertiesToLoad.Clear()
sUser.PropertiesToLoad.Add("SAMAccountName")
sUser.SearchScope = SearchScope.Subtree
getUser = sUser.FindOne.GetDirectoryEntry
Catch ex As Exception
ReturnNothing
EndTry
EndIf
EndFunction
EndClass