<TLDR>
它是在所有可能的使用MS的网络部署到部署Web应用程序的远程主机从命令行与非管理员用户?
</ TLDR>
我已经遵循了Microsoft的安装和配置Web部署指南中的每一点.我的目标是能够与IIS用户/非管理员用户进行远程Web部署.
完成为非管理员部署安装和配置Web部署中所述的所有步骤后,我收到以下日志消息(表示一切正常):
Publish enabled for 'deploy_user'
Granted 'deploy_user' full control on 'C:\inetpub\wwwroot'
Successfully created settings file 'C:\Users\...\Desktop\deploy_user_Default Web Site.PublishSettings'
Run Code Online (Sandbox Code Playgroud)
接下来,当我从本地计算机尝试运行以下命令时:
.\my_deploy_package.cmd /M:https://machine_name:8172/msdeploy.axd -allowUntrusted /U:deploy_user /P:deploy_password /A:Basic /T
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:错误:远程服务器返回错误:(401)未经授权.
如果我在目标计算机上进入事件查看器>自定义视图> Administratove事件,我看到此消息出现"匹配"错误:
IISWMSVC_AUTHORIZATION_SERVER_NOT_ALLOWED
只允许Windows管理员使用服务器连接进行连接.其他用户应使用"连接到站点或应用程序"任务才能进行连接.
进程:WMSvc User = deploy_user
此错误与此问题中描述的完全相同.而接受的答案表明,我已经做是正确的做法.
我已经尝试了几种建议,就像这样,但似乎没有任何帮助.管理服务设置为允许远程连接(Windows和IIS管理器),并且我已经为内置Windows用户(非管理员)和IIS管理员用户运行配置,但仍然是相同的错误.但是,只要我与管理员用户一起运行deploy命令,它就会成功.
我被允许通过IIS gui与我的非管理员deploy_user用户远程连接(在IIS中:连接到站点> [服务器URL]/[站点名称]> deploy_user/deploy_password),表示已配置必要的权限和规则.但是,当我尝试运行部署脚本命令行(使用相同的用户)时,它会失败.
如果它实际上是因为错误消息指示,任何非管理员用户只能通过IIS管理器使用" 连接到站点"或"应用程序",那么从命令行/构建服务器执行此类部署的建议方法是什么?我真的不想在构建服务器的配置中以明文形式输入管理员用户的用户名/密码...
我发现有一个选项是,如果你的构建服务器和你试图部署的机器有一个共同的Active Directory(或其他共享用户的方式),你可以跳过这个/A:Basic标志,完全省去用户名和密码.您必须确保运行部署的用户也具有部署目标的管理员权限.但是,在我们的一个案例中,构建服务器和部署目标没有共同的用户群,因此这不是一个选项,我们将以明文形式返回用户名/密码 …
我正在使用msdeploy将网站代码推送到4个不同的服务器(测试和生产服务器).在前3个工作正常,但第4个给我一个ERROR_CERTIFICATE_VALIDATION_FAILED错误.我正在使用-allowUntrusted选项.
"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -source:iisApp="E:\workspace\testDeploy\outproject\_PublishedWebsites\<webfolder>" -dest:iisApp="mycompany.com",ComputerName="https://<hostip>:8172/MsDeploy.axd",UserName="<userid>",Password="****",AuthType="Basic" -allowUntrusted -enableRule:AppOffline -skip:objectName=filePath,absolutePath="^.*<webfolder>\\web.*\.config$|^.*mycompany\.com\\web.*\.config"
Error Code: ERROR_CERTIFICATE_VALIDATION_FAILED
More Infenter code hereormation: Connected to the remote computer ("<hostip>") using the specified process ("Web Management Service"), but could not verify the server's certificate. 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 …Run Code Online (Sandbox Code Playgroud) 我最近卸载了VS 2017并安装了VS 2019。
当我通过Web Deploy发布网站时,如果失败并显示2条错误消息
由于未将对象引用设置为对象实例的错误,因此无法加载发布证书对话框。我的网站
Web部署任务失败。(已使用指定的过程(“ Web管理服务”)连接到远程计算机(“ example.com”),但无法验证服务器的证书。如果您信任服务器,请再次连接并允许不受信任的证书。有关详细信息,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CERTIFICATE_VALIDATION_FAILED。)
我对如何解决这个问题一无所知...
编辑
根据评论,存在一个相同的问题,但该问题与Azure有关。我没有连接到任何与Azure相关的内容。我并不是说这使我的问题变得独特,更多的是我不了解原因/解决方案是否相同。连接时从Visual Studio部署到Azure失败