Windows服务无法复制到文件共享

Ode*_*ded 5 .net file-io networking samba windows-services

我有一个Windows服务设置将文件从本地目录复制到samba共享.

该服务通过UNC路径连接到服务器(即\ remoteserver\shareddir).

我已经以运行服务的用户身份登录,并且能够使用UNC路径复制文件并在samba共享上创建文件.

但是,在运行服务时,我得到的异常表明存在登录错误.我在那个盒子上运行进程监视器,看着服务,我可以看到它找到UNC路径,但在尝试写入共享时遇到登录错误.

这是使用普通的vanilla .net System.IO.File.Copy调用.

我不明白错误,因为当我在同一用户下登录时,我能够在共享上复制和创建文件.

有任何想法吗?

编辑:异常文本

主处理循环出错(DoWork()):登录失败:未知用户名或密码错误.

System.Exception:MyService.ProcessExportTransferfileDirectories和values上的错误:D:\ Export,\ RemoteServer\intray,D:\ Export\Archive ---> System.IO.IOException:登录失败:未知的用户名或密码错误.

在System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO .__ Error.WinIOError()at System.IO.File.Move(String sourceFileName,String destFileName)
at MyService.Consumer.BusinessLogic.WmsFacade.MoveAndArchiveFile (String sourceFolder,String targetFolder,String archiveFolder,String rootFolder,LogCategory logCategory,LogCounter logCounter)---内部异常堆栈跟踪结束--- at MyService.Consumer.BusinessLogic.WmsFacade.MoveAndArchiveFile(String sourceFolder,String targetFolder,String archiveFolder ,字符串rootFolder,LogCategory logCategory,LogCounter logCounter)at MyService.Consumer.BusinessLogic.WmsFacade.ProcessExportTransfer(IDictionary`2 fileDirectories)at MyService.Core.TimedWorkerProvider.DoWork()

Ode*_*ded 4

这最终是一个权限问题 - 在以在 samba 共享上设置的不同用户身份运行该服务后,它运行没有问题,可以复制文件。

仍然不明白为什么当使用不同的帐户时,我可以使用 Windows 资源管理器在共享上复制/创建文件,但是当服务在同一帐户下运行时,它根本无法访问共享:(