Need to capture Disk Usage Report

Hi,

Need a script that will capture the information from Disk Defragmentation Window for multiple servers and send via email,

The email should provides the Drives information in "Volume" as well as "Capacity", "Free Space" and "%Free Space" (See the attached screenshot). Apart from emailing we need to capture the emailed information and store in c:\disk info in html format on a daily basis.

Thanks in advance for all the help.
Disk-Utilization-Information.JPG
LVL 40
SubsunAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Mark PavlakCommented:
THis is a report I designed for my current posistion.  It writres said report in excel highlighting those disk which are over 79% full ( you should easily be able to adjust that number easily) It also will write a word report In accordance with our procedures.  You can remove that rather easily.  You will need to edit the working directory path on Line 30 to reflect where you want the reports to be saved.  You can edit the lines in the InitializeTempFiles Sub routine to scan the OU's of you AD you want to monitor.  This script will also email you when it is complete with only the servers that are out of spec in the body of the message.  You may just be interested in the ProcessServer Sub as it is the routine tht actually scans the Named PC for its capaicties.  Let me know if I can help any furhter
'==========================================================================
'
' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 2007
'
' NAME: SystemCapacityLog.vbs
'
' AUTHOR: John Finner , GWFH
' DATE  : 11/19/2007
'
' COMMENT:Determines System Capacity for All servers in domain
'
'==========================================================================
'Variables
'=============================================================================================
Dim objExcel,objWorkBook,objRange,objSheet,objFso,objF1,objword,SMTP,objHTML'objects
Dim strRow,strWorkingDirectory,strTemplate,strLines
'=============================================================================================
'Initialize Variables
'=============================================================================================
strRow =1 
strLines = 46
strTemplate = "\scriptfiles\StorageCapacityTemplate.dot"
Const ForReading = 1
Const ForWriting = 2
Const Forappending = 8
'=============================================================================================
'Initialize enviroment
'=============================================================================================
drivemapper "B:","\\gtwysrv1\IT Dept\Reports\StorageCapacityLogs"
strWorkingDirectory = GetEnvirmomentVariable("%tmp%")+"\StorageCapacityLog"
'=============================================================================================
'Initialize Objects
'=============================================================================================
'Excel Setup
Set objFso = CreateObject ("Scripting.FileSystemObject")
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True 'set to true for debug
Set objWorkBook = objExcel.Workbooks.Add()
'Word Setup
Set objword = CreateObject ("Word.Application")
objword.visible = True'set to true for debug
objword.Documents.Open ("b:\"&strTemplate)
'Final list
InitializeTempFiles ()
InitializeExcelReport()
InitializeHTML ()
CombineOULists() 
SortServers ()
BuildServerList ()
FormatSheet()
AddSignatureLines()
WriteEndTagsHtml ()
ConfigSMTP()
SendMail()
CleanUp()
Sub InitializeTempFiles 
'=============================================================================================
'Create folder in TMP directory for Server text Files and HTML Report
'=============================================================================================
	If (objFso.FolderExists (strWorkingDirectory)) Then
		CreateServerTextFiles "'LDAP://OU=Member Servers,DC=ELIZABETH'",strWorkingDirectory+"\MemberServers.txt"
		CreateServerTextFiles "'LDAP://OU=Domain Controllers,DC=ELIZABETH'",strWorkingDirectory+"\DomainControllers.txt"
		CreateServerTextFiles "'LDAP://OU=Non GPO machines,DC=ELIZABETH'",strWorkingDirectory+"\NonGPO.txt"
		CreateServerTextFiles "'LDAP://OU=Exchange Servers,DC=ELIZABETH'",strWorkingDirectory+"\ExchangeServers.txt"
		Set objHTML = objFso.CreateTextFile (strWorkingDirectory+"\HTMLreport.html",True)
	Else 
		objFso.CreateFolder strWorkingDirectory
		CreateServerTextFiles "'LDAP://OU=Member Servers,DC=ELIZABETH'",strWorkingDirectory+"\MemberServers.txt"
		CreateServerTextFiles "'LDAP://OU=Domain Controllers,DC=ELIZABETH'",strWorkingDirectory+"\DomainControllers.txt"
		CreateServerTextFiles "'LDAP://OU=Non GPO machines,DC=ELIZABETH'",strWorkingDirectory+"\NonGPO.txt"
		CreateServerTextFiles "'LDAP://OU=Exchange Servers,DC=ELIZABETH'",strWorkingDirectory+"\ExchangeServers.txt"
		Set objHTML = objFso.CreateTextFile (strWorkingDirectory+"\HTMLreport.html",True)
	End If 
End Sub
Sub SortServers
'Variable declorations
'===========================================================
Dim f1,FinalList
Dim linecount,workbook,worksheet,tmp,row,range,ColumnToSort,removeme,excel
Set excel = CreateObject("Excel.Application")
'============================================================
'Hide excel file
'==============================================
excel.Visible = True 'set to true for debug
'==============================================
'Initialize Objects
'======================================================
Set workbook = excel.Workbooks.Add()
Set txtFile = objfso.OpenTextFile (strWorkingDirectory+"\Servers.txt",ForReading)
Set FinalList = objFso.CreateTextFile (strWorkingDirectory+"\FinalList.txt",ForWriting)
'=======================================================
'Begin TxtFile stream into spread sheet for sorting and Line count on dclist.txt
'==================================
linecount = 0
row =1
tmp = txtFile.readline
excel.Cells(row,1) = tmp
Do Until txtFile.AtEndOfStream
row = row + 1
tmp = txtFile.readline
excel.Cells(row,1) = tmp
linecount = linecount +1
Loop
'====================================
'Sort Worksheet in alphabetical order
'================================================================================= 
excel.ActiveCell.CurrentRegion.select
excel.Selection.sort excel.Worksheets(1).range("A1"), 1, , , , , , 0, 1, False, 1
'==================================================================================
'write to global Array from worksheet
'====================================================
row = 1
'tmp = excel.Cells(row,1)
removeme = linecount
Do Until (linecount<0)
	tmp = excel.Cells(row,1)
    FinalList.WriteLine(tmp)
    row=row+1
    linecount = linecount - 1
Loop
'Cleanup
'=============================================================================================
FinalList.Close
With excel
.DisplayAlerts=False
.Workbooks.close()
.Quit
End With
'=============================================================================================
End Sub
Sub CombineOULists
Dim f1,f2,f3,f4,servers
Set servers = objFso.CreateTextFile(strWorkingDirectory+"\Servers.txt",ForWriting)
Set f1 = objFso.OpenTextFile(strWorkingDirectory+"\MemberServers.txt",ForReading)
Set f2 = objFso.OpenTextFile(strWorkingDirectory+"\DomainControllers.txt",ForReading)
Set f3 = objFso.OpenTextFile(strWorkingDirectory+"\NonGPO.txt",ForReading)
Set f4 = objFso.OpenTextFile(strWorkingDirectory+"\ExchangeServers.txt",ForReading)
Do Until f1.AtEndOfStream
servers.WriteLine(f1.ReadLine)
Loop
Do Until f2.AtEndOfStream
servers.WriteLine(f2.ReadLine)
Loop
Do Until f3.AtEndOfStream
servers.WriteLine(f3.ReadLine)
Loop
Do Until f4.AtEndOfStream
servers.WriteLine(f4.ReadLine)
Loop
f1.Close
f2.Close
f3.close
f4.Close
objFso.DeleteFile strWorkingDirectory+"\MemberServers.txt",True
objFso.DeleteFile strWorkingDirectory+"\DomainControllers.txt",True
objFso.DeleteFile strWorkingDirectory+"\NonGPO.txt",True
objFso.DeleteFile strWorkingDirectory+"\ExchangeServers.txt",True
End Sub
Sub FormatSheet
Dim objRange2
'=============================================================================================
'Autofit Columns for Spread Sheet
'=============================================================================================
Set objSheet = objWorkBook.Worksheets(1)
Set objRange = objSheet.UsedRange
objRange.EntireColumn.Autofit()
'=============================================================================================
'Format Perecents in Excel	
'=============================================================================================
Set objRange = objExcel.Cells(strRow,7).EntireColumn
objrange.NumberFormat = "0%"
Set objRange = objExcel.Cells(strRow,8).EntireColumn
objrange.NumberFormat = "0%"
'=============================================================================================
'Format Decimals for Capcity,Free Space, and Used Space
'=============================================================================================
Set objRange = objExcel.Cells(strRow,4).EntireColumn
objrange.NumberFormat = "0.00"
Set objRange = objExcel.Cells(strRow,5).EntireColumn
objrange.NumberFormat = "0.00"
Set objRange = objExcel.Cells(strRow,6).EntireColumn
objrange.NumberFormat = "0.00"
'=============================================================================================
End Sub 
Sub ProcessServer(strServerName)
Dim objWMIService,colDisks,objDisks
Dim strDriveLetter,strFileSystem,strCapacity,strFreeSpace,strUsedSpace,strPercentFree,strPercentUsed,strVolumeName
strcomputer = strServerName
'Initalize Objects
'=============================================================================================
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strcomputer & "\root\cimv2")
Set colDisks = objWMIService.ExecQuery _
    ("Select * from Win32_LogicalDisk")
