WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

ADSI
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Error: 234 Unable to Parse ADSI Path

Keywords:   Error: 234 Unable to Parse ADSI Path

Question:

I have a Winbatch utility I wrote that uses the ADSI extender. I am finding that for some users everything works fine and for other users the get a "234: Unable to parse ADSI path" extender error. The syntax is the same for both sets of users. Is this related to some type of Active Directory permissions or can you explain why some users work and others get this error? The error shows up when performing DsFindPath and dsisMemberGrp tasks. I am using the WWADS44I.DLL extender and Winbatch 2006D.

Answer:

There are many possible reasons for getting this error. The most common are that computer running the script is not joined to the correct domain or not even connected to the appropriate network.

Less likely but possible, when using dsFindPath, is that the current user is not logged on to the computer running the script with a domain account. It all depends on your DS policy/security settings.

This problem can sometimes be fixed by adding the server name to the LDAP path - "LDAP://servername/...." or by removing it in other cases. It all depends on what is causing the problem.


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
File Created: 2007:07:12:09:57:48
Last Updated: 2007:07:12:09:57:48