Solved

Need help with VBS and HTML

Posted on 2009-04-09
12
305 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
  • 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
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 

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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

Any business that wants to seriously grow needs to keep the needs and desires of an international audience of their websites in mind. Making a website friendly to international users isn’t prohibitively expensive and can provide an incredible return…
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

785 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