• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3131
  • Last Modified:

Ignore an error on vbs and continue

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
johnnyjonathan
Asked:
johnnyjonathan
1 Solution
 
David LeeCommented:
Hi, johnnyjonathan.

Add the command

    On Error Resume Next

to the top of the script.
0
 
Shift-3Commented:
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
 
Patrick MatthewsCommented:
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
 
johnnyjonathanAuthor Commented:
Exactly what i was looking for ! thanks!
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now