Geplante Tasks automatisiert löschen
Hallo Com!
Hier mal wieder eine Frage an die Batch und Powershell - Gurus unter euch... und wieder zücke ich meinen Hut...
Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks eines Users.
Das Skript soll bei der Benutzeranmeldung automatisch ausgeführt werden. Das ist soweit kein Problem über Zuweisung per GPO - nur für das Skript selbst habe ich keinen Ansatz.
Alle Tasks pauschal löschen wäre absolut ok.
Wenn die Möglichkeit bestünde, bestimme Tasks vor dem Gelöscht werden zu bewahren (z. B. die Google Chrome Update Tasks) dann wäre das optimal - aber nur wenn's problemlos möglich ist.
Noch besser wäre - im Hinblick auf die ganzen verborgenen System-Tasks - einfach ein Windows-Default wieder herzustellen... sodass alle von wem auch immer erzeugten Tasks gelöscht werden.
Vielen Dank im Voraus.
Wahrscheinlich wird's wieder ein Einzeiler und ich frage mich, welchen genialen Kopf man haben muss, um aus sowas zu kommen...
Greetz,
Fugu
Hier mal wieder eine Frage an die Batch und Powershell - Gurus unter euch... und wieder zücke ich meinen Hut...
Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks eines Users.
Das Skript soll bei der Benutzeranmeldung automatisch ausgeführt werden. Das ist soweit kein Problem über Zuweisung per GPO - nur für das Skript selbst habe ich keinen Ansatz.
Alle Tasks pauschal löschen wäre absolut ok.
Wenn die Möglichkeit bestünde, bestimme Tasks vor dem Gelöscht werden zu bewahren (z. B. die Google Chrome Update Tasks) dann wäre das optimal - aber nur wenn's problemlos möglich ist.
Noch besser wäre - im Hinblick auf die ganzen verborgenen System-Tasks - einfach ein Windows-Default wieder herzustellen... sodass alle von wem auch immer erzeugten Tasks gelöscht werden.
Vielen Dank im Voraus.
Wahrscheinlich wird's wieder ein Einzeiler und ich frage mich, welchen genialen Kopf man haben muss, um aus sowas zu kommen...
Greetz,
Fugu
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 477519
Url: https://administrator.de/contentid/477519
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
17 Kommentare
Neuester Kommentar
Moin,
bei deiner schwammigen Beschreibung bleibt einem eigentlich nur:
https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/get-sc ...
https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/unregi ...
Gruß
bei deiner schwammigen Beschreibung bleibt einem eigentlich nur:
https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/get-sc ...
https://docs.microsoft.com/en-us/powershell/module/scheduledtasks/unregi ...
Gruß
Hi,
bei sowas frage ich ja immer nach der Ursache warum die Tasks denn da sind.
Wenns von Standard Softwareinstallern kommt wäre es ja eine nachhaltigere Idee diese so auszurollen, dass auch der Task nciht installiert wird.
Wenns vom User selbstgebasteltes ist, wärs vllt sinnvoll den Zugriff darauf einzuschränken.
Was deine Frage angeht, du könntest mal schauen obs das löschen nciht direkt über die GPO geht
Computerkonfiguration -> Einstellungen -> Systemsteuerungseinstellungen -> Geplante Aufgaben
oder halt in der Benutzerkonfiguration.
mfg
bei sowas frage ich ja immer nach der Ursache warum die Tasks denn da sind.
Wenns von Standard Softwareinstallern kommt wäre es ja eine nachhaltigere Idee diese so auszurollen, dass auch der Task nciht installiert wird.
Wenns vom User selbstgebasteltes ist, wärs vllt sinnvoll den Zugriff darauf einzuschränken.
Was deine Frage angeht, du könntest mal schauen obs das löschen nciht direkt über die GPO geht
Computerkonfiguration -> Einstellungen -> Systemsteuerungseinstellungen -> Geplante Aufgaben
oder halt in der Benutzerkonfiguration.
mfg
Zitat von @fugu:
Hintergrund:
Div. Verschlüsselungs-Trojaner machen bei dem fatalen Klick des Users nichts anderes, als einen geplanten Task anzulegen, mit dem später versucht wird der installierte Virenscanner auszutricksen.
nicht möglich bei einfachen Benutzern, es se denn, die AV-Software hat FehlerHintergrund:
Div. Verschlüsselungs-Trojaner machen bei dem fatalen Klick des Users nichts anderes, als einen geplanten Task anzulegen, mit dem später versucht wird der installierte Virenscanner auszutricksen.
Also würde ich gerne alle Tasks automatisiert löschen lassen, "die nicht original" sind - und das bei jeder User-Anmeldung.
dann mach es richtig und nutze eine Reborncard.
Zu deinem Szenario mit den Verschlüsselungstrojanern:
Verbiete doch einfach, dass User Tasks anlegen können. Ich sehe wenig Sinn darin, dass sie es überhaupt können. Wenn Tasks gebraucht werden, dann werden diese in der Regel von Setups angelegt, die eh Adminrechte brauchen.
Man verbietet das, indem man die Schreibrechte auf demTasksordner für User entfernt.
Verbiete doch einfach, dass User Tasks anlegen können. Ich sehe wenig Sinn darin, dass sie es überhaupt können. Wenn Tasks gebraucht werden, dann werden diese in der Regel von Setups angelegt, die eh Adminrechte brauchen.
Man verbietet das, indem man die Schreibrechte auf demTasksordner für User entfernt.
Sehe ich auch so, statt an den Symptomen rum zu doktorn besser gleich von vornherein Schutzmaßnahmen ergreifen, denn ist der Angreifer erst mal im System bringen nachträgliche Einzelaktionen meist wenig, und wenn dann meist zu spät.
Sehe ich nicht so!
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
Wenn das Netz schon Kompromittiert ist durch schlechte Rechtevergabe, aber der Trojaner noch nicht komplett ist (Aufgaben) , könnte es sehr interessant sein die Aufgaben wieder auf Default zu setzen bzw. erst mal alle zu löschen um weiteres (NACHLADEN) an Code zu vermeiden!
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule
Vor einem neu installierten System exportieren und an dem PC alt importieren!?
Das ist doch denkbar oder?
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
Wenn das Netz schon Kompromittiert ist durch schlechte Rechtevergabe, aber der Trojaner noch nicht komplett ist (Aufgaben) , könnte es sehr interessant sein die Aufgaben wieder auf Default zu setzen bzw. erst mal alle zu löschen um weiteres (NACHLADEN) an Code zu vermeiden!
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule
Vor einem neu installierten System exportieren und an dem PC alt importieren!?
Das ist doch denkbar oder?
Zitat von @Fireblastr2018:
Sehe ich nicht so!
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
Wenn der User keine Rechte hat Tasks anzulegen kommt es erst gar nicht dazu daß solche Tasks angelegt werden.Sehe ich nicht so!
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule
Vor einem neu installierten System exportieren und an dem PC alt importieren!?
Das ist doch denkbar oder?
Bringt aber nur was wenn das Viechzeuch nicht schon andere Teile verseucht hat. Tasks sind nicht die einzige Stelle an der sich ein Schädling einnisten kann, da gibt es hunderte mehr. Eine entsprechende Verhaltenserkennung die die Kisten vom Netz trennt ist da allemal effektiver. Eine bereits verseuchte Kiste säubere ich nicht mehr, die wird neu aufgesetzt, sonst hast du gleich wieder Probleme wenn du nur eine Kleinigkeit übersiehst. Das haben schon andere versucht, letztens erst wieder ein Krankenhaus. Die haben die Kisten manuell gesäubert und wieder ohne weitere Maßnahmen ans Netz genommen, kurz drauf war das ganze Netz wieder kompromittiert.Vor einem neu installierten System exportieren und an dem PC alt importieren!?
Das ist doch denkbar oder?
Zitat von @Fireblastr2018:
Sehe ich nicht so!
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
Wenn der User keine Rechte hat Tasks anzulegen kommt es erst gar nicht dazu daß solche Tasks angelegt werden.Sehe ich nicht so!
Der Virus wird aktiv durch User klick oder angelegter Aufgabe!
Ja das ist schon klar, aber wenn es schon Aufgaben gibt im User Profil?
Ein Unternehmen mit 5 Server und 50 Workstation neu zu installieren ist halt nicht mal eben so gemacht!
Dann gilt das Teil schon als verseucht und gehört von verantwortungsvollen Admins neu aufgesetzt.
Zitat von @Fireblastr2018:
Das ist alles richtig aber leider nicht die FRAGE!
Die Frage ist: "Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks"
siehe 1. Antwort in diesem ThreadDas ist alles richtig aber leider nicht die FRAGE!
Die Frage ist: "Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks"
Zur Frage: Man kann auslesen, was ein Referenzsystem (eines mit frischem Windows und der Software, die man als Referenz heranzieht) für Tasks hat und natürlich dieses auch bei anderen herstellen, ja. Aber ob das wirklich hinhaut? Wer hat denn ein so einheitliches Netzwerk?
Du hast doch keine komplett gleichen Systeme und musst vielmehr davon ausgehen, dass einigeTasks legitim drin sind, die von Software stammen, die installiert wurde.
Somit ist das einzig Vernünftige für Leute, die davon ausgehen, dass ihr Netzwerk derzeit nicht verseucht ist, die aber Tasks als Gefahr ansehen, das Anlegen selbiger für Nutzer zu sperren.
Für Leute, die davon ausgehen, dass Ihr Netzwerk verseucht ist ("eventuell verseucht" hat die selben Konsequenzen wie "verseucht"), steht dann eher eine sorgfältige Analyse an und nicht etwa ein Zurücksetzen von Tasks auf einen "Default", den es nicht wirklich gibt.
Du hast doch keine komplett gleichen Systeme und musst vielmehr davon ausgehen, dass einigeTasks legitim drin sind, die von Software stammen, die installiert wurde.
Somit ist das einzig Vernünftige für Leute, die davon ausgehen, dass ihr Netzwerk derzeit nicht verseucht ist, die aber Tasks als Gefahr ansehen, das Anlegen selbiger für Nutzer zu sperren.
Für Leute, die davon ausgehen, dass Ihr Netzwerk verseucht ist ("eventuell verseucht" hat die selben Konsequenzen wie "verseucht"), steht dann eher eine sorgfältige Analyse an und nicht etwa ein Zurücksetzen von Tasks auf einen "Default", den es nicht wirklich gibt.
Zitat von @Fireblastr2018:
Die Frage ist: "Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks"
Ist eben in dem vom TO genannten ZUsammenhang nicht sinnvoll, wie DerWoWusste schon anmerkt, ist nicht jedes System gleich. Ein Einzeiler der dir alle Tasks löscht außer denen die unter "/Microsoft/.." liegen und wenn gewünscht zusätzlicher Außnahmen ist schnell runtergetippt, s. @Kraemer, berücksichtigt aber nicht im Root oder anderen Ordner liegende Tasks die ebenfalls von legitimier Software angelegt wurden, die du damit ebenfalls killst. Außerdem könnte sich ein Task ja auch in den Microsoft Ordnern verstecken. Ein Abgleich bringt nur was wenn alle Rechner wirklich den gleichen Softwarestand haben. In dem Fall ist das schnell gemacht:Die Frage ist: "Ich suche nach einer Skript-Möglichkeit zum automatisierten Löschen aller (ggf. mit benennbaren Ausnahmen) geplanten Tasks"
Auf einem Referenz-System ausgeführt
Get-ScheduledTask | select TaskPath,TaskName | export-csv "D:\orginal.csv" -NoType -Encoding UTF8 -Delimiter ";"
Compare (Import-CSV "D:\orginal.csv" -Delimiter ";") (Get-ScheduledTask) -Property TaskPath,TaskName -PassThru | ?{$_.SideIndicator -eq '=>'} | Unregister-ScheduledTask -Confirm:$false -Verbose
Außnahmen lassen sich leicht im Where-Object festlegen wenn das zusätzlich gewünscht ist.