Toon posts:

[VBScript/ADSI] Waarom kan ik geen description field lezen?*

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een klein probleempje, ik kan geen description fields lezen uit mijn Active Directory omdat vb zeurt dat het niet kan vinden. Terwijl hij de andere items wel kan vinden ... wat gaat hier fout ?


Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set ObjCommand = CreateObject("ADODB.Command")
ObjCommand.ActiveConnection = objConnection
ObjCommand.CommandText = _
"<LDAP://" & strDomain & ">;(&(objectClass=CLASS)" & _
"(sAMAccountName=" & "NAAM" & "));distinguishedName,description,name;subtree"
Set ObjRecordSet = objCommand.Execute
'Nothing found --> Stop script

If ObjRecordSet.recordcount = 0 Then
    WScript.Echo "No Objects founds."
    WScript.Quit
Else
    WScript.echo ObjRecordSet.Fields.Item("name")
        Wscript.echo ObjRecordSet.Fields.Item("distinguishedName")
        Wscript.echo ObjRecordSet.Fields.Item("description")
End If

objConnection.Close


Dit resulteerd in een "Item cannot be found in the collection corresponding to the requested name or ordinal." op de regel waar de description wordt opgehaald. Dat terwijl hij weldegelijk aanwezig is.

EDIT:
Dit moet zijn een "type mismatch" error. foutje bij typen van voorbeeld etc.

[ Voor 12% gewijzigd door Verwijderd op 22-05-2007 12:02 . Reden: Code tags toegevoegd ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Als je code post, gebruik dan code tags a.u.b.

Itereer de fields collection eens en output de .name property? Of probeer de index van het field eens (.fields(2)) ofzo.
Kijk ook eens in Debuggen: Hoe doe ik dat?

[ Voor 55% gewijzigd door RobIII op 22-05-2007 11:32 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op dinsdag 22 mei 2007 @ 11:22:
Als je code post, gebruik dan code tags a.u.b.

Itereer de fields collection eens en output de .name property? Of probeer de index van het field eens (.fields(2)) ofzo.
Kijk ook eens in Debuggen: Hoe doe ik dat?
Ah je hebt gelijk ... ik had een typefoutje gemaakt, teveel geprobeerd maar het werkt nog steeds niet.
Als ik fields(1) doe krig ik op het specifieke veld van description een "Type mismatch" terwijl de andere velden wel normaal werken resp. 0 en 2. Is die discription van AD een ander type ofzo ?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Probeer eens iets als:
Visual Basic:
1
Wscript.echo Cstr(ObjRecordSet.Fields(1))

of:
Visual Basic:
1
Wscript.echo Cstr(ObjRecordSet.Fields(1) & "")


Waarschijnlijk is dat field NULL ofzo en dan klapt 'ie ja ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op dinsdag 22 mei 2007 @ 12:08:
Probeer eens iets als:
Visual Basic:
1
Wscript.echo Cstr(ObjRecordSet.Fields(1))

of:
Visual Basic:
1
Wscript.echo Cstr(ObjRecordSet.Fields(1) & "")


Waarschijnlijk is dat field NULL ofzo en dan klapt 'ie ja ;)
Hij is dus leeg volgens VBScript maar in de AD is ie echt gevuld ? dus wat gaat hier fout ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het is dus een array ... grmbl
Pagina: 1