Я работаю с Python 2.7.9 (64 бит) и Windows Server 2012 R2
Я пытаюсь настроить задачу Windows для запуска длинного скрипта Python каждый день. Мне удалось, вызвав python из сценария powershell, заставить его успешно работать, однако возникает проблема, когда он пытается получить доступ к подключенному диску.
Я могу получить доступ к диску из командной строки или интерактивного PowerShell, и это работает, если я вызываю сценарий PowerShell напрямую, но при запуске запланированного задания я получаю сообщение об ошибке:
bsd_runner.py:<module>:[Errno 2] No such file or directory: u'S:\\pre/RefAttendanceReason.csv'
Несмотря на то, что задача настроена на выполнение от имени моего пользователя, я подумал, что, возможно, задача расписания не имеет сопоставленного накопителя, поэтому я рассмотрел сопоставление накопителя в моем скрипте powershell. Я старался:
New-PSDrive –Name "S" –PSProvider FileSystem –Root "\\D-DWSQL01\Share\load" –Persist 2>&1 >> map_drive.log
которая дала мне результаты:
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
снова работает нормально, если я запускаю команду напрямую, но есть проблема, проходящая через запланированное задание.
Я проверил наивысшие разрешения и сказал задаче убедиться, что у нее есть доступ к сети перед запуском, но безрезультатно.
Я попытался отключить диск и запустить скрипт powershell вручную и получил ту же ошибку для несуществующего корня диска. Но я сам нанес на карту, и все идет хорошо.