Cut-and-Paste Forefront TMG Administration Functions
These VBScript functions and code examples have general practicality. Using a cut-and-paste operation, you can place these code examples in your scripts.
Getting the Array
The following code automatically inserts the name of the current array object in the input box. You can also type the name of a different array object. If the input box is left empty, it is the equivalent of clicking Cancel.
set root = WScript.CreateObject("FPC.Root")
Set objArrays = root.Arrays
strArrayName = InputBox("Please enter the array name, or <ENTER> for the containing array:",,root.GetContainingArray.Name)
If strArrayName = "" Then
'Cancel option. Note that this should read "Exit Function" if used in a function.
Exit Sub
Else
On Error Resume Next
Set objArray = objArrays(strArrayName)
If Err.Number <> 0 Then
WScript.Echo "The specified array was not found"
Exit Sub
End If
On Error GoTo 0
End If
Item_Exists
This function is useful for checking if an object exists before your script adds it. For example, if you try to add a rule called My Rule, and there already is such a rule, this function will allow you to handle that situation, rather than having the script terminate with an error.
Note This function checks for the existence of an item based on the Name property only.
Private Function Item_Exists(oCollection , sItemName)
'This function returns True if the item exists in the given collection, False if it does not exist
Dim oItem 'Object
Item_Exists = False
For Each oItem In oCollection
If oItem.Name = sItemName Then
Item_Exists = True
Exit Function
End If
Next
End Function
The following is an example of how you would call the function. This example adds a new network rule, unless it exists already.
'The next line means - if Item_Exists does not return True, meaning the item does not exist, then...
If not Item_Exists(collNetworkRules, "New VPN Network Rule") Then
Set oNetworkRule = collNetworkRules.Add("New VPN Network Rule")
Else
wscript.echo "New VPN Network Rule already exists"
wscript.quit
End If
Error Handling
This subroutine tells you if an error was encountered during script execution. To use this subroutine, include the following statement at the beginning of the main script.
On Error Resume Next
Then call the subroutine wherever an error is likely, using the following statement.
CheckError
The following is the CheckError subroutine.
Private Sub CheckError()
'Display error information.
If Err.Number <> 0 Then
WScript.Echo "An error occurred: " & Hex(Err.Number) & " " & Err.Description
WScript.Quit
End If
End Sub
Send comments about this topic to Microsoft
Build date: 6/30/2010