Windows – Mapped Drive inaccessible from Windows Scheduled task

mapped-drivepowershellpythonscheduled-taskswindows-server-2012-r2

I am working with python 2.7.9 (64 bit) and windows server 2012 R2

I am trying to set up a windows scheduled task to run a lengthy python script every day. I've managed to by calling the python from a powershell script get the python to run successfully however there comes a problem when it is trying to access a mapped drive.

I can access the drive fine from the command line or interactive powershell and it works if I invoke the powershell script directly, but when I run the scheduled task I get an error:

bsd_runner.py:<module>:[Errno 2] No such file or directory: u'S:\\pre/RefAttendanceReason.csv'

Even though the task is set to run as my user I figured maybe the schedule task doesn't have the drive mapped so I looked into mapping the drive inside of my powershell script. I tried:

New-PSDrive –Name "S" –PSProvider FileSystem –Root "\\D-DWSQL01\Share\load" –Persist 2>&1 >> map_drive.log

which got me the results:

New-PSDrive : The specified drive root "â€Root \\D-DWSQL01\Share\load 
â€Persist" either does not exist, or it is not a folder.
At C:\Users\thomasa\Desktop\sandbox\BSD_ETL\run_bsd.ps1:8 char:5
+     New-PSDrive –Name "S" –PSProvider FileSystem –Root 
"\\D-DWSQL01\Share\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~
    + CategoryInfo          : ReadError: (â€Name S â€PSProvider:PSDriveInfo) [ 
   New-PSDrive], IOException
    + FullyQualifiedErrorId : DriveRootError,Microsoft.PowerShell.Commands.New 
   PSDriveCommand

again works fine if I run the command directly but has an issue running through the scheduled task.

I checked highest permissions and told the task to make sure it had access to the network before running but to no avail.

I tried unmapping the drive and running the powershell script manually and got the same error for the drive root not existing. But I mapped it myself and it proceeds just fine.

Best Answer

Using

net use S: \\D-DWSQL01\Share\load

Apparently allowed the schedule task to see the drive normally.

Related Question