Wilson WindowWare Tech Support

WinBatch WinBatch+Compiler WebBatch
Home | Tech Database | Tech BBS | White Papers | Purchase


Error: 234 Unable to Parse ADSI Path

Keywords:   Error: 234 Unable to Parse ADSI Path

Question:

The following code communicates with the AD on our exchange server (v5.5). It looks to extract the users SID for use later. The code works on XP but not on NT4.
AddExtender("wwads34i.dll")
AddExtender("wwwnt34i.dll")
;AddExtender("wwmap34i.dll")
vuser= askline("SID Finder", "please enter the user's kerberos ID:", "kerberos-ID")
vlist = dsfindpath('LDAP://GSNB01E', 'otherMailbox=GSKERB$%vuser%')
vSID = dsGetProperty(vlist, "Assoc-NT-Account")
message("","%vSID%") 

Answer:

One of the many reasons: Does the NT machine have SP 6 installed? MS says that you should have SP 6 installed before you can use ADSI on NT 4.

Question (cont'd):

The script is running in a windows nt 4 server SP6a with IIS 4 installed.

NB: dsGetProperty works fine, dsSetProperty shows the error

Answer:

Our NT 4.0 test server has been down for a few days so I didn't have a chance to experiment with the extender and IIS 4.0 until now. Much to my amazement I could set IIS 4.0 properties without any problems on our server...

The fact that you can get but not set properties and that you get the ADSI path error may be telling. The dsSetProperty function makes a query into the IIS schema by constructing the path to the properties schema information (other ADSI providers do not require this approach.) It does this in order to determine how to convert the third parameter of the function into an IIS native data type. However, the dsGetProperty does not need to do this as the property value is returned to the extender with type information.

All this indicates that there is a problem with accessing the schema. You can test your ability to access the schema by attempting to bind to "IIS://localhost/schema" with the account that was running your script. If you can not bind to and read the schema, you need to check into the schema's security settings.

Try:

 
bResult = dsIsObject("IIS://localhost/schema")

if bResult
sText = "Schema found"
else
sText = "Schema not found"
endif

message( "test", sText)

Question (cont'd):

sText = "Schema found"

Answer:

Can you access the schema syntax object: "IIS://localhost/schema/string"?
Article ID:   W15041