Solved

Ignore an error on vbs and continue

Posted on 2009-04-13
4
2,046 Views
Last Modified: 2012-06-21
Hi
I have the attached a code that resets the administrator's password.
I want to know how i can modify it to ignore and continue forward with the rest of the script in case the script can't find the user "Administrator"? Since right now Im getting an error and the script stops (obviously since the user is missing).

Also, a way to indicate if the reset was successful in the form of exporting the username (Administrator) to a txt file?
strComputer = "." 
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")
objUser.SetPassword "PASSWORD"

Open in new window

0
Comment
Question by:johnnyjonathan
4 Comments
 
LVL 76

Expert Comment

by:David Lee
ID: 24129595
Hi, johnnyjonathan.

Add the command

    On Error Resume Next

to the top of the script.
0
 
LVL 38

Accepted Solution

by:
Shift-3 earned 500 total points
ID: 24129653
For more information, see this article on vbscript error handling.

You could use the script below to log errors to a file.


On Error Resume Next
 
strComputer = "." 
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")
objUser.SetPassword "PASSWORD"
 
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLog = objFSO.CreateTextFile("log.txt", True)
 
If Err.Number <> 0 Then
    objLog.WriteLine "Password reset unsuccessful."
    objLog.WriteLine "Error: " & Err.Number
    objLog.WriteLine "Error (Hex): " & Hex(Err.Number)
    objLog.WriteLine "Source: " &  Err.Source
    objLog.WriteLine "Description: " &  Err.Description
 
    Err.Clear
Else
    objLog.WriteLine "Password reset successful."
End If
 
objLog.Close

Open in new window

0
 
LVL 92

Expert Comment

by:Patrick Matthews
ID: 24129908
Hello johnnyjonathan,

As noted by the Experts above, using the statement

      On Error Resume Next

tells VBScript to ignore runtime errors and continue with the next statement.  You can test for whether an
Error occurred by testing the Number property of the Err object; if it is 0, no error occurred.

This is the extent of VBScript's error handling, unlike VBA/VB6, in which you can branch out to error handling
routines.  To "turn off" this error handling, use:

      On Error GoTo 0

Regards,

Patrick
0
 

Author Closing Comment

by:johnnyjonathan
ID: 31569487
Exactly what i was looking for ! thanks!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Introduction During my participation as a VBScript contributor at Experts Exchange, one of the most common questions I come across is this: "I have a script that runs against only one computer. How can I make it run against a list of computers in …
This script will sweep a range of IP addresses (class c only, 255.255.255.0) and report to a log the version of office installed. What it does: 1.)      Creates log file in the directory the script is run from (if it doesn't already exist) 2.)      Sweep…
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

756 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