beidermachtvongreyscull
Goto Top

Befehl zum Terminieren aller Prozesse mit einer bestimmten Beschreibung. Übersehe ich etwas?

Tach Kollegen,

hin und wieder kommt es vor, dass ich auf unseren Terminalservern ein Update unserer Kanzleisoftware fahren muss, das während der Bürozeiten erfolgt.
Alle Prozesse der Kanzleisoftware haben im Task-Manager in der "Beschreibung"-Spalte mit "Turbo Virtual Machine Executable" geführt.

Ich dachte eigentlich, ich könnte mittels Powershell und

(get-process | ? {$_.Description -eq "Turbo Virtual Machine Executable"}).kill()  

oder

(get-process | ? {$_.Description -like "Turbo Virtual*"}).kill()  

diese Prozesse einfach killen, aber da wird nichts gefunden.

Was mache ich denn da falsch?

Danke fürs Augenöffnen.

Viele Grüße
bdmvg

Content-Key: 629788

Url: https://administrator.de/contentid/629788

Printed on: April 28, 2024 at 00:04 o'clock

Member: falscher-sperrstatus
Solution falscher-sperrstatus Dec 09, 2020 at 12:19:43 (UTC)
Goto Top
Moin,

ist kill nicht linux shell? (kann sein, dass ich da nicht up2date bin. probier es mal mit stop-process.
Member: Doskias
Solution Doskias Dec 09, 2020 updated at 12:26:16 (UTC)
Goto Top
Ich hab es grade mit
(get-process | ? {$_.Description -like "*Edge*"}).kill()  
versucht und bei mir hat es geklappt. was sagt dir denn:

get-process |select-object ProcessName, Description

hast du vielleicht die falsche Description?
Member: beidermachtvongreyscull
beidermachtvongreyscull Dec 09, 2020 updated at 13:21:21 (UTC)
Goto Top
Die Description ist leer.
Ich verstehe es nicht. Im Taskmanager hab ich in der Beschreibung "Turbo Virtual Machine Executable" drin.
Hier fehlt es.

Ein Beispiel:
Name                       : rmCalendar
Id                         : 15244
PriorityClass              : Normal
FileVersion                :
HandleCount                : 1265
WorkingSet                 : 177557504
PagedMemorySize            : 110505984
PrivateMemorySize          : 110505984
VirtualMemorySize          : 689528832
TotalProcessorTime         : 00:00:51.2968750
SI                         : 3
Handles                    : 1265
VM                         : 689528832
WS                         : 177557504
PM                         : 110505984
NPM                        : 88032
Path                       : C:\Program Files (x86)\ra-micro\RAMICRONET\rmCalendar.exe
Company                    :
CPU                        : 51,296875
ProductVersion             :
Description                :
Product                    :
__NounName                 : Process
BasePriority               : 8
ExitCode                   :
HasExited                  : False
ExitTime                   :
Handle                     : 2840
SafeHandle                 : Microsoft.Win32.SafeHandles.SafeProcessHandle
MachineName                : .
MainWindowHandle           : 0
MainWindowTitle            :
MainModule                 : System.Diagnostics.ProcessModule (rmCalendar.exe)
MaxWorkingSet              : 1413120
MinWorkingSet              : 204800
Modules                    : {System.Diagnostics.ProcessModule (rmCalendar.exe), System.Diagnostics.ProcessModule
                             (ntdll.dll), System.Diagnostics.ProcessModule (wow64.dll),
                             System.Diagnostics.ProcessModule (wow64win.dll)...}
NonpagedSystemMemorySize   : 88032
NonpagedSystemMemorySize64 : 88032
PagedMemorySize64          : 110505984
PagedSystemMemorySize      : 939072
PagedSystemMemorySize64    : 939072
PeakPagedMemorySize        : 120750080
PeakPagedMemorySize64      : 120750080
PeakWorkingSet             : 182943744
PeakWorkingSet64           : 182943744
PeakVirtualMemorySize      : 713072640
PeakVirtualMemorySize64    : 713072640
PriorityBoostEnabled       : True
PrivateMemorySize64        : 110505984
PrivilegedProcessorTime    : 00:00:16.9531250
ProcessName                : rmCalendar
ProcessorAffinity          : 255
Responding                 : True
SessionId                  : 3
StartInfo                  : System.Diagnostics.ProcessStartInfo
StartTime                  : 09.12.2020 10:31:40
SynchronizingObject        :
Threads                    : {12772, 19716, 33080, 20608...}
UserProcessorTime          : 00:00:34.3437500
VirtualMemorySize64        : 689528832
EnableRaisingEvents        : False
StandardInput              :
StandardOutput             :
StandardError              :
WorkingSet64               : 177557504
Site                       :
Container                  :

Vielleicht muss ich über WMI gehen, um da ran zu kommen...
Member: beidermachtvongreyscull
beidermachtvongreyscull Dec 09, 2020 at 13:22:10 (UTC)
Goto Top
Moin,

Die Description ist leer. Im Taskmanager aber nicht.
Ich schau mal, ob ich per WMI da rankomme.
Mitglied: 146707
Solution 146707 Dec 09, 2020 updated at 13:29:08 (UTC)
Goto Top
Ich würde mich nicht auf die Description verlassen. Stattdessen würde ich entweder den/die Hauptprozesse eindeutig identifizieren und dann deren Process-Tree abschießen. Ob die Identifizierung nun über den Pfad/Commandline der Prozesse stattfindet oder den Prozessnamen bleibt dir überlassen. Die Description lässt sich übrigens manchmal auch nur in elevated Shells auslesen.
Member: Doskias
Solution Doskias Dec 09, 2020 updated at 13:39:28 (UTC)
Goto Top
Vielleicht hilft dir:

Get-Process |where {$_.mainWindowTItle} |format-table id,name,mainwindowtitle –AutoSize

Nachtrag: Wobei ich grade sehe in deinem Auszug ist der auch leer. Du könntest sonst den path als eindeutiges Kriterium verwenden
Member: beidermachtvongreyscull
beidermachtvongreyscull Dec 09, 2020 at 17:27:37 (UTC)
Goto Top
Da wird doch der Hund in der Pfanne verrückt.

Die Spalte "Beschreibung" im Taskmanager ist die Dateibeschreibung!
Geht dem Prozesspfad ins Dateisystem nach und macht nen Rechtsklick, dann steht in Beschreibung dasselbe drin.

OK. Dann schau ich mal, ob ich über den Pfad weiterkomme.
Member: WoitschekBF3
WoitschekBF3 Jul 13, 2021 at 12:20:26 (UTC)
Goto Top
Die Prozesse sind virtualisiert gestartet daher gibt es wohl keine Description dazu.

Es reicht aus wenn Sie die 32ra.exe abschießen, sobald diese beendet wird, müssten sich auch alle zugehörigen Prozesse beenden.

Sie können sich allerdings auch ein Script bauen welches nur die Prozesse beendet die mit folgenden Zeichen beginnen. Auch in der Reihenfolge:
winword.exe
_winword.exe
32*.exe
7.*exe
ra.*exe
ra7.*exe
ramicro.*exe
RAPDFE*.exe
Services.Starter.exe

Ganz einfach kann man aber auch bei der RDP Collection angeben das die Benutzer nach einer gewissen Zeit inaktivität einfach abgemeldet werden. Oder man legt denen einen Abmeldebutton auf den Desktop. Ist natürlich nur nötig wenn die netten User nicht lernen wollen.
Member: WoitschekBF3
WoitschekBF3 Jul 13, 2021 at 12:22:56 (UTC)
Goto Top
Es ist aber auch möglich das Programm zu aktualisieren wenn RAM geöffnet ist. Problematisch wird es nur wenn die Drittanbietersoftware auch aktualisiert werden soll. Wenn das Programm dann gerade darauf zugreift, muss der TS dann neu gestartet werden. Wenn mehr info benötigt werden. Feel free to pm me
Member: beidermachtvongreyscull
beidermachtvongreyscull Jul 13, 2021 at 13:45:31 (UTC)
Goto Top
@WoitschekBF3

Mahlzeit!
Ist nicht mehr nötig. Ich habe einen scriptgesteuerten Updateprozess gestrickt, der vor dem Start der Kanzleisoftware auf zentrale Updates prüft und diese anwendet, wenn der entsprechende Nutzer lokale Adminrechte hat und der entsprechende Computer sich in einer bestimmten Gruppe befindet.

Was meine TS angeht habe ich einen dynamsichen Abmeldeautomat als Script den Nutzern als Login-Script mitgegeben. So bleiben Sie die Woche über angemeldet, wenn sie das wollen. Nur am WE in der Nacht von Samstag auf Sonntag erfolgt die kontextbezogene Abmeldung durch den Nutzer (Script) selbst. face-smile

Dann starten die Büchsen durch und werden vom Loadbalancer Sonntagvormittags gesperrt.

Aber Danke für die Idee.

Gruß
bdmvg