बहुत परीक्षण और त्रुटि विन्यास के बाद, मैं वर्तमान में msdeploy.exe स्क्रिप्ट करने में सक्षम हूं, जो विज़ुअल स्टूडियो 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 का मायूस दिखाता है। वेब लॉग में। क्लाइंट या सर्वर के इवेंट व्यूअर में कोई अन्य उपयोगी जानकारी नहीं मिलती है।
नोट: लक्ष्य वेबसर्वर दूसरे डोमेन पर है, इसलिए मैं 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 स्थापित है।