Upload Traffic überwachen > wenn zu gering > batch ausführen
-
@DocShoe
Danke für die Erklärung. Dann hab ich jetzt meinen eigenen Wachhund Danke.
Tatsächlich habe ich keinen nennenswerten CPU-Ausschlag bei der 10-sekündigen Ausführung der Batch-Datei.Das einzige woran ich jetzt gerade noch rumprobiere ist, dass die Datei nicht ausgeführt wird wenn der Befehl taskkill OBS nicht findet, weil es bereits komplett beendet/abgestüzt war. Aber das finde ich EDIT: habs...
-
Auf die schnelle zusammengegoogelt:
$obs = Get-Process obs64.exe -ErrorAction SilentlyContinue if ($obs) { // Prozess lebt noch taskkill /f /im obs64.exe }
-
Dann hab ich jetzt genau was ich wollte
Vielen Dank nochmal an alle Mithelfenden
Die Deutsche Krebsforschung wirds freuen - auch wenns ein Tropfen auf den heißen Stein ist...Ein kleine unabhängige Frage hätte ich vielleicht noch...
Die Batch Datei wird ja jetzt vom Taskplaner aller 5 Minuten ausgeführt. Wenn der Stream jetzt also durch den Watchdog neugestartet wird, dann passiert das nur im Hintergrund als Prozess. Es gibt kein OBS- Fenster.
Ich weiß dass die Option "Unabhängig von der Benutzeranmeldung ausführen" dafür verantwortlich ist.
Ich kann aber das Häkchen nicht bei "Nur ausführen, wenn der Benutzer angemeldet ist" setzen, weil, dadurch dass ich über Remote Desktop auf den Streaming PC zugreife, der sich beim Beenden des Zugriffs automatisch abmeldet und der Prozess dann einfach gar nicht aufgeführt würde.
Lässt sich das verborgene OBS irgendwie wieder in den Vordergrund heben?
-
@DocShoe
Hatte schon was gefunden was funktiont hat.
Hab einfach als erste Zeile geschrieben:
$ErrorActionPreference = "Continue"
Damit gings direkt schon
-
Du könntest versuchen, den Prozess mit Credentials zu starten, das scheint aber etwas Fummelarbeit zu sein.
Auf Stack Overflow habe ich das hier gefunden, vllt kannste was damit anfangen.Edit:
Käse, bei der Abmeldung wird dann auch der Prozess beendet.Das Problem ist, dass es für jeden Benutzer einen virtuellen Desktop gibt, auf dem die Fenster angezeigt werden, die der jeweilige Benutzer erzeugt hat (also eigentlich die Anwendungen, die mit seinem Benutzerprofil gestartet wurden). Da dein Skript ohne Benutzeranmeldung läuft bekommt es einen System-Desktop, auf den du als anderer Benutzer keinen Zugriff hast.
-
@DocShoe
Ganz unten in deinem Link könnte vielleicht eine Lösung sein?
Dort steht, dass Dienste mit eingetragenen Benutzeranmeldeinformationen ausgeführt werden können. Nun ist OBS aber kein Dienst, sondern ein Prozess. Lässt sich ein Prozess vielleicht in einen dafür kreierten Dienst packen?
Könnte das klappen?
-
@dreamer84 sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
weil, dadurch dass ich über Remote Desktop auf den Streaming PC zugreife, der sich beim Beenden des Zugriffs automatisch abmeldet
Man kann die RDP-Session auch nur trennen - dann läuft der Desktop weiter.
Beim spätern Anmelden bekommt man den auch wieder zu sehen.Ein Auto-Login beim Systemstart sollte auch möglich sein, so dass gleich der Desktop zu sehen ist.
-
@DirkB
Danke für deine Hilfe
Den Auto-Login hab ich bereits aktiviert. das funktioniert.
Wenn ich mit meiner RemoteDesktop Session fertig bin, mach ich einfach nur über das Kreuz oben rechts zu. Ich wüsste jetzt gar nicht, dass es verschiende Möglichkeiten gibt RDP zutrennen/schließen....?
-
@dreamer84 Dann wird die Verbindung nur getrennt. Der Nutzer bleibt weiterhin auf dem Remoterechner angemeldet, man sieht allerdings den Bildschirmschoner.
Wenn man sich wieder remote (oder auch lokal) anmeldet hat man den Desktop mit den laufenden Applikationen wieder.
Man kann sich auch noch über das Startmenü des Remoterechners abmelden - dann wird der Nutzer auch ausgelogt.
Ein Neustart des Remotrechners geht über die GUI nicht. Aber per CMD.
-
@DirkB
Aber wenn der Remote-Nutzer getrennt ist, ich also die Session über das Kreuz schließe, meldet es sich automatisch ab. Das sehe ich daran, dass er beim wiederverbinden kurz den Anmeldebildschirm zeigt. Da ich automatische Anmeldung aktiviert habe kommt das nur kurz, aber in der Zeit wo der Remote-Nutzer abgemeldet ist, ist in meinem Fall ja auch der Desktop-Nutzer abgemeldet. In diesem Fall würde der Taskplaner nicht arbeiten. Hab ich schon ausprobiert...NACHTRAG:
Ich denke ich werde es einfach statt mit RemoteDesktop mal mit Teamviewer oder Google Remote oder sowas versuchen. Da dürfte er sich nicht abmelden...
-
@dreamer84 sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
Aber wenn der Remote-Nutzer getrennt ist, ich also die Session über das Kreuz schließe, meldet es sich automatisch ab.
Nope. Da wird nur die RDP Verbindung geschlossen. Die lokale Session des Benutzers bleibt weiter bestehen. Sonst würde es auch nicht funktionieren dass OBS weiter läuft wenn du es "normal" (ohne Scheduled Task) startest.
Das sehe ich daran, dass er beim wiederverbinden kurz den Anmeldebildschirm zeigt.
Das bedeutet nur dass die lokale Session gesperrt wurde.
-
@dreamer84 sagte in Upload Traffic überwachen > wenn zu gering > batch ausführen:
@Schlangenmensch
Vielen Dank dafür.
Ich habe soeben einen kleinen Betrag an die Deutsche Krebshilfe gespendet.@hustbaer
Danke für deinen Hinweis.
Was macht ein "sum" Aggregierung?Ich meine damit die potentiell mehreren Werte die von
(Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesSentPerSec).BytesSentPerSec
zurückgegeben werden können zu summieren. (Du bekommst mehrere Werte wenn du mehr als ein Netzwerk-Interface hast.)Sollte so gehen:
$wmi += (Get-WMIObject -Class Win32_PerfFormattedData_Tcpip_NetworkInterface | Select-Object BytesSentPerSec).BytesSentPerSec | Foreach {$sum = 0} {$sum += $_} {$sum}