Windows Task Scheduler-Ereignis auf externem Festplattenlaufwerk

3148
Peter Mortensen

Ich möchte, dass der Windows Task Scheduler ein Programm ausführt, wenn ich meine externe Festplatte einstecke. Ich weiß, wie man die Zeit und den Startzeitplan einstellt, aber für Ereigniszeitpläne habe ich keine Ahnung.

Ist es zu viel Mühe, Anwendungen nach Ereignissen auszuführen? Ich kann stattdessen einfach eine Verknüpfung verwenden oder das Ereignis alle 30 Minuten ausführen, um den Job auszuführen. (Normalerweise habe ich es für 30 Minuten angelegt + genug Zeit, um den Job abzuschließen.)

0
Sie könnten eine geplante Aufgabe erstellen, die alle 30 Minuten ausgeführt wird und die ein VB-Skript verwendet, um nach Ihrer eingesteckten Festplatte zu suchen. Ich stelle das nicht als Antwort auf, da ich keine Zeit habe, das Skript zu schreiben:) (Arbeit verlassen!) Jeff F. vor 13 Jahren 0
Die App prüft den Pfad, bevor ich etwas tue, also brauche ich das nicht. Ich entschied, dass alle 30 Minuten "bald genug" ist vor 13 Jahren 0

2 Antworten auf die Frage

1
hzrari

Ich mache das auch,

Hier ein XML-Export meiner Aufgabe. Sie können es importieren und für Ihren Anwendungsfall anpassen:

<?xml version="1.0" encoding="UTF-16"?> <Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <Date>2013-03-29T10:22:52.2396539</Date> <Author>XXXXXXX</Author> <Description>TODO: run rsyn on this trigger to backup directories!!</Description> </RegistrationInfo> <Triggers> <EventTrigger> <Enabled>true</Enabled> <Subscription>&lt;QueryList&gt;&lt;Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;&lt;Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"&gt;*[System[Provider[@Name='Microsoft-Windows-DriverFrameworks-UserMode'] and EventID=2101]]&lt;/Select&gt;&lt;/Query&gt;&lt;/QueryList&gt;</Subscription> </EventTrigger> </Triggers> <Principals> <Principal id="Author"> <UserId>XXXXXX</UserId> <LogonType>InteractiveToken</LogonType> <RunLevel>LeastPrivilege</RunLevel> </Principal> </Principals> <Settings> <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> <AllowHardTerminate>true</AllowHardTerminate> <StartWhenAvailable>false</StartWhenAvailable> <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> <IdleSettings> <StopOnIdleEnd>true</StopOnIdleEnd> <RestartOnIdle>false</RestartOnIdle> </IdleSettings> <AllowStartOnDemand>true</AllowStartOnDemand> <Enabled>true</Enabled> <Hidden>false</Hidden> <RunOnlyIfIdle>false</RunOnlyIfIdle> <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession> <UseUnifiedSchedulingEngine>false</UseUnifiedSchedulingEngine> <WakeToRun>false</WakeToRun> <ExecutionTimeLimit>P3D</ExecutionTimeLimit> <Priority>7</Priority> </Settings> <Actions Context="Author"> <ShowMessage> <Title>Yes 2</Title> <Body>USB disk ok</Body> </ShowMessage> </Actions> </Task> 

Diese Datei zeigt eine Popup-Meldung an, wenn ein USB-Stick eingesteckt ist.

Sie müssen es möglicherweise anpassen.

Grüße

0
mtone

Überprüfen Sie eine vorherige Antwort, die ich auf dieser Website gegeben habe, um einen Ereignishandler hinzuzufügen, der ein Skript mit Powershell (integriertes Windows 7) verwendet, das bei der Anmeldung mit dem Taskplaner gestartet wird.