Python脚本无法在计划任务中访问网络驱动器,但可以手动运行

时间:2017-03-02 02:08:38

标签: python windows scheduled-tasks scheduler

我有一个简单的Python脚本来扫描网络驱动器并复制文件。该脚本可以在IDE中复制文件。但是,如果我将脚本添加到任务计划程序中,它将显示无法访问的网络驱动器。 代码段

os.system("net use z: /d /Y")
os.system("net use z: \\server\folder password /user:user_name /p:yes")
network_drive=r"\\server\folder"
if not os.path.exists(network_drive):
    print("Drive  "+ network_drive+" is not available")
else:
    #copy files

手动运行代码,它可以复制。在任务调度程序中,它将打印信息。 我从这个link添加网络映射行。似乎不适合我。 我怎么能在我的python代码中访问网络驱动器?在任务计划程序中,我已选择“运行用户是否登录”和“以最高权限运行”。

编辑: 真正的问题是网络使用没有正确安装文件夹。 我检查os.system的输出并得到以下错误

  

发生系统错误1219与服务器的多个连接或   由同一用户共享资源,使用多个用户名   不允许。断开以前与服务器的所有连接或   共享资源,然后再试一次。

结合here的解决方案,删除所有挂载并为我重新启动服务器解析问题。 如果有没有重启服务器的解决方案,请告诉我。

1 个答案:

答案 0 :(得分:0)

Vista中的计划任务安全性进行了重大改革,以防止黑客安装可以访问网络资源的计划任务。

当用户未登录时,任务计划程序使用“用户服务”(S4U)身份验证,该身份验证拒绝用户访问任何网络功能。这适用于映射驱动器和使用UNC文件规范。

"以最高权限运行"不会向指定用户授予更高权限,但会在安装Windows时创建的系统管理员帐户的完全独立安全令牌下运行。

https://technet.microsoft.com/en-us/library/cc722152(v=ws.11).aspx

https://technet.microsoft.com/en-us/library/cc732613(v=ws.10).aspx

https://technet.microsoft.com/en-us/library/ee844140(v=ws.10).aspx

我使用映射驱动器或UNC规范访问网络驱动器的唯一方法是打开机器并登录用户。