'=============================================================================================
'Initalize Word line
'=============================================================================================
objword.selection.TypeText "Server: "&strServerName
objword.Selection.TypeParagraph()
'=============================================================================================
'=============================================================================================
'Fill In Excel Data
'=============================================================================================
For Each objDisks In colDisks      
    Select Case objDisks.DriveType
        Case 1
           ' Wscript.Echo "No root directory. Drive type could not be " _
            '   & "determined."
        Case 2
       	'Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" DriveType: "& vbTab &  "Removable Storage."
        Case 3
           'Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" DriveType: "& vbTab &  "Local hard disk."
            strRow = strRow+1
            If (objDisks.Freespace/objDisks.size < .21) Then
            with objExcel
            	.Cells(strRow,1).Interior.ColorIndex = 3
            	.Cells(strRow,1) = strServerName
            	.Cells(strRow,2).Interior.ColorIndex = 3
				.Cells(strRow,2) = objDisks.DeviceID
				.Cells(strRow,3).Interior.ColorIndex = 3
				.Cells(strRow,3) = objDisks.Filesystem
				.Cells(strRow,4).Interior.ColorIndex = 3
				.Cells(strRow,4) = objDisks.size/1073741824
				.Cells(strRow,5).Interior.ColorIndex = 3
				.Cells(strRow,5) = objDisks.Freespace/1073741824
				.Cells(strRow,6).Interior.ColorIndex = 3
				.Cells(strRow,6) = (objDisks.size - objDisks.Freespace)/1073741824
				.Cells(strRow,7).Interior.ColorIndex = 3
				.Cells(strRow,7) = objDisks.Freespace/objDisks.size
				.Cells(strRow,8).Interior.ColorIndex = 3
				.Cells(strRow,8) = (objDisks.size - objDisks.Freespace)/objDisks.size
				.Cells(strRow,9).Interior.ColorIndex = 3
				.Cells(strRow,9) = objDisks.VolumeName		
			End With
	 		objword.Selection.TypeText "		Drive "&objDisks.DeviceID&" is GREATER than 80% Capacity"
	 		objword.Selection.TypeParagraph()
	 		objHTML.WriteLine "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp&nbsp;&nbsp;&nbsp;&nbsp"+_
				  ";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp"+_
				  ";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"&strServerName
			Else 
			With objExcel
		    .Cells(strRow,1) = strServerName
			.Cells(strRow,2) = objDisks.DeviceID
			.Cells(strRow,3) = objDisks.Filesystem
			.Cells(strRow,4) = objDisks.size/1073741824
			.Cells(strRow,5) = objDisks.Freespace/1073741824
			.Cells(strRow,6) = (objDisks.size - objDisks.Freespace)/1073741824
			.Cells(strRow,7) = objDisks.Freespace/objDisks.size
			.Cells(strRow,8) = (objDisks.size - objDisks.Freespace)/objDisks.size
			.Cells(strRow,9) = objDisks.VolumeName
			End With
			objword.Selection.TypeText "		Drive "&objDisks.DeviceID&" is under 80% Capacity"
	 		objword.Selection.TypeParagraph()
			End If 
        Case 4
         ' Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" DriveType: "& vbTab &  "Network disk."      
        Case 5
          '  Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" DriveType: "& vbTab &  "Compact disk."      
        Case 6
           ' Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" DriveType: "& vbTab &  "RAM disk."   
        Case Else
            ' Wscript.Echo "Drive Letter: "&objDisks.DeviceID&" Drive type could not be determined."
    End Select
