![]() |
Re: Prozesse auf LAN-PC auflisten & beenden
API Zeugs habe ich meist im Kopf. WMI nicht so. Aber meist habe ich es als Code-Schnippsel schon mal irgendwo geschrieben und muss es nicht jedes mal neu schreiben. Programmierer sind eben faul. ;)
|
Re: Prozesse auf LAN-PC auflisten & beenden
Der Code funktioniert gut... Bis auf das das "Prozess beenden" nicht implementiert ist. Absicht?
|
Re: Prozesse auf LAN-PC auflisten & beenden
Zitat:
|
Re: Prozesse auf LAN-PC auflisten & beenden
Verstehe!
:wiejetzt: Gib mal nTip! :-D |
Re: Prozesse auf LAN-PC auflisten & beenden
Als VBS wäre auch dieser Quellcode denkbar:
Code:
Funktioniert einwandfrei. Kein Virus o.ä.
remote = InputBox("Name des Remote-PCs:","Remote-Prozesse")
If remote = "" Then WScript.Quit wmitxt = "winmgmts:{impersonationLevel=impersonate}" Set wmi = GetObject(wmitxt & "!\\" & remote) Set prozess1 = wmi.ExecQuery("SELECT * FROM " &_ "Win32_Process") Set prozess2 = wmi.ExecQuery("SELECT * FROM " &_ "Win32_PerfFormattedData_PerfProc_Process") Set ie = CreateObject("InternetExplorer.Application") ie.Navigate "about:blank" While ie.Busy Wend Set dok = ie.Document dok.Open dok.Writeln "<Title>Prozesse auf " & remote & "</Title><u>" &_ "[B]Prozesse auf " & remote & "[/b]</u> " &_ "<table border='1' cellpadding='0' cellspacing='0' " &_ "width='99%'><tr><td></td><td>[B]Name</td><td>[B]PID</td>" &_ "<td>[B]CPU</td><td>[B]Speicher</td></tr>" zaehler = 1 For Each proz1 In prozess1 dok.Writeln "<tr><td>" & zaehler & "</td><td>" &_ proz1.Name & "</td><td>" & proz1.ProcessID & "</td><td>" &_ cpulast(proz1.ProcessID) & "</td><td align='right'>" &_ Fix(proz1.WorkingSetSize/1000) & " K</td></tr>" zaehler = zaehler + 1 Next dok.Close ie.Visible = True Set shell = WScript.CreateObject("WScript.Shell") shell.AppActivate("Prozesse auf " & remote) shell.SendKeys "% x" Function cpulast(strprozid) cpulast = "???" For Each proz2 In prozess2 If proz2.IDProcess = strprozid Then cpulast = proz2.PercentProcessorTime End If Next End Function Als erste Zeile wäre auch dies denkbar:
Code:
remote = InputBox("Name des Remote-PCs:","Remote-Prozesse","Name des meist genutzten PCs")
|
Re: Prozesse auf LAN-PC auflisten & beenden
Jetzt hättest du doch wenigstens in der VBS-Variante das Prozess-killen mitreinbringen könnte. Also meine Basic-Kenntnisse gehen genausoweit das ich sagen kann das es nicht untergebracht ist. Aber wäre das nicht pädagogisch sinnvoll gewesen? :-D
|
Re: Prozesse auf LAN-PC auflisten & beenden
Ja, das hab ich auch versucht. Mir ist es zwar gelungen, :coder:
aber der angegebene Prozess wurde nie so richtig beendet... :gruebel: bei Bedarf kann ich den Code aber trotzdem posten... |
Re: Prozesse auf LAN-PC auflisten & beenden
mach mal.. vielleicht hilfts mir ja irgendwie
|
Re: Prozesse auf LAN-PC auflisten & beenden
Hallo,
:oops: lange nicht mehr ins Thema geschaut... Ich habe mich jetzt mal ein bisschen in den Code eingearbeitet, und komme auch einigermaßen ;-) damit klar. Aber was genau muss ich tun, um zu Beenden? Das dürfte so wie im Code ablaufen (erst Anmeldung etc.), aber statt der While-Schleife, die die Prozesse listet, bräuchte ich einen Befehl, der einen Prozess dann beendet. Danke, ManuMF |
Re: Prozesse auf LAN-PC auflisten & beenden
Hallo,
niemand eine Idee? Habe inzwischen noch mal in PView geschaut, aber nur die Methode zum lokalen Beenden gefunden. In der WMI-Unit habe ich auch keine Möglichkeit zum Beenden gefunden. :gruebel: Gruß, ManuMF |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz