私は、各スレッド (.net タスク) が異なる資格情報を使用して、あるマシンから別のマシンに多数のファイルをコピーする必要がある、powershell ベースのマルチスレッド アプリケーションを実行しています。これは、各 .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 回発生しました。誰かがこれの理由とこれにどのように対処すべきかを説明できますか?