Software auslesen

  • Hallo,

    ich würde gerne instalierte software auslesen, dabei aber die Windows Update ausblenden eine idee?

    Eine Idee wie ich mein Problem lösen Könnte?

    Danke
    SubZero

    Spoiler anzeigen
    [autoit]

    $sBaseKey = "HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\"

    [/autoit] [autoit][/autoit] [autoit]

    $iKey = 1
    $sSoftwareName = ""
    $sLogfile = "C:\software.txt"
    $hFile = FileOpen ( $sLogfile, 10 )
    if @error Then
    MsgBox ( 64, "Error", "Could not open File")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    while 1
    $sKey = RegEnumKey ( $sBaseKey , $iKey )
    if @error then ExitLoop
    $sDisplayName = RegRead ( $sBaseKey & "\" & $sKey , "DisplayName")
    if @error Then
    $sDisplayName = RegRead ( $sBaseKey & "\" & $sKey , "QuietDisplayName")
    if @error then
    $iKey += 1
    ContinueLoop
    EndIf
    EndIf
    ;_ArrayDisplay($sDisplayName)
    FileWriteLine ( $hFile, $sDisplayName & @crlf)
    $iKey += 1
    WEnd

    [/autoit]

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Muss eigentlich schon lange das gleiche für meine Firma machen..

    Hier mal ein Anfang:

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    AutoIt Version: 3.3.0.0
    Author: Gianni

    [/autoit] [autoit][/autoit] [autoit]

    Script Function:
    Erstellt eine Verzeichnisstruktur

    [/autoit] [autoit][/autoit] [autoit]

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Dim $fileName, $computer, $objWMIService, $colSoftware, $objSoftware, $i

    [/autoit] [autoit][/autoit] [autoit]

    $fileName = @ScriptDir & "\software.csv"

    [/autoit] [autoit][/autoit] [autoit]

    $computer = "."
    $objWMIService = ObjGet("WinMgmts:" & "{impersonationLevel=impersonate}!\\" & $computer & "\root\cimv2")

    [/autoit] [autoit][/autoit] [autoit]

    $colSoftware = $objWMIService.ExecQuery("Select * from Win32_Product")
    $i = 0
    For $objSoftware in $colSoftware
    $fileWrite = FileWriteLine($fileName, $objSoftware.Caption & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)

    [/autoit] [autoit][/autoit] [autoit]

    Next

    [/autoit] [autoit][/autoit] [autoit]

    FileClose($fileName)

    [/autoit]

    Die Updates werden nicht ausgelesen.

    Grüsse

    Gianni

  • Danke,

    kriege folgenden fehler:

    02.au3 (11) : ==> The requested action with this object has failed.:
    $fileWrite = FileWriteLine($fileName, $objSoftware.Caption & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)
    $fileWrite = FileWriteLine($fileName, $objSoftware.Caption & ";" & $objSoftware.ProductID ^ ERROR


    eine idee?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

    AutoIt Version: 3.3.0.0
    Author: Gianni

    Script Function:
    Erstellt eine Verzeichnisstruktur

    #ce ----------------------------------------------------------------------------

    [/autoit] [autoit][/autoit] [autoit]

    Dim $fileName, $computer, $objWMIService, $colSoftware, $objSoftware, $i

    [/autoit] [autoit][/autoit] [autoit]

    $fileName = @ScriptDir & "\software.csv"

    [/autoit] [autoit][/autoit] [autoit]

    $computer = "."
    $objWMIService = ObjGet("WinMgmts:" & "{impersonationLevel=impersonate}!\\" & $computer & "\root\cimv2")

    [/autoit] [autoit][/autoit] [autoit]

    $colSoftware = $objWMIService.ExecQuery("Select * from Win32_Product")
    $i = 0
    For $objSoftware In $colSoftware
    $fileWrite = FileWriteLine($fileName, $objSoftware.Caption); & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)
    ;~ $fileWrite = FileWriteLine($fileName, $objSoftware.ProductID); & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)
    $fileWrite = FileWriteLine($fileName, $objSoftware.Version); & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)
    ;~ $fileWrite = FileWriteLine($fileName, $objSoftware.RegOwner); & ";" & $objSoftware.ProductID & ";" & $objSoftware.Version & ";" & $objSoftware.RegOwner)
    Next

    [/autoit] [autoit][/autoit] [autoit]

    FileClose($fileName)

    [/autoit]

    Das funktioniert.
    Ich frage mich, warum die ausgeklammerten nicht funktionieren, bei beiden erhalte ich Fehler.

  • Ich kriege nur 2 zeilen gelistet und ich habe definitiv mehr instaliert und bei einem anderen rechner habe ich das auch,
    wie sieht das bei euch aus?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • also leute, bei mir funktioniert der skript so wie ich ihn gepostet habe..
    erhalte etwa 50 zeilen an installierte software..

    weiss auch nicht an was es liegen könnte!

    Edit: Hab es jetzt auch auf meinem home-laptop getestet und es funktioniert
    ebenfalls.

  • Hi,
    ich habe ein Tool das Installiertesoftware an Hand einer Black und einer Whitelist per SNMP ausliest.
    Das ganze sogar auch von Remote Rechnern. Nur es muß eben SNMP auf den Rechenr installiert sein.
    Leider kann ich dir das erst am Montag geben da ich das an der Arbeit benutze.

    MfG
    Der_Doc

  • Das wäre super würde ich mich freuen, ;)

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

  • Also jetzt habe ich es auf weiteren 2 rechnern in der Firma Probiert nur 2 einträge in der Tabele??
    Eine idee was ich falsch mache oder eine idee wie man es besser machen könnte?

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."