ftp.vbs - vbscript script by ActiveXperts Software
ftp.vbs checks whether a file existens on an FTP server.
Use ftp.vbs directly from ActiveXperts Network Monitor; in the Manager's 'Monitor' menu, select 'New Check (Script)' and select ftp.vbs. Configure the required parameter, or press 'Load a working sample'.
In ActiveXperts Network Monitor, Administrators can use three different scripting languages: Powershell, VBScript and SSH.
ftp.vbs script code
' ///////////////////////////////////////////////////////////////////////////////
' // ActiveXperts Network Monitor - VBScript based checks
' // © ActiveXperts Software B.V.
' //
' // For more information about ActiveXperts Network Monitor and VBScript, please
' // visit the online ActiveXperts Network Monitor VBScript Guidelines at:
' // http://www.activexperts.com/support/network-monitor/online/vbscript/
' //
' ///////////////////////////////////////////////////////////////////////////////
Option Explicit
Const retvalUnknown = 1
Dim SYSDATA, SYSEXPLANATION ' Used by Network Monitor, don't change the names
' ///////////////////////////////////////////////////////////////////////////////
' // To test a function outside Network Monitor (e.g. using CSCRIPT from the
' // command line), remove the comment character (') in the following 5 lines:
' Dim bResult
' bResult = CheckFtp( "ftp.activexperts-labs.com", "anonymous", "me@myself.me", "samples/network-monitor", "readme.txt" )
' WScript.Echo "Return value: [" & bResult & "]"
' WScript.Echo "SYSDATA: [" & SYSDATA & "]"
' WScript.Echo "SYSEXPLANATION: [" & SYSEXPLANATION & "]"
' ////////////////////////////////////////////////////////////////////////////////////////
Function CheckFtp( strHost, strAccount, strPassword, strDir, strFile )
' Description:
' Login to an FTP server, change the directory and check for file existence.
' This function uses ActiveXperts Network Component.
' ActiveXperts Network Component is automatically licensed when ActiveXperts Network Monitor is purchased
' For more information about ActiveXperts Network Component, see: www.activexperts.com/network-component
' Parameters:
' 1) strHost - Host name or IP address of the FTP host
' 2) strAccount - FTP account; use 'anonymous' for anonymous FTP access
' 3) strPassword - FTP password; use an e-mail address for anonymous FTP access
' 4) strDir - The directory where the file should be located
' 4) strFile - The file to check
' Usage:
' CheckFtp( "<Host>", "<Account>" , "<Password>", "<Directory>", "<File>" )
' Sample:
' CheckFtp( "ftp.activexperts-labs.com", "anonymous", "me@myself.me", "samples/network-monitor", "readme.txt" )
Dim objFtpServer, objFtpFile
CheckFtp = retvalUnknown ' Default return value
SYSDATA = "" ' Not used by this function
SYSEXPLANATION = "" ' Set initial value
Set objFtpServer = CreateObject( "AxNetwork.FtpServer" )
objFtpServer.Connect strHost, strAccount, strPassword
If( objFtpServer.LastError <> 0 ) Then
CheckFtp = False
SYSEXPLANATION = "Login failed, error #" & objFtpServer.LastError & ": " & objFtpServer.GetErrorDescription( objFtpServer.LastError )
Exit Function
End If
' Use binary transfer for GetFile calls
objFtpServer.BinaryTransfer = True
' Change directory
objFtpServer.ChangeDir strDir
If( objFtpServer.LastError <> 0 ) Then
CheckFtp = False
SYSEXPLANATION = "Failed to change directory, error #" & objFtpServer.LastError & ": " & objFtpServer.GetErrorDescription( objFtpServer.LastError )
Exit Function
End If
' Iterate over all files
Set objFtpFile = objFtpServer.FindFirstFile()
While ( objFtpServer.LastError = 0 )
If( UCase( objFtpFile.Name ) = UCase( strFile ) ) Then
CheckFtp = True
SYSEXPLANATION = "File [" & strFile & "] found on FTP server [" & strHost & "]"
objFtpServer.Disconnect
Exit Function
End If
Set objFtpFile = objFtpServer.FindNextFile()
WEnd
CheckFtp = False
SYSEXPLANATION = "File [" & strFile & "] not found on FTP server [" & strHost & "]"
objFtpServer.Disconnect
End Function
