ローカル ディレクトリから samba 共有にファイルをコピーするように設定された Windows サービスがあります。
このサービスは、UNC パスを介してサーバーに接続します (つまり、\remoteserver\shareddir)。
サービスが実行されているユーザーとしてログインし、UNC パスを使用して、samba 共有でファイルのコピーとファイルの作成の両方を行うことができました。
ただし、サービスを実行すると、ログイン エラーを示唆する io 例外が発生します。そのボックスでプロセス モニターを実行し、サービスを監視したところ、UNC パスが検出されましたが、共有に書き込もうとするとログイン エラーが発生しました。
これは、プレーンなバニラ .net System.IO.File.Copy 呼び出しを使用しています。
同じユーザーでログインすると、共有にファイルをコピーして作成できるため、エラーがわかりません。
何か案は?
編集:例外テキスト
メイン処理ループ (DoWork()) でエラーが発生しました: ログオンに失敗しました: 不明なユーザー名またはパスワードが正しくありません。
System.Exception: MyService.ProcessExportTransferfileDirectories のエラーと値: D:\Export、\RemoteServer\intray、D:\Export\Archive ---> System.IO.IOException: ログオン失敗: 不明なユーザー名またはパスワードが正しくありません。
System.IO.__Error.WinIOError(Int32 errorCode, String MaybeFullPath) で System.IO.__Error.WinIOError() で System.IO.File.Move(String sourceFileName, String destFileName)
で MyService.Consumer.BusinessLogic.WmsFacade.MoveAndArchiveFile (文字列 sourceFolder、文字列 targetFolder、文字列 archiveFolder、文字列 rootFolder、LogCategory logCategory、LogCounter logCounter) --- 内部例外スタック トレースの終了 --- MyService.Consumer.BusinessLogic.WmsFacade.MoveAndArchiveFile(文字列 sourceFolder、文字列 targetFolder、文字列 archiveFolder) 、文字列 rootFolder、LogCategory logCategory、LogCounter logCounter) で MyService.Consumer.BusinessLogic.WmsFacade.ProcessExportTransfer(IDictionary`2 fileDirectories) で MyService.Core.TimedWorkerProvider.DoWork()