Processlist remote abfragen

  • Hallo,

    per Console geht es.

    TASKLIST /S System /U Benutzername /P Kennwort /FO TABLE /NH

    So Vielleicht? Kanns leider nicht testen, habe zurzeit keinen Zugriff auf einen Server oder anderen Rechner.

    Spoiler anzeigen
    [autoit]

    $ip = inputbox("IP"," Ipadresse:")
    $user = inputbox("Username:", "domäne\user")
    $pass = inputbox("Passwort", "Passwort:", "", "*")
    Run(@ComSpec & " /k " & "tasklist /S \\"& $ip & "/U" & $user & "/P" & $pass & "/FO /NH", '', @SW_SHOW)

    [/autoit]

    Wenn ich mich Irre bitte berichtigen.

  • oder "PSLIST" aus den Sysinternal-Tools - Jetzt MS....

    oder wahrscheinlich auch mit WMI, wobei ich auf die schnelle kein Beispiel habe.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • WMI Beispiel

    Spoiler anzeigen
    [autoit]


    ; Generated by AutoIt Scriptomatic June 08, 2010

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

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $strComputer = "localhost"

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

    $Output=""
    $Output &= "Computer: " & $strComputer & @CRLF
    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_Product", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    If IsObj($colItems) then
    For $objItem In $colItems
    $Output &= "Caption: " & $objItem.Caption & @CRLF
    $Output &= "Description: " & $objItem.Description & @CRLF
    $Output &= "IdentifyingNumber: " & $objItem.IdentifyingNumber & @CRLF
    $Output &= "InstallDate: " & $objItem.InstallDate & @CRLF
    $Output &= "InstallDate2: " & WMIDateStringToDate($objItem.InstallDate2) & @CRLF
    $Output &= "InstallLocation: " & $objItem.InstallLocation & @CRLF
    $Output &= "InstallState: " & $objItem.InstallState & @CRLF
    $Output &= "Name: " & $objItem.Name & @CRLF
    $Output &= "PackageCache: " & $objItem.PackageCache & @CRLF
    $Output &= "SKUNumber: " & $objItem.SKUNumber & @CRLF
    $Output &= "Vendor: " & $objItem.Vendor & @CRLF
    $Output &= "Version: " & $objItem.Version & @CRLF
    Next
    ConsoleWrite($Output)
    FileWrite(@TempDir & "\Win32_Product.TXT", $Output )
    Run(@Comspec & " /c start " & @TempDir & "\Win32_Product.TXT" )
    Else
    Msgbox(0,"WMI Output","No WMI Objects Found for class: " & "Win32_Product" )
    Endif

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

    Func WMIDateStringToDate($dtmDate)

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

    Return (StringMid($dtmDate, 5, 2) & "/" & _
    StringMid($dtmDate, 7, 2) & "/" & StringLeft($dtmDate, 4) _
    & " " & StringMid($dtmDate, 9, 2) & ":" & StringMid($dtmDate, 11, 2) & ":" & StringMid($dtmDate,13, 2))
    EndFunc

    [/autoit]


    Ich würde es aber über die Systerminals machen mit PSINFO und PS SERVICE in verbindung mit Autoit oder einer Batch Datei
    Ungetestetes Beispiel für die Autoit Version

    Spoiler anzeigen
    [autoit]


    $RemoteSVC = True ; starte den Remote Service, dieser wird gebraucht um die Software auszulesen
    $strComputer = "localhost"
    $strUser = "Administrator"
    $strService = "Remote-Registrierung"
    $strPasswort = "AdminPW"
    $strOutput = 'SoftwareListe ' &$strComputer
    If $RemoteSVC Then ShellExecuteWait('PsService.exe','\\'& $strComputer & ' -u ' & $strComputer & '\' & $strUser &' -p '& $strPasswort & ' start ' & $strService)
    ShellExecuteWait('PsInfo.exe','\\' & $strComputer & '/s > '$strOutput)
    MsgBox(64,"Fertig","Softwareliste von Computer erstellt")
    Exit

    [/autoit]

    Gruß Marvin

  • @Protex hast du das remote hinbekommen? Hatte das gleiche WMI Script gestern schonmal aber hat remote nicht funktioniert.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Gernau das mit der Console habe ich ja auch schon ausprobiert,
    allerdings werte ich Tasklist mit einem Angehängten |find "Processname /C aus.

    Code
    tasklist /s Servername  |find "pcsws" /C


    Das liefert dann als Rückgabe die Anzahl der abgefragten Prozesse und genau die brauche ich um sie in Autoit weiterzuverarbeiten)
    Wie gesagt Autoit - PROCESSLIST liefert genau das was ich brauche....

    Gruß
    Wolke

  • Wofür poste ich meine Beispiele überhaupt wenn du sie dir scheinbar nicht mal anschaust, ich habe dir doch 2 Lösungen gepostet...

    Gruß Marvin

  • Aus Scriptomatic "herauskopieren" hätte ich auch noch fix geschafft !

    Nur fehlt diesem Script eine saubere Authentifizierung mit Username & Passwort für eine Remote-Nutzung.

    In dieser Standardversion wird es wenn dann nur Local, in der Domäne oder bei gleichem benutzernamen/Passwort funktionieren.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Micha_he jep ist richtig, habe ich etwas falsch verstanden oder soll dieses Forum nicht auch zum eigenen Denken anregen? und nicht dazu eine fertige Lösung zu präsentieren, wenn doch sollte dieses Thread wohl in Scripte (ohne Gegenleistung)... und noch was, in einer DomainenStrucktur läuft es, also wo liegt dass Problem? remote Rechner abzufragen macht man eigentlich nur in Firmen, und dort hat man zu 95% eine Domäne und somit ist dieses Script auch zu gebrauchen.. & es ist kein Hexenwerk das ganze umzuschreiben.. also ein bisschen eigeninitiative kann man schon erwarten..

    Gruß Marvin

  • Wofür poste ich meine Beispiele überhaupt wenn du sie dir scheinbar nicht mal anschaust, ich habe dir doch 2 Lösungen gepostet...

    Gruß Marvin

    Hi Marvin,
    sorry ich habe das wirklich übersehen , das sieht schon mal gut aus.

    PS:
    Das mit dem denken krieg ich schon hin ;)

    Gruß
    Wolke