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")
'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()
Nichts bei was nicht seit vielen Monden bekannt wäre..
Der Gesamtspeicher wird aber nicht korrekt angegeben.
Bei mir wird immernoch durch 1024 und nicht 1000 geteilt.
Oder sollte ich wirklich 523,76 MB Speicher haben?
hmm es ging nicht darum etwas grundweg NEUES zu machen, sondern um ein kleines feines scripterl, das man ins loginscript reingeben kann und mit der man ohne grossen aufwand eben die wichtigsten rechnerdaten auslesen kann - es gibt auch mittelkleine unternehmen, die nicht auf programme wie logininventory oder diverse andere programme zurückgreifen können
ich habe ein ähnliches Tool mit ein wenig mehr Umfang und Datenbankanbindung geschrieben.
Aber ich habe ein Problem und vielleicht bist du auf selbiges gestoßen:
Es geht hierbei um das Auslesen der Seriennummer eines PCs.
Hier in der Arbeit haben wir DELL und Compaq PCs. Ich will per Skript alle Seriennummern auslesen, nur bei einigen PCs ist diese einfach nicht vorhanden. (Im Bios ist sie eingetragen).
Es tritt bei Computern der gleichen Baureihe auf. Also bei einigen dieser Baureihe geht es und bei anderen nicht.
Alle haben w2k und alle Updates. Die Rechner sind alle quasi identisch. Ich habe bereits laufende Dienste und Prozesse überprüft und Benutzerrechte der angemeldeten Benutzer -> identisch.
Mit dem Compaq Inside Management kann ich die Seriennummer bei allen korrekt und problemlos auslesen, aber nicht über WMI.
Hast du eine Idee woran das liegen könnte? Oder jemand anderes?
Wäre für Hilfe dankbar.
PS: WIndowsversionen lassen sich auch via WMI auslesen
Hallo und erstmal vielen Danke für die Hilfe. Du hast Recht ich arbeite in einer kleinen Firma und da ist das Geld nicht immer so reichlich da.
Will jetzt aber irgendwie versuchen die Daten der User und der Rechner irgendwie zusammen zu sammeln.
Mit dem Script bekomme ich ja schon viel Info!!!! Ist echt Super!!!
Kann mir vieleicht jemand helfen. Möchte jetzt noch den angemeldeten User und IP und Mac Adresse der Rechner aus lesen.