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

2023-12-20

我有一个 Windows 服务,用于将文件从本地目录复制到 samba 共享。

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

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

但是,在运行该服务时,我收到 IO 异常,表明登录错误。我在该盒子上运行了进程监视器,观察该服务,我可以看到它找到了 UNC 路径,但在尝试写入共享时出现登录错误。

这是使用普通的 .NetSystem.IO.File.Copy call.

我不明白这些错误,因为当以同一用户登录时,我可以在共享上复制和创建文件。

有任何想法吗?

Error in main processing loop (DoWork()): Logon failure: unknown user name or bad password.

System.Exception: Error on MyService.ProcessExportTransferfileDirectories and values: D:\Export, \\RemoteServer\intray, D:\Export\Archive ---> System.IO.IOException: Logon failure: unknown user name or bad password.

    at 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)
    --- End of inner exception stack trace ---
    at MyService.Consumer.BusinessLogic.WmsFacade.MoveAndArchiveFile(String sourceFolder, String targetFolder, String archiveFolder, String rootFolder, LogCategory logCategory, LogCounter logCounter)
    at MyService.Consumer.BusinessLogic.WmsFacade.ProcessExportTransfer(IDictionary`2 fileDirectories)
    at MyService.Core.TimedWorkerProvider.DoWork()

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 服务无法复制到文件共享 的相关文章

随机推荐