objWMIService Eigenschaften auslesen

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Manü.

    objWMIService Eigenschaften auslesen

    ahoi,

    hab da ein kleines prob mit nem script
    es soll ein Programm suchen und es dann deinstallieren ...
    soltle auch funzen aber vorher möchte ich wegen einem logfile prüfen ob das programm überhaupt gefunden wurde

    hier erstmal code:

    Visual Basic-Quellcode

    1. strComputer = "."
    2. Set objWMIService = GetObject("winmgmts:" _
    3. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    4. Set colSoftware = objWMIService.ExecQuery _
    5. ("Select * from Win32_Product Where Name = 'Winamp'")


    welche eigenschaft von colSoftware müsste ich auslesen um eine anzahl der ergebnisse zu erhalten ?

    EDIT: vielleicht nochmal soweit ... colSoftware.count habe ich bereits ausprobiert auch . item.count, .rows.count, .item(0).rows.count ...
    also entweder es kommt ein fehler oder der wert 0 zurück


    danke schonmal
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Manü“ ()

    HI

    .count funktioniert, wenn du eine "normale" WMI Abfrage machst (normal entspricht Flag = 0)
    Wenn .count 0 zurück gibt, dann ist WINAMP nicht in der Auflistung.
    Zum prüfen:

    Visual Basic-Quellcode

    1. dim strComputer, s, objWMIService,colSoftware,softItm
    2. strComputer = "."
    3. s = ""
    4. Set objWMIService = GetObject("winmgmts:" _
    5. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    6. Set colSoftware = objWMIService.ExecQuery _
    7. ("Select Name from Win32_Product")
    8. For each softItm in colSoftware
    9. s = s & softItm.Name & VBcrlf
    10. Next
    11. wsh.echo s 'Liste aller Software die über Product auslesbar ist, sind glaube ich nur welche, die mit Windows Installer installiert wurden
    12. If Instr(LCase(s),"winamp") > 0 Then wsh.echo "Winamp ist dabei" 'oder ähnlich
    Das ist meine Signatur und sie wird wunderbar sein!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Mono“ ()

    k danke dir...

    ich habe es nochmal durchprobiert mit einem element aus der liste udn es funzt mit count also muss ich schauen das
    ich anders rangehen muss
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de