home *** CD-ROM | disk | FTP | other *** search
- '''''''''''''''''''''''''''''''''''''''''''''
- '
- ' Document Footer Utility
- '
- '''''''''''''''''''''''''''''''''''''''''''''
- ' Description:
- ' ------------
- ' This sample admin script allows you to configure document footers.
- '
- ' To Run:
- ' -------
- ' This is the format for this script:
- '
- ' cscript metaback.vbs
- '
- ' NOTE: If you want to execute this script directly from Windows, use
- ' 'wscript' instead of 'cscript'.
- '
- '''''''''''''''''''''''''''''''''''''''''''''
-
- ' Initialize error checking
- On Error Resume Next
-
- ' Initialize variables
- Dim ArgCount, InputError, FootEnabled, FootDoc, FootPath, ThisObj, EnableModify, ClearFlag
-
- ' Default values
- ArgCount = 0
- FootPath = "" ' This MUST be set by user via command-line
- FootDoc = ""
- FootEnabled = False
- EnableModify = False
- ClearFlag = False
-
-
- ' ** Parse Command Line
-
- ' Loop through arguments
- While ArgCount < Wscript.Arguments.Count
-
-
- ' Determine switches used
- Select Case Wscript.Arguments(ArgCount)
-
- Case "-s": ' Sets default footer explicitly to string
- ' Move to next arg, which should be parameter
- ArgCount = ArgCount + 1
- If ArgCount => Wscript.Arguments.Count Then
- Call UsageMsg
- Else
- FootDoc = "STRING:" & Wscript.Arguments(ArgCount)
- End If
-
- Case "-f": ' Sets default footer to a file
- ' Move to next arg, which should be parameter
- ArgCount = ArgCount + 1
- If ArgCount => Wscript.Arguments.Count Then
- Call UsageMsg
- Else
- FootDoc = "FILE:" & Wscript.Arguments(ArgCount)
- End If
-
- Case "+d": ' Enables doc footers
- FootEnabled = True
- EnableModify = True
-
- Case "-d": ' Disables doc footers
- FootEnabled = False
- EnableModify = True
-
- Case "-c": ' Clears all document footer settings from node
- ClearFlag = True
-
- Case "-h": ' Help!
- UsageMsg;
-
- Case Else: ' ADsPath, we hope
- If FootPath <> "" Then ' Only one name allowed
- Call UsageMsg
- Else
- FootPath = Wscript.Arguments(ArgCount)
- End If
-
- End Select
-
- ' Move pointer to next argument
- ArgCount = ArgCount + 1
-
- Wend
-
- ' Quick screen to make sure input is valid
- If FootPath = "" Then
- Call UsageMsg
- End If
-
-
- ' **Perform Backup:
- ' First, create instance of ADSI object
- Set ADSIObj = GetObject(FootPath)
-
- ' Error getting that object?
- If Err.Number <> 0 Then
- Wscript.Echo "Error getting object at path " & FootPath & "."
- Wscript.Quit
- End If
-
-
- ' If no changes, then simply display current settings
- If (EnableModify = False) And (FootDoc = "") And (ClearFlag = False) Then ' Display current status
- If ADSIObj.EnableDocFooter = True Then
- Wscript.Echo FootPath & ": Footers currently enabled, value = " & ADSIObj.DefaultDocFooter
- Else
- Wscript.Echo FootPath & ": Footers currently disabled, value = " & ADSIObj.DefaultDocFooter
- End If
- Wscript.Quit
- End If
-
- ' Change settings for node
- If ClearFlag = True Then
- ADSIObj.EnableDocFooter = False
- ADSIObj.DefaultDocFooter = ""
- Else
- If EnableModify Then ADSIObj.EnableDocFooter = FootEnabled
- If FootDoc <> "" Then ADSIObj.DefaultDocFooter = FootDoc
- End If
-
- ' Save new settings back to node
- ADSIObj.SetInfo
-
- ' Error saving info to object?
- If Err.Number <> 0 Then
- Wscript.Echo "Error setting document footer info for path " & FootPath & "."
- Wscript.Quit
- End If
-
- ' Display results
- If ADSIObj.EnableDocFooter = True Then
- Wscript.Echo FootPath & ": Document footers enabled, value = " & ADSIObj.DefaultDocFooter
- Else
- Wscript.Echo FootPath & ": Document footers disabled, value = " & ADSIObj.DefaultDocFooter
- End If
-
-
-
- ' Displays usage message, then QUITS
- Sub UsageMsg
- Wscript.Echo "Usage: cscript dfoot.vbs <ADsPath> [+d|-d footers enabled] [[-s <string>] | [-f <filename>]]"
- Wscript.Quit
- End Sub
-
-
-
-
-
-
-