[VBScript]User eigenschappen lezen uit AD

Pagina: 1
Acties:
  • 138 views sinds 30-01-2008
  • Reageer

  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 04-05 12:15
Met de volgende code, haal ik een user object uit de AD van de aangemelde gebruiker. Dit werkt perfect.

code:
1
2
3
Set adsNTSysInfo =  CreateObject("WinNTSystemInfo")
Set adsUser = GetObject("WinNT://" & adsNTSysInfo.DomainName & _ 
    "/" & adsNTSysInfo.UserName & ",User")


Maar nu wil ik bepaalde eigenschappen lezen van deze gebruiker
code:
1
adsUser.FullName

werkt, maar
code:
1
adsUser.Office
doet het niet.

Als ik zoek op internet vindt ik geen eigenschappen voor kantoor en adres enz... is dit niet mogelijk? Of moet het anders?

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy


  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 00:54
Zie MSDN voor info.

  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 04-05 12:15
* -Klimaks- is a }:O

Met deze code haal ik immers een lokale account op.
code:
1
2
Set adsUser = GetObject("WinNT://" & adsNTSysInfo.DomainName & _ 
"/" & adsNTSysInfo.UserName & ",User")


Met volgende code werkt het wel.
code:
1
2
Set adsUser = GetObject
("LDAP://cn=******,OU=****,ou=*****,DC=sbsdomein,DC=local")


Nu nog uitvinden hoe ik op basis van de username een object uit de AD kan halen. Grote probleem is dat ik niet weet in welke OU.

[ Voor 9% gewijzigd door -Klimaks- op 02-04-2004 15:37 ]

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy


  • jvdmeer
  • Registratie: April 2000
  • Laatst online: 00:54
-Klimaks- schreef op 02 april 2004 @ 14:51:
* -Klimaks- is a }:O

Met deze code haal ik immers een lokale account op.
code:
1
2
Set adsUser = GetObject("WinNT://" & adsNTSysInfo.DomainName & _ 
"/" & adsNTSysInfo.UserName & ",User")
Je moet 'm verbeteren naar:
code:
1
Set adsUser = GetObject("WinNT://[domein]/" & adsNTSysInfo.UserName & ",User")


Waarbij je domein zelf invult. of je zoekt het domain op via:
code:
1
2
Set objNetwork  = CreateObject("Wscript.Network")
Domein=objNetwork.UserDomain

  • -Klimaks-
  • Registratie: Maart 2001
  • Laatst online: 04-05 12:15
jvdmeer schreef op 02 april 2004 @ 15:07:
[...]


Je moet 'm verbeteren naar:
code:
1
2
Set adsUser = _
 GetObject("WinNT://[domein]/" & adsNTSysInfo.UserName & ",User")


Waarbij je domein zelf invult. of je zoekt het domain op via:
code:
1
2
Set objNetwork  = CreateObject("Wscript.Network")
Domein=objNetwork.UserDomain
Als ik met niet vergis, deed ik dat toch al dmv adsNTSysInfo.DomainName?

Probleem is trouwens opgelost.
Met volgende code haal ik het LDAP:// path op van een user ongeacht de OU
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Function GetLDAPPath(strUserName)
    Dim Conn, strRS, RS, strConn 
    Set Conn = CreateObject("ADODB.Connection")
    Set RS = CreateObject("ADODB.Recordset")
    Conn.Provider = "ADsDSOObject"
    strConn = "Active Directory Provider"
    Conn.Open strConn 
    strRS = "SELECT * FROM 'LDAP://sbsdomein' WHERE " & _
 objectClass = 'user' AND sAMAccountName = '" & strUserName &  "'"
    
    RS.Open strRS, Conn, 1, 1
    
    GetLDAPPath =  RS.Fields(0)
    
    rs.Close
    Conn.Close
    Set RS = Nothing
    Set conn = Nothing
End Function


En met dat LDAP Path kan ik verder.

Tot aan het volgende probleem...

Het kantoor vraag ik op dmv adsUser.OfficeLocations, werkt allemaal heel mooi. Maar als dit niet is ingevuld krijg ik een mooie runtime error ipv een lege string zoals logischerwijs verwacht wordt :'(

Ik kan daar nu wel een functie rondschrijven die controleert op de error, maar is er geen elegantere manier ?

[ Voor 72% gewijzigd door -Klimaks- op 02-04-2004 15:37 ]

In those days spirits were brave, the stakes were high, men were REAL men, women were REAL women, and small furry creatures from Alpha Centauri were REAL small furry creatures from Alpha Centauri.
Zaphod in The Hitchhikers Guide To The Galaxy