Solved

Ignore an error on vbs and continue

Posted on 2009-04-13
4
2,126 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
[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
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

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

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

In this article we want to have a look at the directory attributes which are used by Microsoft to store the so called Security Identifiers (SID). These SIDs plays an important role in delegating and granting permissions and in authentication of trus…
Welcome back!  My apologies for taking so long to write part two of this series; it's been a long time coming!  As I promised in Part 1, this article will focus on how to locate those elusive AD properties that you are searching for.  Why is this us…
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…

739 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