pyro: E-Mail in HTA per Button versenden

Beitrag lesen

Hey,

ich habe folgendes Problem und hoffe ihr könnt mir helfen.

Ich habe ein HTA für unsere Firma erstellt, in der sehr viele Informationen abgerufen werden. Die Informationen werden per VBScript aus dem Rechner bzw. aus unserer Domain ausgelesen.

Jetzt habe ich ein Script geschrieben, welches alle Informationen in eine Email packt und diese an eine bestimmte Adresse versendet.

Wenn ich dieses Script allerdings in der HTA implementieren möchte, wirft es mir die verschiedensten Fehler aus...

Unter Anderem "Fehlendes Objekt 'WScript'" oder einfach nur "Syntaxfehler"

Hat sich vielleicht schon mal einer oder eine von euch mit dem Thema befasst und könnte mir bei dem Problem helfen?

Hier der Quellcode(ich habe einiges zensiert aus firmenrechtlichen Gründen):

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTA:APPLICATION icon="xxx" Windowstate = "maximize" BORDER="thin" navigable = "yes" BORDERSTYLE="normal />

<--!Dieses Programm dient zum Sammeln der Inforamtionen über den Computer und den gerade angemeldeten Benutzer.

Diese kleine Hilfe wurde von xxx und xxx im November 2010 erstellt.-->

<html> <head>   <title>PC-Information</title>   <meta http-equiv="content-type" content="TEXT/HTML; CHARSET=UTF-8">   <meta name="keywords" content="keywords">   <meta name="description" content="description">   <meta name="author" content="">   <meta name="language" content="de">   <meta name="robots" content="index, follow">   <link rel="stylesheet" href="style.css" type="text/css"> </head>

<body>

<table align="center" border="0" cellpadding="0" cellspacing="0" width="920">    <tr>      <td width="25px">&nbsp;</td>       <td colspan="2"><div class="ueberschrift"></div></td>       <td width="25px">&nbsp;</td>    </tr>

<tr>    <td width="25px">&nbsp;</td>      <td class="obenlinks">xxx<br><br>Gebäude xxx<br><br>Raum xxx<br><br>Telefon:xxx</td>       <td class="oben" valign="top">       <td width="20px">&nbsp;</td>    </tr>

<tr> <td width="25px">&nbsp;</td>      <td valign="top" class="links">         <ul class="menue">           <li><a title="Start" >&raquo; Home</a></li>           <li><a title="Computer Informations" href="seite2.hta">&raquo; Computer Information</a></li>           <li><a title="User Informations" href="seite3.hta">&raquo; User Information</a></li>           <li><a title="Printer Informations" href="seite4.hta">&raquo; Print Information</a></li>   <li><a title="Network Informations" href="seite5.hta">&raquo; Network Informations</a></li>           <!-- <li><a title="Leasing Informations" href="seite6.hta">&raquo; Leasing Informations</a></li> -->

	 </ul>

</td>       <td class="hauptfenster" valign="top"><div class="haupttext">

<h1>Herzlichen Willkommen bei der PC Info</h1>

	<p>Herzlich Willkommen,<BR><BR>
	<p>
	<p>Auf dieser seite finden Sie alle Informationen über den PC und den momentan angemeldeten Benutzer.<BR><BR>
	<p>
	<p>Wenn Sie Informationen über den Computer haben möchten klicken Sie bitte "Computer Informations" links in der Liste.<BR><BR>
	<p>
	<p>Wenn Sie Informationen über den angemeldeten Benutzer haben möchten klicken Sie bitte "User Informations" links in der Liste.<BR><BR>
	<p>
	<p>Wenn Sie Informationen über die Drucker haben möchten, welche auf dem Computer installiert sind, klicken Sie bitte "Printer Informations" links in der Liste.<BR><BR>
	<p>
	<p>Wenn Sie Informationen über das Netzwerk haben möchten klicken Sie bitte "Network Informations" links in der Liste.<BR><BR>
	<p>
	<p><p><p><p>
	<p>
	<input type="button" name="Mailbutton" value="Alle Informationen per E-Mail senden">

