Hi all,
I have two working scripts. I want to be able to enter the machine name in an inputbox of the second script like I do in the first script.
SCRIPT 1:
---------------------------------------------------------------------------------------------
Const HARD_DISK = 3
Const CONVERSION_FACTOR = 1048576
Input = InputBox("Please enter machine name:","Machine Name")
strComputer = Input
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
("SELECT * FROM Win32_LogicalDisk WHERE DriveType = " _
& HARD_DISK & "")
For Each objDisk in colDisks
FreeMegaBytes = objDisk.FreeSpace / CONVERSION_FACTOR
Wscript.Echo "Drive " & objDisk.DeviceID & " on " & strComputer & " has " & Int(FreeMegaBytes) & " megabytes of free disk space."
Next
------------------------------------------------------------------------------------------------------------
SCRIPT 2:
----------------------------------------------------------------------------------------------------------------------
Option Explicit
const strComputer = "."
const strReport = "c:\diskspace.txt"
Dim objWMIService, objItem, colItems
Dim strDriveType, strDiskSize, txt
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk WHERE DriveType=3")
txt = "Drive" & vbtab & "Size" & vbtab & "Used" & vbtab & "Free" & vbtab & "Free(%)" & vbcrlf
For Each objItem in colItems
DIM pctFreeSpace,strFreeSpace,strusedSpace
pctFreeSpace = INT((objItem.FreeSpace / objItem.Size) * 1000)/10
strDiskSize = Int(objItem.Size /1073741824) & "Gb"
strFreeSpace = Int(objItem.FreeSpace /1073741824) & "Gb"
strUsedSpace = Int((objItem.Size-objItem.FreeSpace)/1073741824) & "Gb"
txt = txt & objItem.Name & vbtab & strDiskSize & vbtab & strUsedSpace & vbTab & strFreeSpace & vbtab & pctFreeSpace & vbcrlf
Next
writeTextFile txt, strReport
wscript.echo "Report written to " & strReport & vbcrlf & vbcrlf & txt
' Procedure to write output to a text file
private sub writeTextFile(byval txt,byval strTextFilePath)
Dim objFSO,objTextFile
set objFSO = createobject("Scripting.FileSystemObject")
set objTextFile = objFSO.CreateTextFile(strTextFilePath)
objTextFile.Write(txt)
objTextFile.Close
SET objTextFile = nothing
end sub
------------------------------------------------------------------------------------------------
Any help with this will be greatly appreciated,
C