Taskplaner Batchdatei und Netzlaufwerk - Probleme mit den Rechten
Moin!
Ich versuche gerade eine Batch-Datei, mit der ich seit Jahren meine robocopy-Backups gemacht habe ( auf unserem alten Server) , unter 2012R2 zum Laufen zu bekommen.
Robocopy kopiert dabei Daten von verschiedenen lokalen Ordnern auf ein Netzlaufwerk (Freigabe auf einem qnap-NAS mit eigener Rechteverwaltung) In Abhängigkeit des Wochentags und des Monats werden verschiedene Ordner an verschiedene Stellen kopiert. Die Selektion erfolgt in der .bat-Datei.
Leider hat ja Microsoft den Taskplaner dermassen verkrüppelt, dass man ihn kaum noch sinnvoll einsetzen kann, in Verbindung mit .bat-Dateien. Und jetzt versuche ich um die Limitierungen herum zu arbeiten.
Vorneweg: Die Batch läuft inzwischen problemlos durch, wenn ich sie manuell (doppelcklick) starte. Aber aus dem Taskplaner heraus nicht.
Ich habe kein Problem, batch-Dateien an sich per Taskplaner zu starten. Meine Probleme sind eher in der Tatsache begründet, dass der Taskplaner nicht die gleichen Bedingungen beim Ausführen hat wie der Nutzer, mit dem der Task gestartet wird. Ich führe alles als Administrator aus, auch unabhängig von der Anmeldung. Im Arbeitsplatz des Administrators ist auch das Netzlaufwerk verbunden, auf das ich speichern will. Aber wenn der Taskplaner die Batch-Datei (mit dem Administrator-Konto) ausführt, gibt es dieses Netzlaufwerk nicht. Mein Plan war nun, eben per
in der batch erst mal das Netzlaufwerk zu verbinden und anschliessend an robocopy zu übergeben, aber das schlägt fehl.
Jetzt habe ich genau den oben beschriebenen Befehl mal in die Powershell getippt. Und siehe da, es funktioniert nicht.
Systemfehler 86, Das angegebene Netzwerkkennwort ist falsch.
Wenn ich aber (auch in der power shell) den net use befehl ohne das /user-flag eintippe und anschliessend händisch Benutzername und Passwort nach Abfrage eintippe, verbindet sich das Netzlaufwerk wie erwartet.
WTF?
Verwirrte Grüsse
Matthias
Ich versuche gerade eine Batch-Datei, mit der ich seit Jahren meine robocopy-Backups gemacht habe ( auf unserem alten Server) , unter 2012R2 zum Laufen zu bekommen.
Robocopy kopiert dabei Daten von verschiedenen lokalen Ordnern auf ein Netzlaufwerk (Freigabe auf einem qnap-NAS mit eigener Rechteverwaltung) In Abhängigkeit des Wochentags und des Monats werden verschiedene Ordner an verschiedene Stellen kopiert. Die Selektion erfolgt in der .bat-Datei.
Leider hat ja Microsoft den Taskplaner dermassen verkrüppelt, dass man ihn kaum noch sinnvoll einsetzen kann, in Verbindung mit .bat-Dateien. Und jetzt versuche ich um die Limitierungen herum zu arbeiten.
Vorneweg: Die Batch läuft inzwischen problemlos durch, wenn ich sie manuell (doppelcklick) starte. Aber aus dem Taskplaner heraus nicht.
Ich habe kein Problem, batch-Dateien an sich per Taskplaner zu starten. Meine Probleme sind eher in der Tatsache begründet, dass der Taskplaner nicht die gleichen Bedingungen beim Ausführen hat wie der Nutzer, mit dem der Task gestartet wird. Ich führe alles als Administrator aus, auch unabhängig von der Anmeldung. Im Arbeitsplatz des Administrators ist auch das Netzlaufwerk verbunden, auf das ich speichern will. Aber wenn der Taskplaner die Batch-Datei (mit dem Administrator-Konto) ausführt, gibt es dieses Netzlaufwerk nicht. Mein Plan war nun, eben per
net use m: \\IP_des_Nas\Freigabe /user:user password
Jetzt habe ich genau den oben beschriebenen Befehl mal in die Powershell getippt. Und siehe da, es funktioniert nicht.
Systemfehler 86, Das angegebene Netzwerkkennwort ist falsch.
Wenn ich aber (auch in der power shell) den net use befehl ohne das /user-flag eintippe und anschliessend händisch Benutzername und Passwort nach Abfrage eintippe, verbindet sich das Netzlaufwerk wie erwartet.
WTF?
Verwirrte Grüsse
Matthias
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 608762
Url: https://administrator.de/contentid/608762
Ausgedruckt am: 25.11.2024 um 18:11 Uhr
8 Kommentare
Neuester Kommentar
Ok, schade. Vielleicht geht das jetzt in die falsche Richtung, aber wenn Du mal einen User anlegst, dem dann Berechtigung gibst Batch-Jobs auszufuehren (Local Security Policy > Log on as a batch job) und das ganze dann als diesen User laufen laesst, geht das dann auch nicht?
Edit: Ansonsten leg die Credentials im Credential Manager an und versuch es danach nochmal. Scheint so als wenn Windows sich die Credentials nicht merken will/kann. Ein lockeres
wird Dir da auch nicht helfen denke ich.
Edit: Ansonsten leg die Credentials im Credential Manager an und versuch es danach nochmal. Scheint so als wenn Windows sich die Credentials nicht merken will/kann. Ein lockeres
/savecred /persistent:yes
Moin,
falsche Syntax:
sollte funktionieren.
hth
Erik
falsche Syntax:
net use /?
Die Syntax dieses Befehls lautet:
NET USE
[Gerätename | *] [\\Computername\Freigabename[\Volume] [Kennwort | *]]
[/USER:[Domänenname\]Benutzername]
[/USER:[Domänenname im Punktformat\]Benutzername]
[/USER:[Benutzername@Domänenname im Punktformat]
[/SMARTCARD]
[/SAVECRED]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]
net use m: \\IP_des_Nas\Freigabe password /user:user
sollte funktionieren.
hth
Erik
Moin,
Ach, dazu gibt es doch gar keinen Grund. Du glaubst gar nicht, wie oft ich schon stundenlang im Quellcode rumgesucht und verschlimmbessert habe, und dann kam einer daher und meint nur: "Da ist ein Buchstabendreher." oder "Da fehlt ein Zeichen."
Gerne. Freut mich, dass es geht.
Liebe Grüße
Erik
Ach, dazu gibt es doch gar keinen Grund. Du glaubst gar nicht, wie oft ich schon stundenlang im Quellcode rumgesucht und verschlimmbessert habe, und dann kam einer daher und meint nur: "Da ist ein Buchstabendreher." oder "Da fehlt ein Zeichen."
Aber es funktioniert jetzt. Vielen dank.
Gerne. Freut mich, dass es geht.
Liebe Grüße
Erik