Hallo @All
Stehe vor dem Problem das ich ein paar Prozesse beenden muss, das aber nur mit Userrechte. Hört sich jetzt einfach an, ist es aber nicht.
Zuerst habe ich in meinen Script ProcessClose ("msedge.exe") verwendet. Das würde jetzt grundsätzlich funktionieren, nur auf einen Multiusersystem nicht (Terminalserver). Nach gefühlten 1000 Versuche hört der Befehl scheinbar auf wenn er auf einen "fremden" Prozess kommt. Das hat dann den Efekt das nicht alle Userprozesse geschlossen werden und nachfolgende Arbeiten nicht durchgeführt werden können.
Na gut, dann halt die einzelnen PIDs heraussuchen und einzelen abschiessen: Aber die ProcessList gibt zurückgelieferten Array mit dem Prozessnamen und der PID aller Prozesse zurück, aber nicht den Usernamen.
In der Doku bin ich dann über _WinAPI_getProcessUser gestossen. Aber das fordert wiederum erhöhte Rechte
Ich könnte als Workaround "taskkill /IM "msedge.exe" /F" verwenden, aber ich hoffe das es hier interne Mittel gibt die ich enfach noch nicht kenne - man lernt ja nie aus!
Ach ja, beim Testen ist mir noch was aufgefallen:
tasklist /v | findstr /i "msedge.exe" - auf einen Client liefert den Usernamen sofern es der eigene Prozess ist. Auf einen Server (2016) wird statt des Usernames nur "nicht zutreffend" angezeigt. Ob das eine Einstellung am Server ist habe ich noch nicht überprüfen können...
lg
Racer