我有一个MSBuild构建/部署脚本,作为其常规的一部分,它从部署服务器上的CI服务器停止并启动几个Windows服务。
脚本中的一个命令是
net.exe use \\<ip adddress of deployment computer> /user:<ip address of deployment server>\<user> <password>
如您所见,CI服务器在部署服务器上调用net并告诉它使用部署服务器上存在的用户。
问题是,这导致所有进一步调用返回访问被拒绝错误。
这是什么解决方案?我必须使用域帐户吗?
答案 0 :(得分:1)
您可以使用net use命令并为远程服务器指定登录凭据:
net use \\TheServer\ShareName /user:DomainName\User password
或
net use \\TheServer\ShareName /user:TheServer\User password
在这种情况下,您指定的用户是在TheServer上本地定义的用户
完成后,执行net use /delete
关闭连接
net use \\TheServer\ShareName /delete
只要您指定远程服务器可以接受的凭据
,就不必使用域用户如果您不能使用服务器名称,则应该能够使用IP。如果它不起作用,请尝试将服务器名称映射到hosts文件中的IP(c:\ windows \ system32 \ drivers \ etc \ hosts) 并在net use命令中使用该名称。
你应该检查的是,它允许访问非访客帐户的文件共享。 look here(您在尝试访问的服务器上执行此操作)