</div></td>         <td width="25px">&nbsp;</td>

			<script FOR="Mailbutton" Language="VBScript" Event= onclick>

			'Computer
			Set WshNetwork = CreateObject("WScript.Network")
			Set WSHShell = CreateObject("Wscript.shell")
			Set WSHFso = CreateObject("Scripting.FileSystemObject")
			Set adsys = CreateObject("ADSystemInfo")

			On Error Resume Next
			computername = UCase(WshNetwork.computername)
			UserID = UCase(WshNetwork.UserName)

			'find out the serial Number
			Set objcol = GetObject("winmgmts:").InstancesOf("Win32_BIOS")

			For Each BIOS In objcol
				 Serialnumber = BIOS.SerialNumber
				 manufacturer =BIOS.Manufacturer
			Next
			
			'find Out the Computer Model if available
			Set wmi = GetObject("winmgmts:root/CIMV2")
			wql = "select * from Win32_ComputerSystemProduct"
			Set result = wmi.ExecQuery(wql)
			For Each instance In result
			   Computer = instance.Name
			   Computerver = instance.version
			Next

			Set objWshEnv = WSHShell.Environment("System")
			imgversion = objWshEnv("Image_Ver")

			'find out Operating System, Version and SP Level
			Set wmiobj = GetObject("winmgmts:root/CIMV2")
			wql = "select * from Win32_OperatingSystem"
			Set result = wmiobj.ExecQuery(wql)
			For Each instance In result
				opversion = instance.Caption & " " & instance.version
				servicePack = instance.servicePackMajorVersion
			Next




			'USER
			On Error Resume Next
			MBRNummer = UCase(WshNetwork.UserName)
			sUserDN = UCase(adsys.username)

			Set ObjUser = GetObject("LDAP://" & sUserDN )
				Name2 = ObjUser.cn
				Vname1 = Left(name2, (InStr(name2," ")))
				NName0 = Right(name2, Len(name2)-(InStr(name2," ")))
				Name = NName0+" "+Vname1
				Buero = ObjUser.physicalDeliveryOfficeName
				Telefonnummer = ObjUser.telephoneNumber
				Abteilung = ObjUser.department
				Email = ObjUser.mail
				Aktivierung = ObjUser.whencreated
				Handy = ObjUser.mobile				
			Set ObjUser = Nothing
			


			'Printer
			'find out the Printer
			Set objcol1 = GetObject("winmgmts:").InstancesOf("Win32_Printer")				
			i = 0
			Dim txtprinter(10)
			
			For Each PrinterItm In objcol1
				Pname = PrinterItm.Name	
				Plocation = PrinterItm.Location
				i = i + 1
				druckeranzahl = i
				drucken i,Pname,Plocation
			Next
			
			Function drucken(ipara,Pnamepara,Plocationpara)
				txtprinter(ipara) = Pnamepara & " " & Plocationpara
			End Function
			


			'NETWORK
			Set WshNetwork = CreateObject("WScript.Network")
			Set WSHShell = CreateObject("Wscript.shell")
			Set WSHFso = CreateObject("Scripting.FileSystemObject")
			Set adsys = CreateObject("ADSystemInfo")
			
			On Error Resume Next
			computername = UCase(WshNetwork.computername)
			UserID = UCase(WshNetwork.UserName)

			'find out the logonserver
			Set objEnv = WSHShell.Environment("Process")
			logonserver = objEnv("LOGONSERVER")
			logonsrv = Left(logonserver,7)
			logonsrv = Right(logonsrv,2)

			logondomain = WshNetwork.userdomain
			site = UCase(adsys.SiteName)

			'find out the ip Address and Subnet mask

			Set wminet = GetObject("winmgmts:root/cimv2")
			wqlnet = "select * from win32_NetworkAdapterConfiguration where IPEnabled = true"
			
			Set instances = wminet.ExecQuery(wqlnet)
			count = 0
			
			For Each instance In instances
				count = count + 1
				
				If count = "1" Then
					ip1 =  Join(instance.ipaddress)
					subnetmask1 = Join(instance.ipsubnet)						
					description1 = instance.Description						
					dhcp1 = instance.DHCPEnabled
				End If
				If count = "2" Then
					ip2=  Join(instance.ipaddress)
					subnetmask2 = Join(instance.ipsubnet)
					description2 = instance.Description
					dhcp2 = instance.DHCPEnabled
				End If
				If count = "3" Then
					ip3=  Join(instance.ipaddress)
					subnetmask3 = Join(instance.ipsubnet)
					description3 = instance.Description
					dhcp3 = instance.DHCPEnabled
				End If
			Next
			
			On Error Resume Next
			proxy = WSHShell.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyServer")
		


			Set wshnet = CreateObject("WScript.Network")
			
			Set fs = CreateObject("Scripting.FileSystemObject")
			Message = "Computername: " & computername & vbCr & "Seriennummer: " & Serialnumber & vbCr & "Hersteller: " & manufacturer & vbCr & "Computertyp: " & Computer & " " & Computerver & vbCr & "Imageversion: " & imgversion & vbCr &  "Betriebssystem: " & opversion & vbCr &  "ServicePack: " & servicePack & vbCr & vbCr & vbCr & _
					"Benutzer: " & Name & vbCr & "ADSServer: " & sUserDN & vbCr & "MBR-Nummer: " & MBRNummer & vbCr & "Büro: " & Buero & vbCr & "Telefonnummer: " & Telefonnummer & vbCr & "Email: " & Email & vbCr & "Abteilung: " & Abteilung & vbCr & "Aktivierung des Accounts: " & Aktivierung & vbCr & "Handy-Nummer: " & Handy & vbCr & vbCr
					Dim x
					For x = 1 To druckeranzahl
				
						Message = Message & vbCr & "Printer " & x & ": " & txtprinter(x)
						
	
					Next
					
			Message = Message & vbCr & vbcr & vbCr & "Logonserver: " & logonserver & vbCr & "Logondomain: " & logondomain & vbCr & "Sitename: " & site & vbCr & "Proxy/Port: " & proxy & vbCr
			Message = Message & vbCr & "1. Netzwerkkarte: " & description1 & vbCr & "IP-Adresse: " & ip1 & vbCr & "Subnetzmaske: " & subnetmask1 & vbCr & "DHCP aktiviert: " & dhcp1 & vbCr
			Message = Message & vbCr & "2. Netzwerkkarte: " & description2 & vbCr & "IP-Adresse: " & ip2 & vbCr & "Subnetzmaske: " & subnetmask2 & vbCr & "DHCP aktiviert: " & dhcp2 & vbCr
			Message = Message & vbCr & "3. Netzwerkkarte: " & description3 & vbCr & "IP-Adresse: " & ip3 & vbCr & "Subnetzmaske: " & subnetmask3 & vbCr & "DHCP aktiviert: " & dhcp3 & vbCr

			


			
			empfaenger = InputBox("Bitte geben Sie die Email-Adresse des Empfängers an: ")
			

			mySelf = "xxx@xxx.com"
			SMTPServer = "xxx"
			recipient = empfaenger
			From = Email
			Subject = "Computerinformationen"
			
			Set msg = WScript.CreateObject("CDO.Message")
			msg.From = From
			msg.To = recipient
			msg.Subject = Subject
			msg.TextBody = Message
			msg.Configuration.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTPServer
			msg.Configuration.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
			msg.Configuration.Fields.Update
			WScript.sleep 5000
			msg.Send
			
			Set msg = Nothing


	</script>

</tr>    <tr>       <td colspan="4" class="ueberschrift"><div class="navi2"><a href=></a>    </tr> </table>

</body> </html>