Benutzerattribute aus AD lesen

18/01/2008 - 16:47 von Ralf | Report spam
Guten Tag zusammen,

ich würde gerne einige Benutzer-Eigenschaften aus unserem Directory
auslesen.
Das funktioniert auch alles ganz gut bis zu den Exchange Eigenschaften
z.B. mDBUSeDefault
Da erhalte ich sofort eine Fehlermeldung "Unbekannter Fehler (0x8000500c)".
Wenn ich das Programm auf dem dem Exchange-Server direkt laufen lasse
(als Domànenadmin) funktioniert alles
problemlos.
Das riecht verdammt nach Berechtigung aber ich habe keinen Anhaltspunkt,
da ich beim AD-Connect den Domànen-Admin mitgebe.

Hier mein Code (etwas gekürtzt, aber làuft:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim LDAProot As String
LDAProot = "LDAP://OU=meineOU,dc=domàne,dc=domàne"

Dim suche As DirectoryServices.DirectorySearcher
Dim ergebnisliste As DirectoryServices.SearchResultCollection
Dim ergebnis As DirectoryServices.SearchResult

Const suchanfrage = "(&(objectclass=user)(cn=h*))"

suche = New DirectoryServices.DirectorySearcher()
suche.SearchRoot = New
DirectoryServices.DirectoryEntry(LDAProot, "domàne\admin", "passwort")
suche.Filter = suchanfrage
suche.PropertiesToLoad.Add("mailnickname")
suche.PropertiesToLoad.Add("mDBUseDefaults")
suche.SearchScope = DirectoryServices.SearchScope.Subtree

' Suche starten
ergebnisliste = suche.FindAll()
' Ergebnismenge ausgeben

For Each ergebnis In ergebnisliste
Dim de As DirectoryServices.DirectoryEntry =
ergebnis.GetDirectoryEntry
' MsgBox(de.Properties("l").Value)
MsgBox(de.Properties("Company").Value)
' MsgBox(de.Properties("fromEntry").Value)
'MsgBox(de.Properties("mDBUseDefaults").Item(0).ToString)
MsgBox(de.Properties("mdbusedefaults").Value.ToString
Next
End Sub


Es handelt sich bei der Umgebung um Windows 2003 und Exchange 2003 und
eine Applicatio (exe) in Visual Basic 2005 Express.

Für jeden Hinweis bin ich dankbar
Falls es einen Komplett anderen Weg gibt, an diese Eigenschaften zu
kommen würde ich mich über Infos auch freuen.
(Es geht primàr um die eingetellten Speichergrenzen auf dem Postfach

Grüße
Ralf
 

Lesen sie die antworten

#1 Ralf
22/01/2008 - 10:59 | Warnen spam
Ralf schrieb:
Guten Tag zusammen,

ich würde gerne einige Benutzer-Eigenschaften aus unserem Directory
auslesen.
Das funktioniert auch alles ganz gut bis zu den Exchange Eigenschaften
z.B. mDBUSeDefault
Da erhalte ich sofort eine Fehlermeldung "Unbekannter Fehler (0x8000500c)".
Wenn ich das Programm auf dem dem Exchange-Server direkt laufen lasse
(als Domànenadmin) funktioniert alles
problemlos.
Das riecht verdammt nach Berechtigung aber ich habe keinen Anhaltspunkt,
da ich beim AD-Connect den Domànen-Admin mitgebe.

Hier mein Code (etwas gekürtzt, aber làuft:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim LDAProot As String
LDAProot = "LDAP://OU=meineOU,dc=domàne,dc=domàne"

Dim suche As DirectoryServices.DirectorySearcher
Dim ergebnisliste As DirectoryServices.SearchResultCollection
Dim ergebnis As DirectoryServices.SearchResult

Const suchanfrage = "(&(objectclass=user)(cn=h*))"

suche = New DirectoryServices.DirectorySearcher()
suche.SearchRoot = New
DirectoryServices.DirectoryEntry(LDAProot, "domàne\admin", "passwort")
suche.Filter = suchanfrage
suche.PropertiesToLoad.Add("mailnickname")
suche.PropertiesToLoad.Add("mDBUseDefaults")
suche.SearchScope = DirectoryServices.SearchScope.Subtree

' Suche starten
ergebnisliste = suche.FindAll()
' Ergebnismenge ausgeben

For Each ergebnis In ergebnisliste
Dim de As DirectoryServices.DirectoryEntry =
ergebnis.GetDirectoryEntry
' MsgBox(de.Properties("l").Value)
MsgBox(de.Properties("Company").Value)
' MsgBox(de.Properties("fromEntry").Value)
'MsgBox(de.Properties("mDBUseDefaults").Item(0).ToString)
MsgBox(de.Properties("mdbusedefaults").Value.ToString
Next
End Sub


Es handelt sich bei der Umgebung um Windows 2003 und Exchange 2003 und
eine Applicatio (exe) in Visual Basic 2005 Express.

Für jeden Hinweis bin ich dankbar
Falls es einen Komplett anderen Weg gibt, an diese Eigenschaften zu
kommen würde ich mich über Infos auch freuen.
(Es geht primàr um die eingetellten Speichergrenzen auf dem Postfach

Grüße
Ralf



Hallo zusammen,

mittlerweile habe ich heruasgefunden, das ich meinen Programm über das
.Net Framework in der Systemsteuerung Berechtigung geben muss. Das hat
auch super geklappt, zumindest kann ihc das Programm vom netzwerk aus
starten, was vorher nicht ging.
Leider habe ich immer noch das Problem der AD-Attribute.
Muss ich das Programm auf dem Domànencontroller noch berechtigen??
Wàre aber ja sehr aufwendig

gruß

Ähnliche fragen