Script to do a Screen Capture and E-mail

Looking for some ideas or suggestions for a script to do a screen capture and some basic system info(OS, MEM, CPU, IP, Computer Name) and e-mail it off to a specified e-mail address.  Any thoughts or suggestions?  If system info is not doable, then the screen capture to e-mail is the major part.  One thing it needs to open to the message screen so they can explain there problem before it is sent.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

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.

Ok Word and Outlook will be required to install on the client computer to make the below listed vbscript (.vbs) run
strScreenshot = "D:\Screenshot.doc"
strTo = ""

Set objWMIService = GetObject("winmgmts:\\" & "." & "\root\cimv2")

Set objWordBasic = CreateObject("Word.Basic")
objWordBasic.SendKeys "{prtsc}"
objWordBasic.AppClose "Microsoft Word"
Set objWordBasic = Nothing
'WScript.Sleep 2000

Set objWord = CreateObject("Word.Application") 
objWord.Visible = True 

Set objSelection = objWord.Selection

'Get computername
Set objNet = CreateObject("Wscript.Network")
objSelection.TypeText "Computername:" &objNet.ComputerName &vbNewLine

'Get OS version
Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each objItem in colItems
	objSelection.TypeText "OS:" &objItem.Caption &vbNewLine

'Get IP Address
Set colItems = objWMIService.ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objItem In colItems
	If Not IsNull(objItem.IPAddress) Then
		For i=LBound(objItem.IPAddress) To UBound(objItem.IPAddress)
			objSelection.TypeText "IP:" &objItem.IPAddress(i) &vbNewLine
	End If

'Get memory
Set colItems = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")

For Each objItem In colItems
	objSelection.TypeText "RAM:" &objItem.TotalPhysicalMemory /1024 /1024 /1000 &" MB" &vbNewLine

'Get CPU
Set  colItems  =  objWMIService.ExecQuery("Select * from  Win32_Processor")
For  Each objItem In colItems
	objSelection.TypeText "CPU:" &objItem.Name

'Paste Screenshot
objWord.ActiveDocument.SaveAs strScreenshot,6 
Set objWord = Nothing 

'Open Mail with attachment
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "Outlook.exe /m " &strTo &" /a " &chr(34) &strScreenshot &chr34 ,1,False

Open in new window


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
Install AutoIT, and compile this:
#include <ScreenCapture.au3>
Run(@ComSpec & " /c " & 'systeminfo.exe > systemInfo.txt', "", @SW_HIDE)

I suggest you use this in conjunction with the solution above. Then you'll have a smaller screenshot file and much more system information. (Open a command prompt and type 'systeminfo' to see what information you'll get.)
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

From novice to tech pro — start learning today.