Solved

Need help with VBS and HTML

Posted on 2009-04-09
12
302 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
Comment Utility
Place your <script> 'between' your </head> & <body>
0
 

Author Comment

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

Expert Comment

by:sirbounty
Comment Utility
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
 

Author Comment

by:teepes
Comment Utility
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
Comment Utility
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
Comment Utility
The .hta isnt working with my gadget i need it to be HTML.
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 

Author Comment

by:teepes
Comment Utility
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
Comment Utility
testing some things now...stand by...
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 500 total points
Comment Utility
    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
Comment Utility
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
Comment Utility
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
Comment Utility
Thanx - already working on a 'workaround' of sorts...I'll post in the other thread...
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Entering a date in Microsoft Access can be tricky. A typo can cause month and day to be shuffled, entering the day only causes an error, as does entering, say, day 31 in June. This article shows how an inputmask supported by code can help the user a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

772 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

11 Experts available now in Live!

Get 1:1 Help Now