1

I have a Task Scheduler task that runs a batch file which copies a file from server1 to server2 on a different domain. Note:The scheduled task is running on Domain_A using user accounts created to run auto processes.

Task Scheduler Task:
Run under Domain_A\user1

Batch file commands/steps

A) net use q: \\shared drive\abc /user:Domain_A\user1 password1

B) net use w: \\server2\qwe /user:Domain_B\user2 password2

C) copy q:\*.txt w:\

Command A runs without any issues and the drive gets mapped, however, command B fails. I added errorlevel and got 1. If I run this command directly in cmd, it runs and drive gets mapped. However, I am using my personal account to run the cmd (Let's call that "master_user") and not the generic accounts created for auto running tasks (eg. user1 and user2). My account ("master_user") exist on both Domain_A and Domain_B.

My questions are,
1) If you are trying to map a drive from Domain_B is it necessary to have the user1 account on that domain?

My logic is, because user1 does not exist on other domain the cmd command is failing at step (B) since user1 is used to run cmd.

2) What could I try to achieve the desired result?

ShruS
  • 11
  • 2
  • This should be ok the way you are doing it. Can you login to the console as user A and try the command from the command line? Or runas CMD as user A and try it. Use the same commands. It’s important to determine if this is really an authentication issue or just a nuance of using task scheduler. – Appleoddity Jun 03 '19 at 14:34
  • @Appleoddity, I tried running cmd as user1 and the was able to map both drives without error. I am guessing this means I rule out authentication issue. Any idea what else I can try or why is task scheduler not running this correctly? – ShruS Jun 03 '19 at 15:05
  • 2
    I think the problem is with the use of drive maps and the background nature of task scheduler. I would improve this technique in a couple of ways. First, try to not map a drive and use a UNC path instead. You can use `net` like this: `net use \\server2\qwe /user:domain\user2 password` to establish authentication then use `copy \\server1\abc\*.txt \\server2\qwe` but I would also consider using robocopy as well for network based transfers like this in similar fashion. If you’re running as User 1 you don’t need the first `net use`. – Appleoddity Jun 03 '19 at 15:13
  • The syntax help for `net use` specifies that the password comes before the username. In my experience, it works either way, but you might want to try swapping the order in your batch file, just in case the combination of Task Scheduler, a batch file, and Net Use causes the order to be critical. – Doug Deden Jun 03 '19 at 16:55
  • Are you able to capture the output of the batch file? There should be an error message, which might (or might not) be helpful. Also: one possible cause is if your user account has a remembered drive mapping to server2. You can't have multiple connections to the same server with different credentials. – Harry Johnston Jun 03 '19 at 23:21

0 Answers0