我有一项服务,我需要能够使用该机器上的本地帐户写入另一台机器上的网络共享。为此,我需要映射服务可以看到的网络驱动器(以运行服务的用户身份登录并安装驱动器似乎不起作用),或者我需要能够指定 unc 路径使用用户名和密码作为我的服务配置的一部分。
这些事情中的任何一个都可能吗?
我有一项服务,我需要能够使用该机器上的本地帐户写入另一台机器上的网络共享。为此,我需要映射服务可以看到的网络驱动器(以运行服务的用户身份登录并安装驱动器似乎不起作用),或者我需要能够指定 unc 路径使用用户名和密码作为我的服务配置的一部分。
这些事情中的任何一个都可能吗?
上面的答案应该有效....但更简单的方法是在两个盒子上使用相同的用户名和密码创建一个本地帐户。然后将您的服务设置为在 ServerA 上的该本地帐户名下运行,并设置 ServerB 的网络共享权限以允许在 ServerB 上使用该本地帐户名。由于它们是相同的用户名和密码,因此应该允许访问共享。
或者更好的是......创建一个域帐户并将其用于两端。
您可以使用net use命令指定用户名/密码。
服务在什么帐户下运行?是本地系统还是其他帐户?虽然最好的方法是使用域用户/同一用户并通过本地用户来实现您想要的,但另一种选择是使用 Windows 中的凭据管理器。您可以在服务将运行的同一上下文中运行时为远程计算机添加凭据,并且身份验证子系统将自动获取它。您可以在服务帐户的命令提示符下使用 cmdkey.exe 轻松完成此操作。
不太简单,但另一种选择由 SO 提供。