I enhanced BackXP.vbs so that it records the results of the ntbackup.exe and rsm.exe calls in the XP system's Application event log. Web Listing 1 (http://www.winnetmag.com/windowsscripting, InstantDoc ID 43080) shows the revised script called EnhancedBackXP.vbs. I accomplished the enhancement by modifying the code at Callout B in Listing 1 in "Use Scripts to Automate Windows Utilities" so that it uses the WshShell object's LogEvent method. The revised code first instantiates a WshShell object and runs ntbackup.exe. The revised code then tests whether the command backup attempt was successful. If the backup succeeded, EnhancedBackXP.vbs writes a success message to the Application event log. The message is displayed in the event's Properties window. If the backup failed, the script writes a failure message to the Application event log.
If the backup succeeded, EnhancedBackXP.vbs calls rsm.exe. If rsm.exe returns a value of 0, meaning the tape ejected, the script writes a success message to the Application event log; if strRSMCmd returns a value of 1, meaning the tape didn't eject, the script writes a failure message to the event log. The LogEvent method provides six integer values that you can use when writing an event to the Application event log; Web Table 1 lists these values. I recommend that you use only the first four values because the system—not applications—should be writing audit events. To use an event type, just specify the event number you want in the LogEvent method call. Note that the EventLog method also returns a value of True or False, depending on whether it successfully logged the event, but BackXP.vbs doesn't use these values.