Ich habe im Taskplaner eine Aufgabe zum Ausführen einer Batchdatei, die sich auf einer lokalen Festplatte befindet.
Die Batchdatei führt einfach XCopy aus, um Dateien von einem zugeordneten Laufwerk in einen Ordner auf dem lokalen Laufwerk zu kopieren.
Wenn die Batchdatei über die Befehlszeile ausgeführt wird, funktioniert sie einwandfrei.
Wenn der Befehl „XCopy“ über die Aufgabenplanung ausgeführt wird, wird der folgende Fehler angezeigt:
Invalid drive specification
Falls es wichtig ist: Bei dem Laufwerk handelt es sich um ein NAS und es wird dem Computer mithilfe der lokalen Anmeldeinformationen des NAS zugeordnet (im Netzwerk ist kein Active Directory vorhanden).
Antwort1
Ich habe dieses Verhalten schon einmal gesehen, als ich versucht habe, ein Backup auf einem zugeordneten NAS durchzuführen. Ich weiß nicht, warum, aber es braucht einen „Anstoß“, um sich daran zu erinnern, dass das Laufwerk X: \myserver\myfolder zugeordnet ist.
Manuell kann dies gelöst werden, indem Sie auf den Zielordner zugreifen. Sobald Sie X: „berühren“, „merkt“ sich Windows, dass es da ist. Programmgesteuert (d. h. im Stapel) können Sie entweder versuchen, auf den zugeordneten Ordner zuzugreifen oder ihn (mit dem net
Befehl) im Stapel neu zuzuordnen, bevor Sie den XCopy-Befehl ausführen.
Antwort2
Diese Antwort kommt sehr spät, aber ich habe einen anderen Weg gefunden, das Problem zu umgehen. Es scheint durch einen anderen Kontext verursacht zu werden, wenn es von einer geplanten Aufgabe ausgeführt wird (selbst wenn Run with highest privileges
ausgewählt ist), als von einer Eingabeaufforderung mit erhöhten Rechten.
Konfigurieren Sie den
EnableLinkedConnections
Registrierungswert. Dieser Wert ermöglichtWindows Vista and Windows 7
die gemeinsame Nutzung von Netzwerkverbindungen zwischen dem gefilterten Zugriffstoken und dem vollständigen Administratorzugriffstoken für ein Mitglied der Gruppe „Administratoren“. Nachdem Sie diesen Registrierungswert konfiguriert haben, überprüft LSA, ob ein anderes Zugriffstoken vorhanden ist, das der aktuellen Benutzersitzung zugeordnet ist, wenn eine Netzwerkressource einem Zugriffstoken zugeordnet ist. Wenn LSA feststellt, dass ein verknüpftes Zugriffstoken vorhanden ist, fügt es die Netzwerkfreigabe dem verknüpften Speicherort hinzu.
- Startregedit
- Suchen Sie den Registrierungsunterschlüssel und klicken Sie mit der rechten Maustaste darauf.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System.
- Zeigen Sie auf Neu, und klicken Sie dann auf DWORD-Wert.
- TypVerknüpfte Verbindungen aktivierenund drücken Sie dann die EINGABETASTE.
- RechtsklickVerknüpfte Verbindungen aktivierenund klicken Sie dann auf Ändern.
- Geben Sie im Feld Wert den Wert 1 ein, und klicken Sie dann auf OK.
- Beenden Sie den Registrierungseditor undstarte den Computer neu.
Referenz istHier.