Next
'=============================================================================================
End Sub
Sub CreateServerTextFiles(strOU,strFileName)
Set Objfso = CreateObject("Scripting.FileSystemObject")
 'Variable Decoloration
'=============================================================================================
Dim f1,fsostr
Const ADS_SCOPE_SUBTREE = 2
'=============================================================================================
'Initialize Objects
'=============================================================================================
Set f1 = Objfso.CreateTextFile(strFileName,True)
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
'=============================================================================================
'Connect to ADODB 
'=================================================================================================
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
    "Select Name, Location from "&strOU&" " _
        & "Where objectClass='computer'"  
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
'====================================================================================================
'write text file DClist.txt in user temp path
'====================================================
Do Until objRecordSet.EOF
   f1.WriteLine(objRecordSet.Fields("Name").Value)
        objRecordSet.MoveNext
Loop
End Sub
Function GetEnvirmomentVariable(tmp)
Dim  objShell
Set objShell = CreateObject("WScript.Shell")
GetEnvirmomentVariable = objShell.ExpandEnvironmentStrings(tmp)
End Function
Sub drivemapper (drive,share)
'Map Network drive
Dim network,drives,i
Set network = WScript.CreateObject("WScript.Network")
Set drives = network.EnumNetworkDrives
For i=0 to drives.count -1 Step 2
If LCase(drive)= LCase(drives.item(i)) Then
network.RemoveNetworkDrive drive, True,True 
End If
Next
network.MapNetworkDrive drive, share
End Sub
Sub CleanUp
Dim objnetwork
Dim strDate
 
