Я предполагаю, что мы не можем использовать сквозную аутентификацию, если клиентский компьютер не остается с тем же доменом. Если Вы используете сеть, развертываются 1.1, можно попробовать storeCredentials, и getCredentials для предотвращения помещают имя пользователя и пароль непосредственно в командной строке.
Перейдите к странице IIS Site Admin-> IIS-> Аутентификация
Включите Анонимную аутентификацию->, указывают гостевого пользователя IIS (IUSER_computername)
Дайте разрешение гостевого пользователя IIS на веб-сайте wwwroot папка.
Возможно, я не полностью понимаю вашу проблему, но не могли бы вы использовать для этого флаг -storeCredentials и -getCredentials?
Это явно запоздалый ответ, и я уверен, что вы решили эту проблему или поработали над ней, но в случае, если это поможет кому-то другому:
Вы определенно можете использовать MSDeploy для установки пакета с помощью NTLM-аутентификации, даже если целевой веб-сервер находится на другом домене. Это примерно та командная строка, которую мы используем:
msdeploy.exe -source:package='MyPackage.csproj.zip' -dest:auto,computerName='https://www.myserver.com:8172/MsDeploy.axd?site=mysitename',authtype='NTLM',includeAcls='False' -verb:sync -disableLink:AppPoolExtension -disableLink:ContentExtension -disableLink:CertificateExtension -setParamFile:"MyPackage.csproj.SetParameters.xml"
Для того, чтобы это сработало, мы запускаем эту команду с исходной машины в контексте безопасности имя пользователя + пароль, который идентично совпадает с именем пользователя + паролем на целевом домене.
Файл параметра, вероятно, не имеет никакого отношения к аутентификации, но я просто включил его для полноты. Этот метод мы используем для применения различных строк соединения для приложения в зависимости от того, где оно развернуто.
Мы не используем подход "net use" для создания токена, я не уверен, что это легко транслируется в NTLM-аутентификацию по HTTP.
.