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

  1. '''''''''''''''''''''''''''''''''''''''''''''
  2. '
  3. '  Metabase Backup Utility   
  4. '
  5. '''''''''''''''''''''''''''''''''''''''''''''
  6.  
  7. '  Description:
  8. '  ------------
  9. '  This sample admin script allows you to create a backup of your Metabase.
  10. '
  11. '  To Run:  
  12. '  -------
  13. '  This is the format for this script:
  14. '  
  15. '      cscript metaback.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 = &HFFFFFFFF   ' Use next available version number
  32. BuFlags = 0   ' No special flags
  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 "-F":  ' Force overwrite, even if name and version exists
  53.             BuFlags = 1 
  54.  
  55.          Case "-h", "-?", "/?":
  56.             Call UsageMsg
  57.          Case Else:
  58.             If BuName <> "SampleBackup" Then  ' Only one name allowed
  59.                Call UsageMsg
  60.             Else
  61.                BuName = Wscript.Arguments(ArgCount)
  62.             End If
  63.  
  64.       End Select
  65.  
  66.       ' Move pointer to next argument
  67.       ArgCount = ArgCount + 1
  68.  
  69.     Wend
  70.  
  71.  
  72.   
  73.   ' **Perform Backup:
  74.   ' First, create instance of computer object
  75.   Set CompObj = GetObject("IIS://Localhost")
  76.  
  77.   ' Call Backup method, with appropriate parameters
  78.   CompObj.Backup BuName, BuVersion, BuFlags
  79.  
  80.    ' Make pretty version string
  81.   If BuVersion = &HFFFFFFFF Then
  82.         VersionMsg = "next version"
  83.   Else
  84.         VersionMsg = "version " & BuVersion
  85.   End If
  86.  
  87.   ' Check for error backing up Metabase
  88.   If Err <> 0 Then  'Errors!
  89.         If Err.Number = &H80070050 Then   ' Duplicate backup
  90.             Wscript.Echo "'" & BuName & "' (version " & BuVersion & ") already exists. -F switch will causes existing version to be replaced."
  91.         Else   ' Something else went wrong
  92.             Wscript.Echo "Error backing up Metabase to '" & BuName & "' (" & VersionMsg & ")."
  93.             Wscript.Echo "Error number:  " & Hex(Err.Number)
  94.         End If
  95.   Else    ' No errors!
  96.         If BuFlags = 1 Then   ' Forced creation
  97.             Wscript.Echo "Force created: Backup '" & BuName & "' (" & VersionMsg & ")."
  98.         Else
  99.             Wscript.Echo "Created: Backup '" & BuName & "' (" & VersionMsg & ")."
  100.         End If
  101.   End If
  102.  
  103.  
  104.  
  105. ' Displays usage message, then QUITS
  106. Sub UsageMsg
  107.    Wscript.Echo "Usage:  cscript metaback.vbs [<backupname>][-v <versionnum>][-F (to force)]"
  108.    Wscript.Quit
  109. End Sub
  110.  
  111.  
  112.  
  113.  
  114.  
  115.