home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / software / pelne / optionp / iis4_07.cab / metabackrest.vbs < prev    next >
Text File  |  1997-10-25  |  3KB  |  113 lines

  1. '''''''''''''''''''''''''''''''''''''''''''''
  2. '
  3. '  Metabase Backup Restore Utility   
  4. '
  5. '''''''''''''''''''''''''''''''''''''''''''''
  6.  
  7. '  Description:
  8. '  ------------
  9. '  This sample admin script allows you to restore backups of your Metabase.
  10. '
  11. '  To Run:  
  12. '  -------
  13. '  This is the format for this script:
  14. '  
  15. '      cscript metabackrest.vbs 
  16. '  
  17. '  NOTE:  If you want to execute this script directly from Windows, use 
  18. '  'wscript' instead of 'cscript'. 
  19. '
  20. '''''''''''''''''''''''''''''''''''''''''''''
  21.  
  22. ' Initialize error checking
  23. On Error Resume Next
  24.  
  25. ' Initialize variables
  26. Dim ArgCount, BuName, BuVersion, BuFlags, CompObj, VersionMsg
  27.  
  28. ' Default values
  29. ArgCount = 0
  30. BuName= "SampleBackup"
  31. BuVersion = &HFFFFFFFE   ' Use highest version number
  32. BuFlags = 0   ' RESERVED, must stay 0
  33.  
  34.  
  35.   ' ** Parse Command Line
  36.  
  37.     ' Loop through arguments
  38.     While ArgCount < Wscript.Arguments.Count
  39.       
  40.       ' Determine switches used
  41.       Select Case Wscript.Arguments(ArgCount)
  42.  
  43.          Case "-v":   ' Designate backup version number
  44.             ' Move to next arg, which should be parameter
  45.             ArgCount =  ArgCount + 1  
  46.             If ArgCount => Wscript.Arguments.Count Then
  47.                Call UsageMsg
  48.             Else
  49.                BuVersion = Wscript.Arguments(Argcount)
  50.             End If
  51.  
  52.          Case "-?", "-h", "/?":
  53.             Call UsageMsg
  54.  
  55.          Case Else:
  56.             If BuName <> "SampleBackup" Then  ' Only one name allowed
  57.                Call UsageMsg
  58.             Else
  59.                BuName = Wscript.Arguments(ArgCount)
  60.             End If
  61.  
  62.       End Select
  63.  
  64.       ' Move pointer to next argument
  65.       ArgCount = ArgCount + 1
  66.  
  67.     Wend
  68.  
  69.    
  70.   ' **Perform backup restore:
  71.   ' First, create instance of computer object
  72.   Set CompObj = GetObject("IIS://Localhost")
  73.  
  74.   ' Call Restore method
  75.   ' NOTE:  ** All IIS services will be stopped by this method, then restarted!
  76.   Wscript.Echo "All services stopping ..."
  77.   CompObj.Restore BuName, BuVersion, BuFlags  ' NOTE: for restoration, BuFlags MUST be 0
  78.  
  79.   ' Make pretty version string
  80.   If BuVersion = &HFFFFFFFE Then
  81.         VersionMsg = "highest version"
  82.   Else
  83.         VersionMsg = "version " & BuVersion
  84.   End If
  85.  
  86.   ' Check for error backing up Metabase
  87.   If Err <> 0 Then  'Errors!
  88.         If Err.Number = 5 Then   ' Location name not available
  89.            Wscript.Echo "Error restoring Metabase: '" & BuName & "' (" & VersionMsg & ") not available."
  90.         Else
  91.            Wscript.Echo "Error restoring Metabase from '" & BuName & "' (" & VersionMsg & ")."
  92.            Wscript.Echo "Error number:  " & Hex(Err.Number)
  93.         End If
  94.         Wscript.Echo "Services restarting."
  95.   Else    ' No errors!
  96.         Wscript.Echo "Restored: Backup '" & BuName & "' (" & VersionMsg & ")."
  97.         Wscript.Echo "Services restarted."
  98.   End If
  99.  
  100.  
  101.  
  102. ' Display usage messsage, then QUIT
  103. Sub UsageMsg
  104.   Wscript.Echo "Usage:  cscript metabackrest.vbs <backupname> [-v <versionnum>]"
  105.   Wscript.Quit
  106. End Sub
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.