Dim classname
Dim ns
ns = "root\cimv2"
classname = "Win32_Service"
Set locator = CreateObject("WbemScripting.SWbemLocator")
Set svc = locator.ConnectServer(".", ns)
svc.Security_.AuthenticationLevel=6
svc.Security_.ImpersonationLevel=3
Set ws = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set objs = svc.InstancesOf(classname, 48)
If (fso.FileExists(ws.CurrentDirectory & "\" & classname & ".mdb") = True) Then
fso.DeleteFile(ws.CurrentDirectory & "\" & classname & ".mdb")
End If
Set ocat = CreateObject("ADOX.Catalog")
Set otable = CreateObject("Adox.Table")
ocat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ws.CurrentDirectory & "\" & classname & ".mdb")
otable.Name = classname
otable.Columns.Append("ID", 3)
For Each obj In objs
For Each prop In obj.Properties_
otable.Columns.Append(prop.Name, 202, 255)
Next
Exit For
Next
oCat.Tables.Append(oTable)
Set oTable = Nothing
Set oCat = Nothing
Set rs = CreateObject("Adodb.Recordset")
rs.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ws.CurrentDirectory & "\" & classname & ".mdb"
rs.CursorLocation = 3
rs.LockType = 3
rs.Source = "Select * From " & classname
rs.Open()
For Each obj In objs
rs.AddNew()
For Each prop In obj.Properties_
rs.Fields(prop.Name).Value = CStr(GetValue(prop.Name, obj))
Next
rs.Fields("ID").Value = x
rs.Update()
x = x + 1
Next
Set rs = Nothing
|