MSDeploy.exe可以连接作为管理员,但没有任何其他的Windows帐户(MSDeploy.e

2019-08-01 16:59发布

我整合MSDeploy到编译过程中,和认证有问题。 下面的命令正常工作:

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=Administrator,password=secret -dest:package=c:\DeployTest\KPC.zip

然而,这并不工作:

msdeploy -verb:sync -source:appHostConfig="KitchenPC",computerName=192.168.0.3,userName=kpcpublish,password=secret -dest:package=c:\DeployTest\KPC.zip

并产生错误:

Error Code: ERROR_USER_NOT_ADMIN
More Information: Connected to '192.168.0.11' using the Web Deployment Agent Service, but could not authorize. Make sure you are an administ
rator on '192.168.0.11'.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_USER_NOT_ADMIN.
Error: The remote server returned an error: (401) Unauthorized.
Error count: 1.

我跟着上面的链接的说明,任何其他文档,我能找到 ,其中几乎所有说同样的话:

  1. 我创建了一个名为kpcpublish账户
  2. 我加入这个帐户一个称为MSDepSvcUsers -哎呀,我甚至增加了帐户管理员
  3. 我右点击网站上,并选择Deploy->配置Web部署发布并添加kpcpublish到列表中。 它说以下内容:

 Publish enabled for 'SERVER\kpcpublish' Granted 'SERVER\kpcpublish' full control on 'C:\Website' Successfully created settings file 'C:\Users\Administrator\Desktop\SERVER_kpcpublish_KitchenPC.PublishSettings' 

必须有一些步骤我失踪,但我想不出有什么能。

更新:

使用了完整的HTTP路径computerName财产,我得到的错误:

错误代码:ERROR_DESTINATION_NOT_REACHABLE更多信息:无法连接到远程计算机(“192.168.0.3”)。 在远程计算机上,确保Web部署安装和所需的过程(“Web管理服务”)已启动。 了解更多: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DES TINATION_NOT_REACHABLE。 错误:无法连接到远程服务器错误:连接尝试失败,因为连接的方没有正确一段时间后响应或已建立的连接发细设,因为连接主机未能响应192.168.0.3:8192错误次数:1 。

我检查和Web管理服务确实运行。

另一个更新:

我已经完全铺平了系统,并从头设置。 我做了什么不寻常的,刚安装IIS角色,并确保选中“管理服务”下的管理工具,为WMSVC运行哪个是必需的。 然后我安装的Web PI,并安装了“推荐配置为主机服务商”,这将安装Web部署3.0。 但是,我也注意到在安装这个(我相信我得到这个错误最后一次为好)出现了错误。 看起来像:

我还附上日志文件在这里 。

然后我试图手动安装Web部署3.0,但它说,它已经安装。 接下来,我直接从下载的MSI http://www.iis.net/download/webdeploy和“修复”模式下运行它。 这似乎已经奏效。 我也注意到,WMSVC服务启动并运行。 因此,这看起来不错。

尽管如此,MSDeploy将无法连接。 我想这可能是某种形式的防火墙的问题,所以我跑在本地。 我已经使用HTTPS和HTTP连接尝试。 HTTPS给我一个错误,HTTP只是超时2-3分钟后。

HTTPS:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'f3a54096-adc4-4f54-9e4f-ad8fde12edb6' for connections to the remote server.
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED
More Information: Connected to the remote computer ("staging") using the specified process ("Web Management Service"), but could not verify the server's certifi
cate. If you trust the server, connect again and allow untrusted certificates.
Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED.
Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Error: The remote certificate is invalid according to the validation procedure.
Error count: 1.

HTTP:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=http://STAGING:8172/msdeploy.axd,userName=Administrator,password=Khorf123 -dest:package=c:\DeleteMe.zip
Info: Using ID 'ebee66f0-08e5-4d9d-98ea-0c2e59784895' for connections to the remote server.
Error: Could not complete the request to remote agent URL 'http://staging:8172/msdeploy.axd'.
Error: The operation has timed out
Error count: 1.

Answer 1:

更新2016年3月7日 -注:非管理员部署的还需要?site=IIS_SITE_NAMEmsdeploy.axd ,否则连接被视为全球性,需要管理员权限)

不知道如何原来错过了这一点,但你的问题是computerName参数。 使用WMSVC时,为此你需要指定完整的URL非管理员部署只支持。

请尝试以下

msdeploy -verb:sync ^
  -source:appHostConfig="KitchenPC",computerName=https://192.168.0.3:8172/MsDeploy.axd,userName=kpcpublish,password=secret,authType=Basic ^ 
  -dest:package=c:\DeployTest\KPC.zip 

从文档 :

计算机名称将被转换为默认的Web部署URL。 例如, 计算机名= Server1的将成为HTTP://服务器1 / MsDeployAgentService 。 如果远程服务与自定义端口或URL运行,则必须指定完整的URL

而从安装说明 :

如果未安装Web管理服务的MSI不会安装Web管理服务处理程序组件; 处理程序组件是必要的非管理员部署

(我找不到描述WMSVC作为非管理员部署的要求更加明确规范源)



Answer 2:

弄清楚了!

因此,看来(至少默认情况下),WMSVC仅侦听HTTPS和HTTP只会超时。 但是,由于我的证书是自签名的,我只好用-allowUntrusted命令行选项。

几乎是足够的。 我也有指定的authType =基本像理查德原本建议。 所以,把它放在一起,这是将实际工作的MSDeploy命令行:

msdeploy -verb:sync -source:appHostConfig="Default Web Site",computerName=https://192.168.0.3:8172/msdeploy.axd,authType=Basic,userName=Publish,password=secret -dest:package=c:\DeployTest\KPC.zip -allowUntrusted


Answer 3:

尝试在目标机器上重新启动WMSVC服务



Answer 4:

配置Web部署我的服务器之后,如下所示 。 我继续得到HTTP 404连接失败。 在五月什么工作对我来说是以下额外的努力......

  1. 卸载Web部署的所有先前版本的存在。 我当时甚至不知道他们的存在; 然而,以前的版本似乎与完成最新的Web部署服务的连接冲突。 较新的版本不卸载他们的前辈。 在最后一部分,我是越来越HTTP 401.7 - File Extension Denied
  2. 对于良好的措施,执行的Web部署,目前的最新版本修复Microsoft Web Deploy 3.6
  3. 良好的措施,重建和导入我的Visual Studio 2013部署配置文件...
    1. 重建publish settings file使用Configure Web Deploy Publishing可从对话Deploy在目标网站的上下文菜单选项IIS ManagerConnections面板。 (请注意,在publish settings file ,当您按下将重新Setup为它的完整路径在对话条目指定的文件, Specify a location to save the publish settings file
    2. 复制或以其他方式进行publish settings file可用于Visual Studio和选择Publish从项目的上下文菜单中, 创建一个Visual Studio通过导入发布配置文件publish settings file


Answer 5:

如上面提到的,请确保您通过HTTPS连接。 如果您正试图连接作为管理员,但没有使用SSL,您会收到以下错误:

错误代码:ERROR_USER_NOT_ADMIN

更多信息:使用Web部署代理服务连接到“主机”,但不能授权。 请确保你是“主机”的管理员。

(其中“主机”是您的服务器名称)



Answer 6:

对我来说,问题是,我的密码过期......我注意到它时,登录电子出来,然后尝试登录回trhough远程桌面。



文章来源: MSDeploy.exe can connect as Administrator, but not any other Windows account