Solved

Need help with VBS and HTML

Posted on 2009-04-09
12
315 Views
Last Modified: 2013-12-24
Hello I have a script that when ran as a .vbs file it shows me all locked user accounts. When i try to put it into an html file it wont work.

Am i missing something? You would think if it runs as a .vbs file it would run in an html file.
<html>
 
<head>
    <title>Woot</title>
	    <script type="text/vbscript">
 
	   On Error Resume Next 
 
	   Const ADS_SCOPE_SUBTREE = 2 
 
	   Set objConnection = CreateObject("ADODB.Connection") 
	   Set objCommand =   CreateObject("ADODB.Command") 
	   objConnection.Provider = "ADsDSOObject" 
	   objConnection.Open "Active Directory Provider" 
	   Set objCommand.ActiveConnection = objConnection 
 
	   objCommand.Properties("Page Size") = 1000 
	   objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
	   objCommand.CommandText = _ 
	      "SELECT distinguishedName FROM 'LDAP://dc=domain,dc=domain,dc=domain,dc=com' WHERE objectCategory='user'" 
 
	   Set objRecordSet = objCommand.Execute 
	   objRecordSet.MoveFirst 
 
	   Do Until objRecordSet.EOF 
	   strDN = objRecordset.Fields("distinguishedName").Value 
	   Set objUser = GetObject ("LDAP://" & strDN) 
 
  	     If objuser.isAccountlocked = True Then 
            document.write objuser.samAccountName
			objRecordSet.MoveNext
 	     Else 
	        objrecordset.MoveNext 
		 End If
	   Set objuser = Nothing 
	   Loop 
</script>
</head>
<body>
</body>
</html>

Open in new window

0
Comment
Question by:teepes
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 6
12 Comments
 
LVL 67

Expert Comment

by:sirbounty
ID: 24107286
Place your <script> 'between' your </head> & <body>
0
 

Author Comment

by:teepes
ID: 24107306
I have tried putting it in everyspot and nothing works.
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24107349
Are you trying to develop an HTA?
If so, name the file 'filename.hta'

Otherwise, ignore this post.
<html>
 
<head>
   <title>Woot</title>
 
   <HTA:Application ID="myApp"
        ApplicationName="My App"
   >
</head>
 
<script Language="VBScript">
 
           On Error Resume Next 
 
           Const ADS_SCOPE_SUBTREE = 2 
 
           Set objConnection = CreateObject("ADODB.Connection") 
           Set objCommand =   CreateObject("ADODB.Command") 
           objConnection.Provider = "ADsDSOObject" 
           objConnection.Open "Active Directory Provider" 
           Set objCommand.ActiveConnection = objConnection 
 
           objCommand.Properties("Page Size") = 1000 
           objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
           objCommand.CommandText = _ 
              "SELECT distinguishedName FROM 'LDAP://dc=domain,dc=domain,dc=domain,dc=com' WHERE objectCategory='user'" 
 
           Set objRecordSet = objCommand.Execute 
           objRecordSet.MoveFirst 
 
           Do Until objRecordSet.EOF 
           strDN = objRecordset.Fields("distinguishedName").Value 
           Set objUser = GetObject ("LDAP://" & strDN) 
 
             If objuser.isAccountlocked = True Then 
            document.write objuser.samAccountName
                        objRecordSet.MoveNext
             Else 
                objrecordset.MoveNext 
                 End If
           Set objuser = Nothing 
           Loop 
</script>
 
<body>
</body>
</html>

Open in new window

0
SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

 

Author Comment

by:teepes
ID: 24107397
well basically what i'm doing is building a vista gadget. I'm not sure if it will work with .hta.
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24107642
Oh...haven't tried that myself yet...don't even know where to begin.
However, I would suggest simplifying the code greatly - perhaps just include an msgbox or something to alert you that the script section is even running...
0
 

Author Comment

by:teepes
ID: 24108022
The .hta isnt working with my gadget i need it to be HTML.
0
 

Author Comment

by:teepes
ID: 24108537
I did some toying around with the script some more, and noticed that if i do the following code in the else statement it will put put hello world for every account not locked out. Then i tried to put in document.write (objuser.samAccountName) in the else statement and it's blank. Don't know if that will tell you guys anything.
  	     If objuser.isAccountlocked = True Then 
                 document.write objuser.samAccountName
	        objRecordSet.MoveNext
 	     Else 
	        document.write ("hello world")
                 objrecordset.MoveNext 
		 End If
	   Set objuser = Nothing 
	   Loop 

Open in new window

0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24108686
testing some things now...stand by...
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
ID: 24108770
    Set objUser = GetObject ("LDAP://" & strDN)

may be your issue...

"Thats because, at heart, a gadget is nothing more than a Web page, and, for security reasons, Web pages arent able to make use of GetObject. "

ref: http://www.microsoft.com/technet/scriptcenter/topics/vista/gadgets-pt1.mspx

Doesn't look like that can be accomplished...
0
 

Author Comment

by:teepes
ID: 24109001
Thanks sirbounty

I am going to award you the points. I posted another question on how i could do something like what i need if any ideas come to mind.

http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_24310138.html 
0
 

Author Closing Comment

by:teepes
ID: 31568518
Thanks, if you can think of a way to accomplish what im trying answer my new post

http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_24310138.html 
0
 
LVL 67

Expert Comment

by:sirbounty
ID: 24109028
Thanx - already working on a 'workaround' of sorts...I'll post in the other thread...
0

Featured Post

Webinar: MariaDB® Server 10.2: The Complete Guide

Join Percona’s Chief Evangelist, Colin Charles as he presents MariaDB Server 10.2: The Complete Guide on Tuesday, June 27, 2017 at 7:00 am PDT / 10:00 am EDT (UTC-7).

Question has a verified solution.

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

Australian government abolished Visa 457 earlier this April and this article describes how this decision might affect Australian IT scene and IT experts.
Your data is at risk. Probably more today that at any other time in history. There are simply more people with more access to the Web with bad intentions.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

734 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