我正在运行一个基于 powershell 的多线程应用程序,其中每个线程(.net 任务)需要使用不同的凭据将一堆文件从一台机器复制到另一台机器。这是在每个 .net 任务中运行的脚本
New-PSDrive -Name tid -PSProvider FileSystem -Root \\sname\c$\Users\<Uname>\Appdata\Local\temp\<myapp>\tid -Credential $cred
Copy-Item -Source c:\test\* tid:\
Remove-PSDrive -Name tid
在任何时候都可能有一堆任务执行这个脚本。大多数情况下它工作正常,文件被复制。有时我在映射网络驱动器时看到此错误:
不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试
出于测试目的,我的所有任务都获得了相同的证书。无法解释为什么此错误不会每次都发生,如果它是错误字符串所说的多个连接的问题。
运行 20 个并行脚本 15 次(总共 300 次),看到此错误 6 次。有人可以解释这个原因以及应该如何解决这个问题,