Geplante Aufgabe nur ausführen, wenn kein zugeordnetes Netzlaufwerk vorhanden ist?

863
Kjell Rilbe

Ist es in Windows 10 möglich, eine geplante Aufgabe nur auszuführen, wenn kein zugeordnetes Netzlaufwerk vorhanden ist?

Hintergrund: Ich habe eine Aufgabe, ein Batch-Skript, das zwei Netzlaufwerke für einen Sicherungsdienst (CrashPlan) abbildet. Das Batch-Skript prüft, ob das Laufwerk vorhanden ist, if exist Y:\ (...)und ordnet es anderweitig zu net use Y: ....

Dies funktioniert, aber da diese Netzwerkpfade beim Systemstart oder beim Anmelden möglicherweise nicht vorhanden sind (NAS beim Starten des Computers ausgeschaltet), muss ich diese Aufgabe regelmäßig wiederholen, um sicherzustellen, dass die Laufwerke zugeordnet werden, wenn die Netzwerkpfade verfügbar sind .

Ich muss die Aufgabe jedoch nur wiederholen, wenn das Laufwerk noch nicht zugeordnet wurde. Daher möchte ich die Aufgabe überspringen, wenn die Laufwerke vorhanden sind.

Die Ausführung der Aufgabe kann trotzdem nicht schaden - der net useBefehl wird einfach übersprungen, aber das Protokoll wäre sauberer, wenn ich die Aufgabe überspringen könnte, wenn sie nicht benötigt wird.

Das zugrunde liegende "Problem" besteht darin, sicherzustellen, dass die beiden zugeordneten Laufwerke für den CrashPlan-Dienst, der unter dem Konto SYSTEM ausgeführt wird, immer vorhanden sind, wenn die Netzwerkpfade verfügbar sind (die NAS-Geräte sind online). Fühlen Sie sich frei, völlig unterschiedliche Ansätze dazu vorzuschlagen, versuchen Sie jedoch, diese in Kommentaren zu behalten, um zu vermeiden, dass die Antwort dieser Frage überladen wird. Ich würde gerne eine solche Frage separat posten, wenn Sie dazu aufgefordert werden.

0

1 Antwort auf die Frage

2
Alex

Fügen Sie Ihrem Skriptbefehl hinzu, dass diese Aufgabe bei Erfolg irgendwo deaktiviert wird if exist Y:\ (...) and maps it otherwise net use Y: ...

schtasks.exe /CHANGE /TN "YourBatchScriptTask" /DISABLE 

Fügen Sie eine weitere Task hinzu, die "YourBatchScriptTask" beim Starten des Computers aktiviert

schtasks.exe /CHANGE /TN "YourBatchScriptTask" /ENABLE 

Aber wenn ich es wäre, würde ich diesen "überprüfenden" Teil beibehalten, da Sie nicht garantieren können, dass die Netzwerkverbindung zu Ihrem NAS nicht unterbrochen wird. (Nehmen Sie an, dass einige Kätzchen mit Ethernet-Kabeln gespielt werden.)