Ändern Sie Ihren Dienst und legen Sie fest, ob ein Benutzer angemeldet ist oder nicht.
cfr. https://blogs.technet.microsoft.com/askperf/2015/02/18/help-my-scheduled-task-does-not-run/
Ich habe ein von mir geschriebenes Skript, das alle 20 oder 30 Sekunden eine Datei erstellt und in eine Datei schreibt, und dies hat in den letzten 15 Jahren oder so in fünf Versionen von Windows so gut funktioniert, aber ich habe die ausstehenden Sicherheitsupdates auf einem PC installiert, auf dem die Skript (unter Windows Embedded POSReady 2009) und funktioniert nicht mehr. Es gibt eine Fehlermeldung von 'DOS error: 1307'. Ein separates VBScript, das von einem als Dienst ausgeführten EXE-Prozess aufgerufen wird, erledigt ebenfalls nicht mehr seine Aufgabe (dazu gehört auch das Erstellen und Schreiben in eine Datei). Das VBScript funktioniert jedoch, wenn es von der Befehlszeile aus ausgeführt wird. Das erste Skript funktioniert, sobald ich mit der neuesten Version von Process Monitor (procmon v3.50) Ereignisse aufzeichne. Und ich meine, sofort, obwohl das Skript nur alle 20 oder 30 Sekunden versucht, die Datei zu erstellen, wird es sofort erstellt. nicht warten, bis es normalerweise erstellt wurde - als ob der Befehl create irgendwo in die Warteschlange eingereiht worden wäre und procmon die Warteschlange freigegeben hat. Es funktioniert weiter, wenn ich die Erfassung von Ereignissen mit Process Monitor stoppe, aber nicht mehr, sobald ich Process Monitor schließe.
Warum oder wie beeinflusst Process Monitor das Verhalten anderer Prozesse? Wie kann ich das zugrunde liegende Problem beheben oder diagnostizieren, das anscheinend durch die Windows-Sicherheitsupdates verursacht wurde.
(Das erste Skript wird in einem von einem Windows-Dienst erstellten Prozess ausgeführt und verwendet eine kommerzielle, visuelle IDE, um es zu kompilieren, ist jedoch keine eigentliche Programmiersprache. Es gibt ein drittes Programm, das nach beiden Dateien sucht, die von den ersten beiden Skripts erstellt werden). liest sie, sendet die Daten an einen Remote-Server und löscht die lokalen Dateien, und das funktioniert einwandfrei, abgesehen davon, dass diese beiden Datenelemente fehlen, wenn procmon nicht ausgeführt wird.)
Eine ähnliche Frage, aber die Antwort wurde nicht akzeptiert, das Szenario ist anders und die Antwort ist für meine Frage nicht relevant: Das Ausführen von Process Monitor bewirkt, dass die Anwendung funktioniert
Ändern Sie Ihren Dienst und legen Sie fest, ob ein Benutzer angemeldet ist oder nicht.
cfr. https://blogs.technet.microsoft.com/askperf/2015/02/18/help-my-scheduled-task-does-not-run/