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"> </td> <td colspan="2"><div class="ueberschrift"></div></td> <td width="25px"> </td> </tr>
<tr> <td width="25px"> </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"> </td> </tr>
<tr> <td width="25px"> </td> <td valign="top" class="links"> <ul class="menue"> <li><a title="Start" >» Home</a></li> <li><a title="Computer Informations" href="seite2.hta">» Computer Information</a></li> <li><a title="User Informations" href="seite3.hta">» User Information</a></li> <li><a title="Printer Informations" href="seite4.hta">» Print Information</a></li> <li><a title="Network Informations" href="seite5.hta">» Network Informations</a></li> <!-- <li><a title="Leasing Informations" href="seite6.hta">» 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"> </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>