我有一个简单的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的解决方案,删除所有挂载并为我重新启动服务器解析问题。 如果有没有重启服务器的解决方案,请告诉我。
答案 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规范访问网络驱动器的唯一方法是打开机器并登录用户。