我有一项服务,需要能够使用该计算机上的本地帐户写入另一台计算机上的网络共享。为此,我要么需要映射服务可以看到的网络驱动器(以服务运行的用户身份登录并安装驱动器似乎不起作用),要么需要能够使用用户名和密码指定 unc 路径作为服务配置的一部分。
这两件事有可能吗?
答案1
上述答案应该可行……但更简单的方法是在两个框上创建一个具有相同用户名和密码的本地帐户。然后将您的服务设置为在 ServerA 上以该本地帐户名运行,并设置 ServerB 的网络共享权限以允许在 ServerB 上使用该本地帐户名。由于它们是相同的用户名和密码,因此应该允许访问共享。
或者更好的是...创建一个域帐户并将其用于两端。
答案2
您可以使用以下方式指定用户名/密码净使用命令。
net use Z: \\Server\SharedFolder passwordGoesHere /USER:userAccountGoesHere /persistent:no
答案3
服务在哪个帐户下运行?是本地系统还是其他帐户?虽然最好的方法是使用域用户/相同用户并传递本地用户来实现您想要的,但另一种选择是使用 Windows 中的凭据管理器。您可以在服务将运行的相同上下文中运行时为远程计算机添加凭据,身份验证子系统将自动获取它。您可以使用服务帐户命令提示符中的 cmdkey.exe 轻松执行此操作。
答案4
不那么简单,但是另外一个选择由 SO 提供。