Hallo,
ich hab hier ein kleines Vbs Script erstellt, (dass zb ins Logonscript eines Benutzer reingestopft werden kann, oder über taskplaner etc....), das aus dem Rechner die wichtigsten Daten ausliest
Die angehängte inventur.txt in inventur.vbs umbenennen, oder falls angst vor viren, das script einfach in eine eigene datei reinkopieren, vorher durchlesen und ausführen :)
Kurz erklärt was ausgelesen wird:
*Modellnr des PCs und Seriennummer (muss unterstützt werden, funkt zb bei Compaq Rechnern)
*Windows Version
*IE Version
*Office Version
*Installierte CPU mit Mhz
*Installierter Ram
*Festplattenplatz für C und D Laufwerk
*Windows Verzeichnis
abgelegt wird das im Moment auf \\server\log\client\%rechnername%
kann sich aber jeder anpassen wie er das braucht
Windows Scripting Host vs 5.6 sollte am Rechner sein.
weiters nötig sind dazu die WMI Funktionen von Windows (bei >2000 schon dabei, unter W9x,Nt4 müssen diese nachinstalliert werden, den Download gibts auf der MS Seite)
Die Datei liegt im Anhang bei, Verbesserungen sind möglich, ich weiss, doch im Prinzip funktioniert das Script recht gut (der Vbs/Dos Mischmasch sollte noch weg *G*, es besteht jedoch nicht unbedingt Bedarf daran)
Grundsätzlich können noch eine ganze Menge anderer WMI Details ausgelesen werden
Hier das Script als Source
'(c)memnon 2005
'xaxoxix@yahoo.de
On Error Resume Next
strComputer = "."
Public Regpfad
Dim Client
Dim Clientname
Dim WindowsVersion
Dim WSHEnvOS
Dim WSHEnvPrg
Dim fs
Dim fso
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WSHEnvOS = WSHShell.Environment("Process")
Set WSHEnvPrg = WSHShell.Environment("Process")
set fs = CreateObject ("Scripting.FileSystemObject")
OS = WshEnvPrg("OS")
if OS="Windows_NT" then
Client = WshEnvOS("COMPUTERNAME")
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = CreateObject("WScript.Shell")
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProductName"
WindowsVersion = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\CSDVersion"
ServicePack = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\SystemRoot"
Systemroot = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Version"
IeVs = Wshshell.RegRead(RegPfad)
'Wscript.Echo IeVs
Windowsversion=Windowsversion & ", " & ServicePack
end if
if not OS="Windows_NT" then
Set fso = CreateObject("Scripting.FileSystemObject")
set WshShell = CreateObject("WScript.Shell")
RegPfad = "HKEY_LOCAL_MACHINE\Network\Logon\Username"
Client = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio n\Version"
WindowsVersion = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersio n\SystemRoot"
Systemroot = WshShell.RegRead(RegPfad)
RegPfad = "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Version"
IeVs = Wshshell.RegRead(RegPfad)
end if
Function GetOfficeVer()
sRegPre = "HKLM\SOFTWARE\Microsoft\Office\"
sRegPost = "\Common\InstallRoot\"
Select Case True
Case RegKeyExists(sRegPre & "11.0" & sRegPost)
sOfficeVer = "2003"
Case RegKeyExists(sRegPre & "10.0" & sRegPost)
sOfficeVer = "2002"
Case RegKeyExists(sRegPre & "9.0" & sRegPost)
sOfficeVer = "2000"
Case RegKeyExists(sRegPre & "8.0" & sRegPost)
sOfficeVer = "97"
Case Else
sOfficeVer = "Keine"
End Select
GetOfficeVer = sOfficeVer
End Function
Function RegKeyExists(ByVal sRegKey)
' Returns True or False based on the existence of a registry key.
Dim sDescription, oShell
Set oShell = CreateObject("WScript.Shell")
RegKeyExists = True
sRegKey = Trim (sRegKey)
If Not Right(sRegKey, 1) = "\" Then
sRegKey = sRegKey & "\"
End If
On Error Resume Next
oShell.RegRead "HKEYNotAKey\"
sDescription = Replace(Err.Description, "HKEYNotAKey\", "")
Err.Clear
oShell.RegRead sRegKey
RegKeyExists = sDescription <> Replace(Err.Description, sRegKey, "")
On Error Goto 0
End Function
clientname = "\\server\log\client\" & client & ".txt"
'Pfad wird erstellt, wenn nicht vorhanden
'----------------------------------------
WshShell.Run "%comspec% /c if not exist \\server\log\client\. md \\server\log\client",0,true
'Windows 2000/XP/NT
'die Inventarisierungsdatei der Rechner wird bei jedem Neustart gelöscht
'-----------------------------------------------------------------------
if fs.FileExists(clientname) then
fs.DeleteFile(clientname)
end if
set fs=nothing
set fs = CreateObject ("Scripting.FileSystemObject")
set clientlog = fs.OpenTextFile (clientname,8,true)
'Auslesen der Windows-Hardwareinformationen
'------------------------------------------
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct",,48)
For Each objItem in colItems
modell=objItem.Vendor & " " & objItem.Name
serial="Seriennummer: " & objItem.IdentifyingNumber
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk",,48)
For Each objItem in colItems
if objItem.Caption = "C:" then festplatteC= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte"
if objItem.Caption = "D:" then festplatteD= objItem.Caption & " " & Round(objItem.FreeSpace /1024 /1024 /1024, 2) & " / " & Round(objItem.Size /1024 /1024 /1024,2) & " GByte"
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor",,48)
For Each objItem in colItems
system= objItem.Name & ": " & objItem.CurrentClockSpeed & " Mhz"
Next
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalMemoryConfiguration",,48)
For Each objItem in colItems
speicher= "Gesamtspeicher (MB): " & objItem.TotalPhysicalMemory /1000
Next
'Schreiben in die clientdatei
'----------------------------
clientlog.Writeline "------------------------------------------------------"
clientlog.Writeline "Rechnername: " & Client & " // Datum: " & now
clientlog.Writeline "------------------------------------------------------"
clientlog.WriteLine modell
clientlog.WriteLine serial
clientlog.WriteLine system
clientlog.Writeline speicher
clientlog.Writeline FestplatteC
clientlog.Writeline FestplatteD
clientlog.Writeline "Betriebssystem: " & Windowsversion
clientlog.Writeline "WindowsVerzeichnis: " & Systemroot
clientlog.WriteLine "Internet Explorer Vs: " & IeVs
clientlog.WriteLine "Office Vs: " & GetOfficeVer()





Zitieren


Lesezeichen