Solved

vbs script almost works. Need help with a field name

Posted on 2011-02-17
4
912 Views
Last Modified: 2012-05-11
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
0
Comment
Question by:cgunix
  • 2
4 Comments
 
LVL 21

Accepted Solution

by:
snusgubben earned 250 total points
ID: 34919905
"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
 
LVL 65

Assisted Solution

by:RobSampson
RobSampson earned 250 total points
ID: 34922549
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
 

Author Closing Comment

by:cgunix
ID: 34926821
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
 
LVL 65

Expert Comment

by:RobSampson
ID: 34931025
If you post the part of your code that performs the query, we can test it and modify it for you.

Rob.
0

Featured Post

Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
Mapping Drives using Group policy preferences Are you still using old scripts to map your network drives if so this article will show you how to get away for old scripts and move toward Group Policy Preference for mapping them. First things f…
This tutorial will walk an individual through the steps necessary to join and promote the first Windows Server 2012 domain controller into an Active Directory environment running on Windows Server 2008. Determine the location of the FSMO roles by lo…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now