duuuuuuu scho widder ;)
strComputer = "deinRechner"
Set objWMIService = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2")
Set colSystem = objWMIService.ExecQuery ("Select * from Win32_OperatingSystem")
Forall system In colSystem
instDate =Left(system.InstallDate, 8)
doc.installationsdatum = Right(instdate,2)& "." & Mid(instdate, 5,2) & "." & Left(instdate, 4)
If system.ServicePackMajorVersion <> "" Then sp = " (SP " & system.ServicePackMajorVersion & ")"
system = system.caption & sp
End Forall
Set colSystem = objWMIService.ExecQuery ("Select * from Win32_ComputerSystemProduct")
Forall system In colSystem
seriennummer = system.IdentifyingNumber
End Forall
Set colSystem = objWMIService.ExecQuery ("Select * from Win32_Processor")
Forall system In colSystem
Prozessor = Ltrim(system.Name)
End Forall
mal so als Ansatz, damit kannst du auch alle Datenträger auslesen (Win32_DiskDrive, Win32_CDROMDrive, Win32_LogicalDisk). MAC oder IP-Adresse über Win32_NetworkAdapterConfiguration, usw.
Infos zu WMI: http://www.microsoft.com/germany/technet/datenbank/articles/600682.mspx
Beispielscripte lassen sich da ganz einfach in Script umbasteln.
Jo
Ich scho widddr ;D
schätze, da musst du die Fehlerroutine etwas abändern.
On Error Goto WEITER
...
strComputer = wsid
'Errorhandling ausschalten
on Error Resume Next
Set objWMIService = GetObject("winmgmts:" & "\\" & strComputer & "\root\cimv2")
If Not Isobject(objWMIService) Then
'hier dein Fehlerhinweis, dass das nicht funktioniert hat und Routine abbrechen
End If
'ansonsten kanns weitergehn
'Errorhandling wieder einschalten
On Error goto weiter
.....
Das musst du aber bei allen folgenden Objects auch beachten
IMHO: Wenn der Fehler "Automation Object Error" sofort nach Start des Einlesens kommt, ist das Gerät über den Namen nicht erreichbar, wenn der Fehler erst nach >30 Sekunden erscheint, solltest du prüfen, ob der angesprochene Arbeitsplatz WMI unterstützt oder ob evtl. WMI dort defekt ist. Das Logfile findest du am Arbeitsplatz unter %windir%\system32\wbem\logs
Jo