Listing 5: DiskSpace_Threaded.vbs Option Explicit On Error Resume Next Const FOR_APPENDING = 8 Dim strComputer Dim SWBemlocator Dim objWMIService Dim colItems Dim objItem Dim objArgs Dim i Dim arrArgs() Dim arrResult(2) Dim arrAllResults() Dim objFSO Dim objTextFile ' ******* BEGIN CALLOUT A ******* Set objArgs = WScript.Arguments For i = 0 to WScript.Arguments.Count - 1 ReDim Preserve arrArgs(i) arrArgs(i) = WScript.Arguments(i) Next ' ******* END CALLOUT A ******* ' ******* BEGIN CALLOUT B ******* i = 0 For Each strComputer In arrArgs Set SWBemlocator = _ CreateObject("WbemScripting.SWbemLocator") Set objWMIService = _ SWBemlocator.ConnectServer(strComputer,"\root\CIMV2") Set colItems = _ objwmiservice.ExecQuery("SELECT * FROM Win32_LogicalDisk") For Each objItem In colItems arrResult(0) = strComputer arrResult(1) = objItem.caption arrResult(2) = objItem.freespace ReDim Preserve arrAllResults(i) arrAllResults(i) = arrResult i = i + 1 Next Next ' ******* END CALLOUT B ******* Set objFSO = CreateObject("Scripting.FileSystemObject") Set objTextFile = objFSO.OpenTextFile("c:\FileSpace.log", _ FOR_APPENDING, True) For Each arrResult In arrAllResults objTextFile.WriteLine arrResult(0) & vbTab & arrResult(1) & _ vbTab & arrResult(2) Next objTextFile.Close