vbs script almost works. Need help with a field name

I found this vbs script which is supposed to list all members in an Active Directory with their "Logon Script". If I comment out the line which is supposed to get the" Logon Script" value, the thing will run and generate the list of AD users.

If I uncomment that line, the thing runs, but fails at the line requesting the logon scirpt, with this

 "findNoLogonScriptUsers.vbs(56, 1) ADODB.Recordset: Item cannot be found in the collection corresponding to the requested name or ordinal."

A little research says either I spelled it wrong or I'm asking for a non-existant field.

What I want is the "logon script". I see this value in the AD gui, on the Profile tab. We use several scripts and I type only the name of the script in the gui, the OS knows the path

Here are 2 lines from the vbs script
=============================
strName = adoRecordset.Fields("sAMAccountName").Value

strScript = adoRecordset.Fields("scriptPath").value
=============================

The first apparently works, the second fails.

Is "scriptPath" the field name for the gui "Logog Script" field?

How would I get a list of AD field names? I mean pull it off my system. (Win Svr 2003, also using Exchange Server 2007)

I'm a noobie at this stuff, I'd appreciate any help. If this doesn't work, I can just get it manually
cgunixAsked:
Who is Participating?
 
snusgubbenConnect With a Mentor Commented:
"scriptPath" is the correct name.

List of fields: http://fsuid.fsu.edu/admin/lib/WinADLDAPAttributes.html

Try this and see if it works. Edit the LDAP string to match your domain:


On Error Resume Next
Set objUser = GetObject _
  ("LDAP://cn=username,ou=your_ou,dc=domain,dc=com")
objUser.GetInfo
 
strScript = objUser.Get("scriptPath")
 
WScript.echo "scriptPath: " & strScript
0
 
RobSampsonConnect With a Mentor Commented:
Hi, scriptPath is the correct attribute, but you need to make sure your query is returning it as an available field.

This would mean your SELECT query needs to include it:
SELECT adsPath, samAccountName, scriptPath FROM .....

or your ADO filter needs to include it:
<LDAP://DC=domain,DC=com>;(&(objectClass=user);adsPath,samAccountName,scriptPath;subtree

Regards,

Rob.
0
 
cgunixAuthor Commented:
Thanks for the help, but I couldn't make it work and can't spend more time on it - I just don't know enough about vbs syntax to follow your instructions. I made some progress, but it is my lack, not yours. I can do the task I need manually.

Thanks

LC
0
 
RobSampsonCommented:
If you post the part of your code that performs the query, we can test it and modify it for you.

Rob.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.