많은 시행 착오 구성 후 현재 msdeploy.exe를 스크립트하여 Visual Studio 2010에 빌드 된 패키지를 IIS 7.5를 실행하는 원격 서버에 다음과 같은 명령 줄로 배포 할 수 있습니다.
기본 인증 명령 :
msdeploy -source:package="project.zip" -dest:auto,computerName='https://webserver:8172/MsDeploy.axd',authtype='Basic',username='DOMAIN\myuser',password='xxx',includeAcls='False' -verb:sync -setParamFile:"SetParameters.xml" -allowUntrusted
통과 인증을 사용하여 명령 행에서 비밀번호를 제공 할 필요가 없습니까? 웹 배포 문서는 authType이 매개 변수를 언급 하는 대신 기본으로, 'NTLM'를 지정할 수 있습니다. 그러나이 작업을 시도 할 때마다 (아래 예 참조) 401을 나타내는 오류가 발생합니다. WMSvc 웹 로그에 401.2가 표시되고 기본 인증을 사용하는 이전의 시도와 달리 실제로 DOMAIN \ myuser가 표시되는 것과 달리 해당 로그 항목에 사용자 ID가 채워지지 않았습니다. 웹 로그에. 클라이언트 나 서버의 이벤트 뷰어에는 다른 유용한 정보가 없습니다.
참고 : 대상 웹 서버가 다른 도메인에 있으므로 net use \\webserver /u:DOMAIN\myuser
토큰을 설정합니다.
통과 인증 명령 시도 :
msdeploy -source:package="project.zip" -dest:auto,computerName='https://webserver:8172/MsDeploy.axd',authtype='NTLM',includeAcls='False' -verb:sync -setParamFile:"SetParameters.xml" -allowUntrusted
msdeploy.exe가 HTTP 수준에서 IIS를 제대로 인증하지 못하는 것 같습니다. 무엇이 잘못 될 수 있습니까?
클라이언트는 Windows XP, 서버는 Win2008R2입니다. 둘 다 msdeploy.exe 버전 7.1.618.0을 실행 중입니다. 둘 다 .NET 2.0, 3.5 및 4.0이 설치되어 있습니다.