2012-03-08 14 views
12

जोड़ने के लिए appcmd का उपयोग करने में त्रुटि मैं appcmd का उपयोग कर किसी साइट पर बाध्यकारी जोड़ना चाहता हूं। लेकिन जब मैं निम्न आदेश की कोशिश मैं एक त्रुटि मिलती है:एसएसएल बाध्यकारी

appcmd set site /site.name:"My site name" /+bindings.[protocol='https',bindingInformation='*:443:sub.mydomain.com'] 

त्रुटि:

ERROR (message:Cannot find SITE object with identifier "bindingInformation='*:443:sub.mydomain.com']".) 

मैं जाँच की है, तो साइट मौजूद है और यह करता है। मैं क्या गलत कर रहा हूं?

उत्तर

10

इस प्रयास करें:

appcmd set site "My site name" /bindings:"https://sub.mydomain.com:443" 

लेकिन अपने आदेश के साथ-साथ सही है। सभी वेबसाइटों की सूची दें और सुनिश्चित करें कि आप उन में से एक का उपयोग कर रहे हैं:

appcmd list site 
+0

कहाँ DIT आप से बिना '/ +' या '/ -' वाक्य रचना मिल सकता है? क्या आप दस्तावेज को लिंक प्रदान कर सकते हैं? –

14

आप PowerShell का उपयोग कर रहे हैं, तो आप दोहरे उद्धरण चिह्नों के साथ बाइंडिंग पैरामीटर चारों ओर ताकि PowerShell आदेश से पहले एकल उद्धरण की व्याख्या नहीं करता है appcmd को भेजा जाता है।

./appcmd set site /site.name: contoso /+"bindings.[protocol='https',bindingInformation='*:443:']" 

स्रोत: http://technet.microsoft.com/en-us/library/cc731692(v=ws.10).aspx

+0

धन्यवाद! मुझे PowerShell में यह काम करने की कोशिश कर रहा सिरदर्द हो रहा था। :) –

0

मैं बाइंडिंग में कोलन साथ PowerShell में कोई समस्या हुई थी। उन्हें सुलझाने से इस मुद्दे को हल किया गया।

[string] $cmd = "$Env:windir\SysWOW64\inetsrv\APPCMD.exe" 
$response = invoke-expression "$cmd add site /name:""$SiteName"" /id:$ID /+""bindings.[protocol='$Protocol',bindingInformation='$IP"+":$Port"+":']"" /physicalPath:""$Path""" 
0

आपको व्यवस्थापक के रूप में अपना आदेश चलाने की आवश्यकता है।

0

मैं इस काम को * .mydomain.com के लिए वाइल्डकार्ड प्रमाण पत्र के साथ कभी भी सक्षम नहीं कर पाया था, जिसे मैंने काफी दोस्ताना नाम माना: "mydomain.com प्लस वाइल्डकार्ड"। मैं ऊपर दिए गए आदेश चलाऊंगा, आईआईएस में जाऊंगा और बाइंडिंग को देखूंगा और यह वहां होगा लेकिन बिना किसी प्रमाण पत्र के। प्रमाणपत्र का चयन करने से होस्ट का नाम हटा दिया जाएगा और इसे अक्षम कर दिया जाएगा, इसलिए मैं इसे बदल नहीं सका।

मुझे अंततः आईआईएस ("* .mydomain.com") द्वारा अपेक्षित प्रारूप में वाइल्डकार्ड प्रमाणपत्र के अनुकूल नाम को बदलकर और इसे सामान्य रूप से आईआईएस इंटरफ़ेस के माध्यम से जोड़कर काम करने के लिए मिला, कोई विचार नहीं कि उपर्युक्त appcmd आदेश काम करेंगे । इस कहानी का नैतिक वाइल्डकार्ड को मानक रूप के अनुकूल नाम देने के लिए है।

0

मुझे लगता है कि प्राप्त करने के लिए एक बैच फ़ाइल बनाया:

@echo off 

set /p sitename="Enter the site Name (as displayed in IIS): " %=% 
set /p siteurl="Enter the site Host Header(the site url): " %=% 
set /p siteip="Enter the site IP Address (ip address or *): " %=% 
set /p siteprotocol="Enter the site Protocol (http, https, etc): " %=% 
set /p siteport="Enter the site Port (80, 443): " %=% 

appcmd set site /site.name:"%sitename%" /+bindings.[protocol='%siteprotocol%',bindingInformation='%siteip%:%siteport%:%siteurl%'] 

pause