This script reads a text file (like the one created in the ExportServer.vbs script previously) line by line and adds a computer rule element in ISA Server 2004 for each computer.
'======================================================================== ' PURPOSE: Add all the Computers from the text file ExportedServers.txt ' ' NAME: ImportServers.vbs ' ' RUN: cscript ImportServers.vbs <Path to ExportedServers.txt> ' ' WHERE: Run on an ISA Server 2004, Local on Server ' ' COMMENT: The script will add Computer elements for all Computers from the ' text file created with ExportServers.vbs ' This script was written by Jesper Hanno Hansen. ' ' VERSION: 1.0 '========================================================================= ' Enabling Error handling On Error Resume Next 'Set ForReading from OpenAsTextStream Method Const ForReading = 1 ' Create an arguments Object to get the parameters from the input Dim objArguments Set objArguments = WScript.Arguments ' Count the input parameters, if less than 1, show help If objArguments.Count <> 1 Then ShowHelp Else ' Set the parameter to the Input File name Dim strFileName strFileName = WScript.Arguments(0) End If ' Create a Root Object to ISA Server 2004 Dim objRoot Set objRoot = CreateObject("FPC.Root") ' Create an FPCArray Object to retrieve the current ISA Array Dim objFPCArray Set objFPCArray = objRoot.GetContainingArray ' Create an FPCRuleElements Object to get access to FPCComputers Dim objFPCRuleElements Set objFPCRuleElements = objFPCArray.RuleElements ' Create an FPCComputers Object to get access to FPCComputer Dim objFPCComputers Set objFPCComputers = objFPCRuleElements.Computers ' Calling the Sub to read the file ReadFromFile strFileName ' Show information that the script is going to save the new computer ' element, and checking for any error. WScript.Echo "Saving Computer element(s)" objFPCComputers.Save CheckError WScript.Echo "Computer element(s) successfully saved" Sub ReadFromFile(strFileName) ' Create a FileSystem Object Dim objFileSystemObject Set objFileSystemObject = CreateObject("Scripting.FileSystemObject") ' Check if the file exists, if not show error information and quit If Not objFileSystemObject.FileExists(strFileName) Then WScript.Echo "Could not open the file " & strFileName WScript.Quit End If ' Create a File Object, for reading the file Dim objFile Set objFile = objFileSystemObject.OpenTextFile(strFileName, ForReading) ' Declare strLine Dim strLine ' Loop through the file context until the end Do While objFile.AtEndOfStream <> True ' Set strLine to the line strLine = objFile.ReadLine ' if the line contains | (The separator for Computername, ' IPAddress and Description) go on If InStr(strLine, "|") Then ' Create an Array that contains the line for each | arrData = Split(strLine,"|") ' Declare the variables Dim strDNSName, strIPAddress, strDescription ' Set the Array data to the variables strDNSName = arrdata(0) strIPAddress = arrdata(1) strDescription = arrdata(2) ' Stop if the IP Address is empty, since this is ' a required parameter for adding a computer element ' to ISA Server If strIPAddress = "" Then ' Show information that this computer could not be ' added WScript.Echo "Could not add the server " & _ strDNSName & " because the IP Address is missing..." Else ' Show information that we will try to add the ' computer WScript.Echo "Trying to add " & strDNSName & " " & _ strIPAddress & " " & strDescription ' Calling the Sub to create a new computer element DoCreateComputer strDNSName, strIPAddress _ , strDescription End If Else ' If the line does not contain a |, skip the line objFile.SkipLine End If Loop ' Close the file objFile.Close End Sub Sub DoCreateComputer(ComputerName,ComputerIPAddress,ComputerDescription) ' Enabling Error handling On Error Resume Next ' Trying to retrieve the computer from the Computer elements ' if it does, the computer element already exists and the script ' should not do anything with it. Dim objComputerExists Set objComputerExists = objFPCComputers.Item(ComputerName) ' If the error code is 0 = Success, then there is a computer with the ' same name. If Err.Number = 0 Then WScript.Echo "The Computer Element " & ComputerName & _ " exist, skipping" Exit Sub Else Err.Clear End If ' Using the Add method from the FPCComputer object ' The Add method requires 2 input parameters ' Name and IPAddress as strings Dim objFPCComputer Set objFPCComputer = objFPCComputers.Add(ComputerName _ , ComputerIPAddress) CheckError ' Check if the ComputerDescription is empty, if not we should add ' the description to the computer element. If ComputerDescription <> "" Then objFPCComputer.Description = ComputerDescription CheckError End If End Sub ' Used to check if the script is in an error state, if true quit Sub CheckError If Err.Number <> 0 Then WScript.Echo "" WScript.Echo "Error Number : " & "0x" & Hex(Err.Number) WScript.Echo "Error Description : " & Err.Description WScript.Quit End If End Sub ' Used to show help on the screen, if input parameters is less ' than 1 Sub ShowHelp WScript.Echo "Please use cscript ImportServers.vbs <Path to ExportedServers.txt>" WScript.Echo "For Example:" WScript.Echo "" WScript.Echo "Cscript ImportServers.vbs C:\ExportedServers.txt" WScript.Quit End Sub