Set objnetwork = CreateObject("WScript.Network")
strDate = BuildWritableDate()
If objFso.FolderExists ("b:\"&strDate) Then
	objFso.DeleteFolder "b:\"&strDate,True 
End If 	
	objFso.CreateFolder "b:\"&strDate
	objWorkBook.SaveAs "b:\"&strDate&"\Log.xls"
	objword.ActiveDocument.SaveAs "b:\"&strDate&"\Report.doc"
	objExcel.Quit
	objword.ActiveDocument.Close
	objword.quit
objnetwork.RemoveNetworkDrive "B:"
End Sub
Function BuildWritableDate ()
Dim NewDate
NewDate = DatePart ("M",Date)
NewDate = NewDate&"-"&DatePart ("d",Date)
NewDate = NewDate&"-"&DatePart ("yyyy",Date)
BuildWritableDate = NewDate
End Function
Sub ConfigSMTP()
'Define Constants
'=============================================================================================
Const cdoAuth = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoSendUsername = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout="http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
'=============================================================================================
'Required Glonbal Variable
'=============================================================================================
Set SMTP = CreateObject("CDO.Configuration")
'=============================================================================================
'Configure SMTP Options via Constants
'=============================================================================================
With SMTP.Fields
		.Item(cdoSendUsingMethod) = cdoSendUsingPort
        .Item(cdoSMTPServer) = "Ec01mail01"
        .Item(cdoSMTPServerPort) = 547
        .Item(cdoSMTPconnectiontimeout) = 10
		.Update
End With
'=============================================================================================
End Sub
Sub SendMail ()
'Rewuired Global Variables
'=============================================================================================
Set Msg = CreateObject("CDO.Message")
Set MsgConfig = CreateObject("CDO.Configuration")
'=============================================================================================
'Create Email and Send 
'=============================================================================================
With Msg
   Set .Configuration = SMTP
   .To       = """John Finner"" <johnfinner@gwfh.com>"
   .From     = """Storage Capacity Log"" <NoReply@gwfh.com>"
   .Subject  = "Storage Capacity log is ready for Review"
   .CreateMHTMLBody "file://"+strWorkingDirectory+"\HTMLreport.html"
     '.AddAttachment "C:\temp\test.txt"
   .TextBody = "The storage capacity log has been completed and is now ready fo review"&VbCrLf+_
				"The report finished on "&Date&" at "&Time&VbCrLf+_
				"You may review the files at the below location"&VbCrLf+_
				"`\\gtwysrv1\IT Dept\reports\StorageCapacityLogs'"
   .Send
End With
End Sub 
Sub InitializeExcelReport ()
'=============================================================================================
'Enter In header Row in Excel
'=============================================================================================
objExcel.Cells(strRow,1) = "Server Name"
objExcel.Cells(strRow,2) = "Drive Letter"
objExcel.Cells(strRow,3) = "File System"
objExcel.Cells(strRow,4) = "Capacity (gigs)"
objExcel.Cells(strRow,5) = "Free Space (gigs)"
objExcel.Cells(strRow,6) = "Used Space (gigs)"
objExcel.Cells(strRow,7) = "Precent Free"
objExcel.Cells(strRow,8) = "Percent Used"
objExcel.Cells(strRow,9) = "Volume Label"
End Sub
Sub BuildServerList ()
On Error Resume Next
Set objF1 = objFso.OpenTextFile (strWorkingDirectory+"\FinalList.txt",ForReading)
Do Until  objF1.AtEndOfStream
ProcessServer (objF1.ReadLine)
Loop
End Sub 
Sub AddSignatureLines()
'Add Signature Lines
'=============================================================================================
objword.Selection.TypeParagraph()
objword.Selection.TypeParagraph()
objword.Selection.TypeParagraph()
objword.Selection.TypeText"John F. Finner II"
objword.Selection.TypeParagraph()
objword.Selection.TypeParagraph()
objword.Selection.TypeText"__________________________________________"
'=============================================================================================
End Sub
Sub InitializeHTML ()
objHTML.WriteLine "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">"
objHTML.WriteLine "<html>"
objHTML.WriteLine "<head>"
objHTML.WriteLine "<title>Storage Capacity Log</title>"
objHTML.WriteLine "<meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"
objHTML.WriteLine "</head>"
objHTML.WriteLine "<pre>"
objHTML.WriteLine "<body>"
objHTML.WriteLine "<div class=Section1>"
objHTML.WriteLine "<p class=MsoNormal style='text-indent:.5in'>&nbsp;</p>"
objHTML.WriteLine "<p class=MsoNormal style='text-indent:.5in'>The Storage Capacity Log is ready "+_
				  "for review.<span style='mso-spacerun:yes'>  </span>The reports are located "+_
				  "<a href=""\\gtwysrv1\it dept\StorageCapacityLogs\"&BuildWritableDate()+_
				  """>here</a></p>"
objHTML.WriteLine "<p>The following Servers are running low on disk space:</p>"
objHTML.WriteLine "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp"+_
				  ";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp"+_
				  ";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Server Name"
End Sub
Sub WriteEndTagsHtml
'Final Lines
objHTML.WriteLine "</p>"
objHTML.WriteLine "</div>"
objHTML.WriteLine "</body>"
objhtml.WriteLine "</pre>"
objHTML.WriteLine "</html>"
objHTML.Close 
End sub
'' SIG '' Begin signature block
'' SIG '' MIIIHgYJKoZIhvcNAQcCoIIIDzCCCAsCAQExCzAJBgUr
'' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
'' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB
'' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFA5fL5q8m+Ud
'' SIG '' wfuo2y5Y6wuRTna6oIIGGjCCBhYwggT+oAMCAQICChTb
'' SIG '' 4L0AAAAAAAQwDQYJKoZIhvcNAQEFBQAwSjETMBEGCgmS
'' SIG '' JomT8ixkARkWA25ldDEeMBwGCgmSJomT8ixkARkWDmN0
'' SIG '' bC1hbHQtZGVsZXRlMRMwEQYDVQQDEwpCbGFja0JlYXJk
'' SIG '' MB4XDTA3MTExNDAzMzMyOVoXDTA4MTExMzAzMzMyOVow
'' SIG '' gYMxEzARBgoJkiaJk/IsZAEZFgNuZXQxHjAcBgoJkiaJ
'' SIG '' k/IsZAEZFg5jdGwtYWx0LWRlbGV0ZTEWMBQGA1UECxMN
'' SIG '' VXNlciBBY2NvdW50czEXMBUGA1UECxMOQWRtaW4gQWNj
'' SIG '' b3VudHMxGzAZBgNVBAMTEkpvaG4gRi4gRmlubmVyIDJu
'' SIG '' ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqAxS
'' SIG '' 5jN0jnRAaLvg5F7wW7M9QdKcmrneujUBk2SpOVeNvxHN
'' SIG '' HcoCuG2tNWJrHR1rzHcq+/pvix7G90e1ImvyX+Hte2Pz
'' SIG '' W3wjU6kPF8ZN9jdTv5i1HyjFoxMyOz1hW/R6kagLNXin
'' SIG '' zH3T79nORKZK1N9wBjYFqZJGEIVlaIiHgg8CAwEAAaOC
'' SIG '' A0YwggNCMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQU6dv3
'' SIG '' acqx1GMbGjbuOLo17k2d9dowOwYJKwYBBAGCNxUHBC4w
'' SIG '' LAYkKwYBBAGCNxUIgfK6IYGOtCehlzODrclwg6aIHxuE
'' SIG '' 0Zwa2apMAgFkAgECMB8GA1UdIwQYMBaAFMSCa20SlgJx
'' SIG '' 7+ozW07wX5p/HyA2MIIBFgYDVR0fBIIBDTCCAQkwggEF
'' SIG '' oIIBAaCB/oaBu2xkYXA6Ly8vQ049QmxhY2tCZWFyZCxD
'' SIG '' Tj1ibGFja2JlYXJkLENOPUNEUCxDTj1QdWJsaWMlMjBL
'' SIG '' ZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1Db25m
'' SIG '' aWd1cmF0aW9uLERDPWN0bC1hbHQtZGVsZXRlLERDPW5l
'' SIG '' dD9jZXJ0aWZpY2F0ZVJldm9jYXRpb25MaXN0P2Jhc2U/
'' SIG '' b2JqZWN0Q2xhc3M9Y1JMRGlzdHJpYnV0aW9uUG9pbnSG
'' SIG '' Pmh0dHA6Ly9ibGFja2JlYXJkLmN0bC1hbHQtZGVsZXRl
'' SIG '' Lm5ldC9DZXJ0RW5yb2xsL0JsYWNrQmVhcmQuY3JsMIIB
'' SIG '' LwYIKwYBBQUHAQEEggEhMIIBHTCBsAYIKwYBBQUHMAKG
'' SIG '' gaNsZGFwOi8vL0NOPUJsYWNrQmVhcmQsQ049QUlBLENO
'' SIG '' PVB1YmxpYyUyMEtleSUyMFNlcnZpY2VzLENOPVNlcnZp
'' SIG '' Y2VzLENOPUNvbmZpZ3VyYXRpb24sREM9Y3RsLWFsdC1k
'' SIG '' ZWxldGUsREM9bmV0P2NBQ2VydGlmaWNhdGU/YmFzZT9v
'' SIG '' YmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0aG9yaXR5
'' SIG '' MGgGCCsGAQUFBzAChlxodHRwOi8vYmxhY2tiZWFyZC5j
'' SIG '' dGwtYWx0LWRlbGV0ZS5uZXQvQ2VydEVucm9sbC9ibGFj
'' SIG '' a2JlYXJkLmN0bC1hbHQtZGVsZXRlLm5ldF9CbGFja0Jl
'' SIG '' YXJkLmNydDATBgNVHSUEDDAKBggrBgEFBQcDAzAbBgkr
'' SIG '' BgEEAYI3FQoEDjAMMAoGCCsGAQUFBwMDMDcGA1UdEQQw
'' SIG '' MC6gLAYKKwYBBAGCNxQCA6AeDBwkamZpbm5lcjJAY3Rs
'' SIG '' LWFsdC1kZWxldGUubmV0MA0GCSqGSIb3DQEBBQUAA4IB
'' SIG '' AQAfyBrL/wy1uuG6vCQJOz2fg8GHU0Os2ZslBlkULm13
'' SIG '' L7v2FYGDW+AT+RHOyIaSuv/Vckjg5h/OuxOMnD5HrJpj
'' SIG '' CfoGfEob2gsE2Da2JX3yLSWHCdBOtUGW1RkA0EYyakvs
'' SIG '' phMTkoktYC9q4Ch6suUCVYcYcF2cG4JX5ra6LnJK2Vql
'' SIG '' 3lqumXH2NGynji4T3awMoX0eSXKZ1peZA+5DtcyKEO01
'' SIG '' ReDMlJ6+aVj8tosoZ31PbHjyye5Sax3KnAehntuS4CUn
'' SIG '' ShLeVgTM+2Xeq7aiEUZxTXzy4MtpVLkK2TgQ6tPmfny4
'' SIG '' s2SNeqLTgAr3Ag4Bqri0NBGDH2f+HCu1zjftMYIBcDCC
'' SIG '' AWwCAQEwWDBKMRMwEQYKCZImiZPyLGQBGRYDbmV0MR4w
'' SIG '' HAYKCZImiZPyLGQBGRYOY3RsLWFsdC1kZWxldGUxEzAR
'' SIG '' BgNVBAMTCkJsYWNrQmVhcmQCChTb4L0AAAAAAAQwCQYF
'' SIG '' Kw4DAhoFAKBwMBAGCisGAQQBgjcCAQwxAjAAMBkGCSqG
'' SIG '' SIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcC
'' SIG '' AQsxDjAMBgorBgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEW
'' SIG '' BBTR8wcOa6VZIgYseTHJFL1yIXlZwTANBgkqhkiG9w0B
'' SIG '' AQEFAASBgJXhGq38hEVeAvyLu9rHzkI8KJcdO4LR8Qdp
'' SIG '' BvniLF7GkYRD4wXH2U1fcnLNh/tzMeiq3TocTVbWdiaW
'' SIG '' RSYc5/WpAj/us1zwMevr15qUvS1RUxB5lPTSR1bOy4ja
'' SIG '' kh5y1bFqshJGBF9i0808tzqXFjZny5loUcI9TkGX+FlG
'' SIG '' x9BX
'' SIG '' End signature block

Open in new window

0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
SubsunAuthor Commented:
Excellent Script
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VB Script

From novice to tech pro — start learning today.