Viewing current FTP7 sessions using VBScript
A few weeks ago my friend Jaroslav posted a blog entry about viewing the current FTP7 sessions using Javascript, and I followed that up with a blog post about viewing the current FTP7 sessions using C#.
This blog entry follows up on those postings by showing you how to view the current FTP7 sessions using VBScript. To do so, copy the following VBScript code to Windows Notepad and save the file as "ftp_sessions.vbs" on a computer running Windows Server 2008 with the new FTP7 server installed:
Option Explicit
Dim objAdminManager, objSiteCollection, objFtpSiteElement
Dim objSite, objFtpSession, objFtpSessions, objFtpProperty
Dim intSite, intFtpSession, intFtpProperty
Dim intSiteCount, intFtpSessionCount, intFtpPropertyCount
Set objAdminManager = WScript.CreateObject("Microsoft.ApplicationHost.AdminManager")
' get the collection of sites
Set objSiteCollection = objAdminManager.GetAdminSection( _
"system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST" )
intSiteCount = CInt(objSiteCollection.Collection.Count)
WScript.Echo String(40,"*")
WScript.Echo "Site count: " & intSiteCount
WScript.Echo String(40,"*")
' loop through the sites collection
For intSite = 0 To intSiteCount-1
' get a site
Set objSite = objSiteCollection.Collection.Item(intSite)
' get the FTP section
Set objFtpSiteElement = objSite.ChildElements.Item("ftpServer")
' get the sessions collection
Set objFtpSessions = objFtpSiteElement.ChildElements.Item("sessions")
intFtpSessionCount = CInt(objFtpSessions.Collection.Count)
WScript.Echo String(40,"=")
WScript.Echo "FTP sessions for " & _
objSite.Properties.Item("name").Value & _
": " & intFtpSessionCount
WScript.Echo String(40,"=")
' loop through the sessions
For intFtpSession = 0 To intFtpSessionCount - 1
Set objFtpSession = objFtpSessions.Collection.Item(intFtpSession)
intFtpPropertyCount = CInt(objFtpSession.Properties.Count)
' loop through each session's properties
For intFtpProperty = 0 To intFtpPropertyCount - 1
Set objFtpProperty = objFtpSession.Properties.Item(intFtpProperty)
WScript.Echo CStr(objFtpProperty.Name) & ": " & CStr(objFtpProperty.Value)
Next
WScript.Echo String(40,"-")
Next
Next
To make sure that you don't see any message box pop-ups, run the script from the command-line using the following syntax:
cscript.exe ftp_sessions.vbs
That's about it for this post - have fun!