Msbuild 使用net.exe拒绝访问

Msbuild 使用net.exe拒绝访问,msbuild,jenkins,Msbuild,Jenkins,我有一个MSBuild生成/部署脚本,作为其例程的一部分,它从部署服务器上的CI服务器停止和启动两个Windows服务 脚本中的一个命令是 net.exe use \\<ip adddress of deployment computer> /user:<ip address of deployment server>\<user> <password> net.exe使用\\/user:\ 如您所见,CI服务器调用部署服务器上的net,并告诉

我有一个MSBuild生成/部署脚本,作为其例程的一部分,它从部署服务器上的CI服务器停止和启动两个Windows服务

脚本中的一个命令是

net.exe use \\<ip adddress of deployment computer> /user:<ip address of deployment server>\<user> <password>
net.exe使用\\/user:\
如您所见,CI服务器调用部署服务器上的net,并告诉它使用部署服务器上存在的用户

问题是,这会导致所有进一步调用返回拒绝访问错误


解决这个问题的办法是什么?我必须使用域帐户吗?

您可以使用net use命令并指定远程服务器的登录凭据:

net use \\TheServer\ShareName /user:DomainName\User password

在这种情况下,您指定的用户是在服务器上本地定义的用户

完成后,执行
net使用/删除
关闭连接

net use \\TheServer\ShareName /delete
只要指定远程服务器可以接受的凭据,就不必使用域用户

如果您不能使用服务器名称,您应该可以使用IP。如果不起作用,请尝试将服务器名称映射到主机文件(c:\windows\system32\drivers\etc\hosts)中的IP 并在netuse命令中使用名称


您应该检查的另一件事是,允许使用非来宾帐户访问文件共享。(您在尝试访问的服务器上执行此操作)

顺便说一句,quesiton中的用户名是部署服务器上的管理员。嗨,Asher-我已经完成了。我已经在netuse命令的username部分指定了远程机器的ip地址,但它不起作用=正如我所说,它给出了一个拒绝访问的错误。我可以试试主机文件。为什么我被管理员帐户拒绝访问?远程机器上有什么操作系统?您是否可以访问其文件共享?远程计算机是Windows Web Server 2008 R2。在CI计算机上的windows资源管理器中,我可以执行\\。当我这样做时,我会得到一个用户名和密码提示。我输入了与net use调用中指定的相同的u/p,然后我进入了,尽管我没有得到太多的返回空白屏幕。这仍然不起作用。我正在做以下工作:1。net.exe使用\\/delete 2。net.exe使用\\/user:\3。sc.exe\\stop AC3.Mcfc.Notifier.Production在步骤3失败。请查看部署服务器中的安全事件日志(使用事件查看器)。你应该在那里看到错误,把它们贴在这里
net use \\TheServer\ShareName /delete