AppCmd ​​के साथ शुरुआत करना

खुद से


अनुवाद लिखने का कारण यह था कि मेरी राय में कई विंडोज उपयोगकर्ताओं को जीयूआई के लिए उपयोग किया जाता है, कभी-कभी वे कमांड लाइन के अस्तित्व के बारे में भूल जाते हैं। लेकिन यह कमांड लाइन है जो आपको थोड़े समय में कई प्रक्रियाओं को स्वचालित करने की अनुमति देती है। बेशक, कमांड लाइन सही नहीं है, लेकिन कभी-कभी ऐसा होता है जो आपको उन लोगों के साथ संचार को सरल बनाने की अनुमति देता है। समर्थन, और कोड की कई लाइनों के लिए किलोमीटर लंबे स्क्रीनशॉट को कम।

परिचय


AppCmd ​​टीम IIS 7 को प्रबंधित करने के लिए एक अलग स्टैंडअलोन उपकरण है। यह कमांड लाइन के माध्यम से नियंत्रित की जाने वाली वस्तुओं के एक सेट का उपयोग करके सभी मूल सर्वर प्रबंधन कार्यक्षमता को लागू करता है।
AppCmd ​​आपको एक ग्राफिकल इंटरफ़ेस का उपयोग किए बिना आसानी से सर्वर का प्रबंधन करने की अनुमति देता है और आसानी से कोड लिखे बिना सर्वर प्रबंधन को स्वचालित करता है।
यहाँ आप AppCmd ​​के साथ थोड़ा कर सकते हैं:

AppCmd ​​भी सर्वर व्यवस्थापकों को कई AppCmd.exe आदेशों के संयोजन द्वारा या अन्य कार्यक्रमों में आउटपुट का उपयोग करके आसानी से जटिल प्रबंधन कार्य करने की अनुमति देता है।

Appcmd.exe का उपयोग कैसे करें


AppCmd.exe उच्च-स्तरीय प्रबंधन ऑब्जेक्ट्स जैसे साइट और एप्लिकेशन के ऊपर बनाया गया है। ये ऑब्जेक्ट ऐसे तरीके प्रदान करते हैं जिनका उपयोग इन ऑब्जेक्ट्स पर विभिन्न क्रियाओं को करने के लिए किया जा सकता है, और ऑब्जेक्ट इंस्टेंस पढ़ने और सेटिंग के लिए गुण प्रदान करते हैं।
उदाहरण के लिए, एक साइट ऑब्जेक्ट किसी साइट के इंस्टेंस को प्रदर्शित करने, बनाने, हटाने के लिए तरीके प्रदान करता है (ये मानक तरीके हैं जो अधिकांश वस्तुओं में मौजूद हैं), साइट को शुरू करने और रोकने के लिए अभी भी तरीके हैं। प्रत्येक साइट उदाहरण में नाम, पहचानकर्ता आदि जैसे गुण होते हैं। उन्हें देखा जा सकता है, साथ ही उन पर खोज भी की जा सकती है। इस तरह के प्रत्येक कमांड का परिणाम हमेशा ऑब्जेक्ट इंस्टेंस की एक सूची है।
नोट: AppCmd.exe %systemroot%\system32\inetsrv\ directory में स्थित है। इस तथ्य के कारण कि यह पथ PATH में निर्दिष्ट नहीं है, आपको निष्पादित करते समय कमांड के लिए पूर्ण पथ का उपयोग करना होगा, उदाहरण के लिए: " %systemroot%\system32\inetsrv\AppCmd.exe list sites "। हालाँकि, आप इस पथ को अपने पथ में स्वयं जोड़ सकते हैं और कहीं से भी सीधे कमांड का उपयोग कर सकते हैं।
आदेश को परिष्कृत करने के लिए समर्थित नियंत्रण वस्तुओं और वैकल्पिक मापदंडों में से एक के साथ कमांड लॉन्च किया गया है:
APPCMD <COMMAND> <OBJECT> <ID> [/parameter1:value1]*
जहां <COMMAND> <OBJECT> द्वारा समर्थित आदेशों में से एक है। अधिकांश ऑब्जेक्ट्स कमांड के मूल सेट का समर्थन करते हैं:

कई ऑब्जेक्ट अतिरिक्त आदेशों का समर्थन करते हैं, जैसे कि साइट के लिए START और STOP।
उदाहरण के लिए, अब AppCmd ​​वस्तुओं की निम्नलिखित सूची का समर्थन करता है:
वस्तुविवरण
साइटसाइट प्रबंधन
ऐपअनुप्रयोग प्रबंधन
vdirआभासी निर्देशिका प्रबंधन
AppPoolअनुप्रयोग पूल प्रबंधन
कॉन्फ़िगकॉन्फ़िगरेशन प्रबंधन
बैकअपकॉन्फ़िगरेशन बैकअप प्रबंधित करें
WPवर्कफ़्लो प्रबंधन
प्रार्थनासक्रिय HTTP अनुरोध प्रबंधित करना
मॉड्यूलसर्वर मॉड्यूल प्रबंधन
निशानसर्वर ट्रेस लॉग को प्रबंधित करना

जहाँ <ID> ऑब्जेक्ट उदाहरण की पहचानकर्ता है जिसे आप कमांड के लिए निर्दिष्ट करना चाहते हैं। पहचानकर्ता का प्रारूप वस्तु के प्रकार पर निर्भर करता है। उदाहरण के लिए, किसी ऑब्जेक्ट के लिए, साइट साइट का नाम है, एप्लिकेशन ऑब्जेक्ट के लिए, एप्लिकेशन पथ का उपयोग किया जाता है, एप्लिकेशन पूल के लिए, पूल का नाम।
जहां [/ पैरामीटर: मान] * छोड़ा जा सकता है या इसमें कई पैरामीटर शामिल हैं जो कमांड के व्यवहार को प्रभावित करते हैं। प्रत्येक कमांड ऑब्जेक्ट के प्रकार के आधार पर, मापदंडों के एक अलग सेट का समर्थन करता है। आमतौर पर, कमांड जो ऑब्जेक्ट्स की खोज करते हैं या ऑब्जेक्ट के गुणों को बदलते हैं, संपत्ति के नाम को पैरामीटर के रूप में निर्दिष्ट कर सकते हैं।
उपयोगिता स्वयं कई मापदंडों का समर्थन करती है जो व्यवहार को समग्र रूप से प्रभावित करते हैं, और किसी भी प्रकार की वस्तुओं पर निर्भर नहीं होते हैं। उन सभी को मदद की शुरुआत में सूचीबद्ध किया गया है, जिन्हें " AppCmd.exe /? " चलाकर प्राप्त किया जा सकता है, और आउटपुट को नियंत्रित करने के लिए /text , /config और /xml जैसे पैरामीटर शामिल हैं और पदानुक्रम में स्तर निर्धारित /commit लिए /commit है, जहां कॉन्फ़िगरेशन में परिवर्तन होगा। पर कोशिश की।

हम मदद से काम करते हैं


AppCmd ​​एक सुविधाजनक सहायता प्रणाली प्रदान करता है जिसे सभी समर्थित ऑब्जेक्ट प्रकारों और आदेशों के लिए प्राप्त किया जा सकता है। अनुरोध की गई जानकारी के प्रकारों पर तीन प्रकार की सहायता है।

सामान्य जानकारी

सामान्य जानकारी उपलब्ध वस्तुओं के साथ-साथ सामान्य मापदंडों को भी दिखाती है। सामान्य जानकारी प्राप्त करने के लिए, बस टाइप करें:
 APPCMD /? 

निष्कर्ष:
 General purpose IIS command line administration tool. APPCMD <COMMAND> <OBJECT> <ID> < /parameter1:value1 ... > Supported object types: SITE Administration of virtual sites APP Administration of applications ... 

संपत्ति की जानकारी

किसी वस्तु पर जानकारी एक विशेष प्रकार की वस्तु के लिए उपलब्ध आदेशों की एक सूची दिखाती है।
APPCMD <OBJECT> /?
जहाँ <OBJECT> समर्थित वस्तुओं में से एक का नाम है। उदाहरण के लिए, साइट ऑब्जेक्ट के लिए आउटपुट कमांड इस तरह दिखेगा:
 APPCMD site /? 


टीम की जानकारी

कमांड पर जानकारी में सिंटैक्स पर जानकारी होती है जो प्रत्येक कमांड के लिए परिभाषित होती है, और इसमें उपलब्ध मापदंडों और सामान्य कार्यों के उदाहरण शामिल होते हैं। यह सहायता जानकारी देखने के लिए करें:
 APPCMD <COMMAND> <OBJECT> /? 

उदाहरण के लिए, एपीपी ऑब्जेक्ट प्रकार के लिए लिस्ट कमांड जानकारी देखने के लिए, रन करें:
 APPCMD list app /? 


वस्तुओं के लिए खोजें


लिस्ट कमांड बहुत ही बहुमुखी है और सभी प्रकार की वस्तुओं द्वारा समर्थित है। टीम का उद्देश्य एक निर्दिष्ट मानदंड के अनुसार वस्तुओं के उदाहरणों की खोज करना है। कमांड के आउटपुट में, आपको ऑब्जेक्ट इंस्टेंस की एक सूची मिलती है जिसे आप देख सकते हैं, संपत्ति मूल्यों की जांच कर सकते हैं, अन्य सर्वरों पर बाद के निर्माण के लिए निर्यात कर सकते हैं। या उन पर कार्रवाई करने के लिए किसी अन्य प्रोग्राम के साथ उपयोग करें।

सभी वस्तुओं को प्रदर्शित करें

सबसे सरल बात यह है कि पैरामीटर के बिना लिस्ट कमांड को कॉल करना है, यह सर्वर पर मौजूद सभी ऑब्जेक्ट इंस्टेंस को प्रदर्शित करेगा:
 APPCMD list <OBJECT> 

उदाहरण के लिए, सर्वर पर सभी साइटों को देखने के लिए, निम्न कमांड का उपयोग करें।
 %systemroot%\system32\inetsrv\APPCMD list sites 

आउटपुट में निम्नलिखित शामिल होंगे:
 SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) SITE "Site1" (id:2,bindings:http/*:81:,state:Started) SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped) 

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

निम्न आदेश कमांड का उपयोग करके किसी विशिष्ट ऑब्जेक्ट नाम के साथ किसी ऑब्जेक्ट का उदाहरण ढूँढने के लिए LIST कमांड का उपयोग किया जा सकता है
 APPCMD list <OBJECT> <ID> 

उदाहरण के लिए, एक विशिष्ट पहचानकर्ता वाली साइट को खोजने के लिए, "डिफ़ॉल्ट वेब साइट," निम्नलिखित पंक्ति का उपयोग करें:
 %systemroot%\system32\inetsrv\APPCMD list site "Default Web Site" 

किसी वस्तु का निष्कर्ष मानदंड से

निर्दिष्ट मानदंड को पूरा करने वाली सभी वस्तुओं को खोजने के लिए, खोज के लिए आवश्यक मान वाले एक या अधिक पैरामीटर निर्दिष्ट करें। उदाहरण के लिए, निम्न आदेश उन सभी साइटों को खोजता है जिन्हें रोका गया है:
 %systemroot%\system32\inetsrv\APPCMD list sites /state:Stopped 

आप किसी भी संपत्ति-मूल्य जोड़े को निर्दिष्ट कर सकते हैं, और कमांड उन सभी वस्तुओं को वापस करेगा जो सभी निर्दिष्ट मानदंडों को पूरा करते हैं। उदाहरण के लिए, निम्न आदेश सभी साइटों को एक साथ रोका जाएगा और एक ही समय में कॉन्फ़िगर नहीं किया जाएगा।
 %systemroot%\system32\inetsrv\APPCMD list sites /serverAutoStart:false /state:Stopped 

संपत्ति प्रबंधन


सूची के अलावा, अधिकांश ऑब्जेक्ट ADD, SET और DELETE कमांड का समर्थन करते हैं।

एक नई वस्तु जोड़ना

ADD कमांड ऑब्जेक्ट का एक नया उदाहरण बनाता है। उदाहरण के लिए, यह कमांड एक नई साइट बनाता है:
 %systemroot%\system32\inetsrv\APPCMD add site /name:MyNewSite /bindings:"http/*:81:" /physicalPath:"C:\MyNewSite" 

ऑब्जेक्ट के आधार पर, कुछ विकल्पों की आवश्यकता हो सकती है और कुछ नहीं हो सकते हैं।
यदि आवश्यक पैरामीटर निर्दिष्ट नहीं है, तो एक त्रुटि वापस आ जाएगी।
हेल्प कमांड दिखाएगा कि किन मापदंडों की आवश्यकता है। उदाहरण के लिए, साइट बनाते समय किन मापदंडों की आवश्यकता है, यह देखने के लिए निम्नलिखित कमांड का उपयोग करें:
 %systemroot%\system32\inetsrv\APPCMD add site /? 

मौजूदा वस्तु का संपादन

सेट कमांड किसी ऑब्जेक्ट के निर्दिष्ट उदाहरण के एक या अधिक गुण बदलता है। इस कमांड के लिए आवश्यक है कि ऑब्जेक्ट की उदाहरण आईडी निर्दिष्ट की जाए। उदाहरण के लिए, "डिफ़ॉल्ट वेब साइट" की आईडी संपत्ति को बदलने के लिए, निम्नलिखित कमांड का उपयोग करें:
% systemroot% \ system32 \ inetsrv \ APPCMD सेट साइट "डिफ़ॉल्ट वेब साइट" / आईडी: 200
कॉलिंग जानकारी के लिए सिंटैक्स का उपयोग उन संपत्तियों की सूची देखने के लिए भी किया जा सकता है जिन्हें किसी विशिष्ट ऑब्जेक्ट पर बदला जा सकता है। उदाहरण के लिए, डिफ़ॉल्ट वेब साइट द्वारा समर्थित गुणों को देखने के लिए, टाइप करें:
  %systemroot%\system32\inetsrv\%systemroot%\system32\inetsrv\APPCMD set site "Default Web Site" /? 

वस्तुओं को हटाना

DELETE कमांड ऑब्जेक्ट का एक उदाहरण हटाता है। SET की तरह, आपको इस कमांड में ऑब्जेक्ट के पहचानकर्ता को पास करना होगा। उदाहरण के लिए, "MyNewSite" नामक साइट को हटाने के लिए निम्न आदेश का उपयोग करें:
 %systemroot%\system32\inetsrv\%systemroot%\system32\inetsrv\APPCMD delete site "MyNewSite" 

बैकअप प्रबंधन


AppCmd ​​आपको सर्वर कॉन्फ़िगरेशन का बैकअप बनाने या पुनर्स्थापित करने की अनुमति देता है। आप सर्वर कॉन्फ़िगरेशन के लिए आकस्मिक परिवर्तनों को पुनर्स्थापित करने के लिए इसका उपयोग कर सकते हैं, और कॉन्फ़िगरेशन को उस स्थिति में वापस रोल कर सकते हैं जिसमें सर्वर स्थिर था। कॉन्फ़िगरेशन बदलने, या इसे बदलने वाले घटकों को स्थापित करने से पहले बैकअप बनाने के लिए अच्छा अभ्यास है। ऐसी प्रत्येक प्रतिलिपि में रूट कॉन्फ़िगरेशन फ़ाइल का वर्तमान ApplicationHost.config, साथ ही साथ अन्य सर्वर सेटिंग्स, जैसे कि FTP और प्रशासन उपकरण सेटिंग्स शामिल हैं।
बैकअप लेने के लिए, BACKUP ऑब्जेक्ट के ADD कमांड का उपयोग करें
 %systemroot%\system32\inetsrv\APPCMD add backup BACKUP object "20060519T172530" added 

यह एक स्वचालित रूप से उत्पन्न नाम वाला एक बैकअप है जो बैकअप की तारीख और समय दिखाता है।
आप उदाहरण के लिए, एक विशिष्ट बैकअप नाम भी निर्दिष्ट कर सकते हैं:
 %systemroot%\system32\inetsrv\APPCMD add backup MyBackup BACKUP object "MyBackup" added 

आप लिस्ट कमांड का उपयोग करके बैकअप की सूची देख सकते हैं:
 %systemroot%\system32\inetsrv\APPCMD list backups BACKUP "20060519T172530" BACKUP "MyBackup" 

अंत में, बैकअप से पुनर्स्थापित करने के लिए, बैकअप नाम के साथ RESTORE कमांड का उपयोग करें:
 %systemroot%\system32\inetsrv\APPCMD restore backup "MyBackup" Restored configuration from backup "MyBackup" 

बैकअप से पुनर्स्थापित करने से सर्वर बंद हो जाता है और बैकअप बनाए जाने की तिथि तक पूर्ण कॉन्फ़िगरेशन को पुनर्स्थापित करता है।
ऑपरेटिंग सिस्टम विंडोज 2008 और विंडोज विस्टा SP1 में, AppCmd ​​सिस्टम सेवा द्वारा प्रदान किए गए आवधिक बैकअप के साथ काम करने में सक्षम होगा। ये बैकअप उन सभी बैकअप की सूची में उपलब्ध हैं जो AppCmd ​​टीम को प्राप्त हुए थे और बाकी की तरह ही रोलबैक के लिए उपलब्ध हैं।
AppCmd ​​का उपयोग करके बैकअप प्रबंधन के विस्तृत अध्ययन के लिए, यहां पढ़ें

साइट्स, एप्लिकेशन, वर्चुअल फ़ोल्डर और एप्लिकेशन पूल के साथ काम करें


साइट, एप्लिकेशन, वर्चुअल निर्देशिका का निर्माण और प्रबंधन सबसे आम कार्य हैं जो एक व्यवस्थापक का सामना करते हैं। IIS 7 और उच्चतर पिछले संस्करणों की तुलना में अधिक सख्त पदानुक्रम का पालन करते हैं, अब पदानुक्रम कुछ इस तरह दिखता है:
  1. वेबसाइट। वेबसाइट एक विशिष्ट बाध्य समापन बिंदु पर अनुरोध स्वीकार करती है, जिसे आईपी पते और होस्ट हेडर द्वारा पहचाना जाता है। उदाहरण के लिए, निम्न URL पोर्ट 81: www.mysite.com : 81 से जुड़ी साइट का प्रतिनिधित्व करता है
    एक वेबसाइट में एक या अधिक अनुप्रयोग होते हैं।
  2. आवेदन । एक आवेदन निश्चित रूप से साइट के नाम स्थान के साथ अपने आभासी पथ में है। उदाहरण के लिए, वर्चुअल पथ / app1 के साथ एक आवेदन निम्नलिखित URL www.mysite.com : 81 / app1 द्वारा दर्शाया जा सकता है
    एक आवेदन एक आवेदन पूल के अंतर्गत आता है।
    एक अनुप्रयोग में एक या अधिक वर्चुअल निर्देशिकाएं होती हैं।
  3. वर्चुअल निर्देशिका को एप्लीकेशन स्पेस के साथ-साथ इसके वर्चुअल तरीके से दर्शाया जाता है। उदाहरण के लिए, वर्चुअल पथ / vdir1 के साथ वर्चुअल निर्देशिका में निम्न URL www.mysite.com : 81 / app1 / vdir1 हो सकता है।
    वर्चुअल निर्देशिका डिस्क के भौतिक स्थान को इंगित करती है।

यह पदानुक्रम IIS 6 में उस से अलग है, जहां वेब साइट में आभासी निर्देशिकाओं और अनुप्रयोगों का मिश्रण हो सकता है, और अनुप्रयोग केवल विशेष रूप से चिह्नित आभासी निर्देशिकाएं थीं।
अनुप्रयोग पूल एक अनुप्रयोग पूल एक वर्कफ़्लो के लिए सेटिंग्स समूह द्वारा परिभाषित किया गया है जो इस अनुप्रयोग पूल में अनुप्रयोगों के लिए अनुरोध प्रसंस्करण को संभालता है। एप्लिकेशन पूल साइट-एप्लिकेशन-डायरेक्टरी पदानुक्रम का हिस्सा नहीं है। प्रत्येक एप्लिकेशन पूल द्वारा निर्धारित किया जाता है जिसमें यह काम करेगा, अन्यथा एप्लिकेशन डिफ़ॉल्ट एप्लिकेशन पूल में काम करेगा।
एक एप्लिकेशन पूल सीएलआर संस्करण द्वारा लोड की गई कार्य प्रक्रियाओं की संख्या, एकीकरण के प्रकार, जिस खाते के तहत प्रक्रिया चलेगी, और प्रक्रिया को फिर से शुरू करने के लिए सेटिंग्स के रूप में ऐसी सेटिंग्स द्वारा निर्धारित किया जाता है।
डिफ़ॉल्ट रूप से, IIS 7 और बाद में डिफ़ॉल्ट वेब साइट के साथ इंस्टॉल किया जाता है, जो पोर्ट 80 पर सुनता है और होस्ट एड्रेस और हेडर पर कोई प्रतिबंध नहीं है। साइट में एक रूट एप्लिकेशन है, और इस एप्लिकेशन के पास एक रूट वर्चुअल डायरेक्टरी है। DefaultAppPool एप्लिकेशन पूल भी है, जिसका उपयोग सभी बनाए गए एप्लिकेशन के लिए डिफ़ॉल्ट एप्लिकेशन पूल के रूप में किया जाता है।
यह आदेश डिफ़ॉल्ट वेब साइट सहित सभी साइटों को प्रदर्शित करेगा।
 %systemroot%\system32\inetsrv\APPCMD list sites SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) 

आइए डिफ़ॉल्ट वेब साइट से संबंधित अनुप्रयोगों को देखें। ऐसा करने के लिए, एप्लिकेशन आउटपुट कमांड में site.name संपत्ति निर्दिष्ट करें:
 %systemroot%\system32\inetsrv\APPCMD list apps /site.name:"Default Web Site" APP "Default Web Site/" (applicationPool:DefaultAppPool) 

एक समान कमांड डिफ़ॉल्ट वेब साइट / एप्लिकेशन में निहित सभी आभासी निर्देशिकाओं को दिखाएगा। ऐसा करने के लिए, वर्चुअल निर्देशिका एन्यूमरेशन कमांड में app.name संपत्ति निर्दिष्ट करें।
 %systemroot%\system32\inetsrv\APPCMD list vdirs /app.name:"Default Web Site/" VDIR "Default Web Site/" (physicalPath:C:\inetpub\wwwroot) 

अंत में, आइए आवेदन पूलों की सूची देखें:
 %systemroot%\system32\inetsrv\APPCMD list apppools APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started) APPPOOL "Classic .NET AppPool" (MgdVersion:v2.0,MgdMode:ISAPI,state:Started) 

साइटों, अनुप्रयोगों, आभासी निर्देशिकाओं, एप्लिकेशन पूल का निर्माण

अब हम "MySite" और Id 2 नामक एक साइट बनाएंगे, जो सभी IP पते और होस्ट हेडर के लिए पोर्ट 81 पर सुनेगा।
 %systemroot%\system32\inetsrv\APPCMD add site /name:MySite /id:2 /bindings:http/*:81: /physicalPath:C:\inetpub\mysite SITE object "MySite" added APP object "MySite/" added VDIR object "MySite/" added 

वेबसाइट बनाने के लिए नाम पैरामीटर निर्दिष्ट किया जाना चाहिए। Id पैरामीटर वैकल्पिक है, इस स्थिति में AppCmd ​​नई साइट के लिए अगला उपलब्ध Id उत्पन्न करेगा। हमने बाध्यकारी और भौतिक पथ का भी संकेत दिया, जिसे नीचे वर्णित किया जाएगा। आप उन्हें मान निर्दिष्ट करने के लिए अतिरिक्त पैरामीटर भी निर्दिष्ट कर सकते हैं।
बाइंडिंग गुण प्रोटोकॉल / बाइंडिंग इंफॉर्मेशन फॉर्मेट का उपयोग करता है, जहां बाइंडिंगफॉर्म प्रोटोकॉल है। एफ़टीपी के लिए, निम्नलिखित आईपी प्रारूप का उपयोग किया जाता है: पोर्ट: HOSTHEADER। आप विभिन्न मानों के बीच बाँधने के लिए अल्पविराम का उपयोग करके कई बाइंडिंग निर्दिष्ट कर सकते हैं।
हमने साइट के लिए एक भौतिक संपत्ति भी निर्दिष्ट की है। चूंकि साइट में स्वयं एक भौतिक पथ नहीं है, इसलिए इस संक्षिप्त रूप का उपयोग रूट एप्लिकेशन बनाने के लिए किया जाता है, और रूट वर्चुअल निर्देशिका निर्दिष्ट भौतिक निर्देशिका से जुड़ी होती है।
यदि आप एक भौतिक पथ निर्दिष्ट नहीं करते हैं, तो साइट बिना अनुप्रयोगों के बनाई जाएगी; एप्लिकेशन और वर्चुअल निर्देशिका को स्पष्ट रूप से बनाने की आवश्यकता होगी।
खैर, आगे बढ़ें और हमारी साइट के लिए निम्नलिखित आवेदन बनाएँ:
 %systemroot%\system32\inetsrv\APPCMD add app /site.name:MySite /path:/app1 /physicalPath:C:\inetpub\mysite\app1 APP object "MySite/app1" added VDIR object "MySite/app1/" added 

टीम ने पहले बनाए गए एप्लिकेशन के लिए एक नई वर्चुअल निर्देशिका "/ app1" बनाई, जो एक आभासी निर्देशिका "C: \ inetpub \ mysite \ app1" की ओर इशारा करती है। आवश्यक पथ पैरामीटर नए अनुप्रयोग के वर्चुअल पथ को परिभाषित करता है, और आवश्यक site.name पैरामीटर उस साइट को परिभाषित करता है जिस पर यह अनुप्रयोग होगा। वैकल्पिक पैरामीटर फिजिकलपैथ एक शॉर्ट फॉर्म है, जो एक साइट के समान है, जो एप्लिकेशन के साथ रूट वर्चुअल डायरेक्टरी बनाता है।
यदि आप physicalPath निर्दिष्ट नहीं करते हैं, या निम्न के रूप में एक अन्य वर्चुअल डायरेक्टरी को कमांड के साथ जोड़ते हैं:
 %systemroot%\system32\inetsrv\APPCMD add vdir /app.name:"MySite/app1" /path:/vdir1 /physicalPath:C:\inetpub\mysite\app1\vdir1 VDIR object "MySite/app1/vdir1" added 

तब यह कमांड एक नई वर्चुअल डायरेक्टरी बनाएगा, जिसमें वर्चुअल पाथ "/ vdir1" होगा जो पहले बनाए गए एप्लिकेशन से संबंधित है और "C: \ inetpub \ mysite \ app1 \ vdir1" की ओर इशारा करते हुए आवश्यक पथ नई वर्चुअल डायरेक्टरी के वर्चुअल पथ और आवश्यक app.name को परिभाषित करता है। उस एप्लिकेशन को परिभाषित करता है जिस पर यह वर्चुअल डायरेक्टरी होगी। PhysicalPath पैरामीटर भौतिक पथ को इंगित करता है जिससे वर्चुअल निर्देशिका बाध्य होगी।
अंत में, आइए एक नया एप्लिकेशन पूल बनाएँ:
 %systemroot%\system32\inetsrv\APPCMD add apppool /name:MyAppPool APPPOOL object "MyAppPool" added 

यह कमांड "MyAppPool" नामक एक नया एप्लिकेशन पूल बनाता है।
साइटों, अनुप्रयोगों, IIS 7 में वर्चुअल निर्देशिका और AppCmd ​​के माध्यम से उपलब्ध विभिन्न सुविधाओं के अधिक विस्तृत अध्ययन के लिए, आप यहां संपर्क कर सकते हैं।

साइट, एप्लिकेशन, वर्चुअल निर्देशिका और एप्लिकेशन पूल कॉन्फ़िगर करें।

इससे पहले हमने एक नई वेबसाइट बनाई, कई एप्लिकेशन और वर्चुअल निर्देशिकाएं जोड़ीं। अब हम इन वस्तुओं के कुछ गुणों को बदलने के लिए AppCmd ​​का उपयोग करेंगे। सभी AppCmd ​​ऑब्जेक्ट्स गुण सेट करने के लिए निम्न सिंटैक्स का समर्थन करते हैं:
 APPCMD SET <OBJECT> <ID> [/property:value]* 

सबसे पहले, देखते हैं कि कौन से एप्लिकेशन सर्वर पर उपलब्ध हैं:
 %systemroot%\system32\inetsrv\APPCMD list apps APP "Default Web Site/" (applicationPool:DefaultAppPool) APP "MySite/" (applicationPool:DefaultAppPool) APP "MySite/app1" (applicationPool:DefaultAppPool) 

MySite वेबसाइट के तहत पहले बनाए गए दो अनुप्रयोगों को याद रखें। इन दोनों अनुप्रयोगों को DefaultAppPool एप्लिकेशन पूल का उपयोग करने के लिए कॉन्फ़िगर किया गया है। आइए हमारी रूट MySite / एप्लिकेशन की एप्लिकेशन प्रॉपर्टी को बदलें ताकि यह MyAppPool नाम के साथ पहले बनाए गए नए एप्लिकेशन पूल का उपयोग करे
 %systemroot%\system32\inetsrv\APPCMD set app "MySite/" /applicationPool:MyAppPool APP object "MySite/" changed 

इस प्रकार, हमने अपने एप्लिकेशन "MySite /" की एप्लिकेशनपूल प्रॉपर्टी का मूल्य बदल दिया, आसानी से हमारे एप्लिकेशन को एक नए एप्लिकेशन पूल में स्थानांतरित कर दिया।
इस हस्तांतरण का उद्देश्य यह है कि अब हम वर्कफ़्लो लॉन्च के कई मापदंडों को बदल सकते हैं जो हमारे आवेदन के साथ काम करेंगे, इसलिए ऐसा करने के लिए हम MyAppPool एप्लिकेशन पूल के कुछ गुणों को बदल देंगे। बदलने से पहले उपलब्ध गुणों और उनके वर्तमान मूल्यों को देखना उपयोगी है। हम इस तरह से गुणों को विस्तार से देख सकते हैं:
 %systemroot%\system32\inetsrv\APPCMD list apppool "MyAppPool" /text:* APPPOOL APPPOOL.NAME: MyAppPool managedPipelineMode: Integrated managedRuntimeVersion: v2.0 state: Started [add] name:"MyAppPool" queueLength:"1000" autoStart:"true" enable32BitAppOnWin64:"false" managedRuntimeVersion:"v2.0"<identifier> managedPipelineMode:"Integrated" passAnonymousToken:"true" [processModel] identityType:"NetworkService" userName:"" password:"" ... pingingEnabled:"true" ... 


यहाँ इन गुणों का एक हिस्सा है। पूरी सूची यहां नहीं दिखाई गई है।
हम ManageRuntimeVersion संपत्ति में रुचि रखते हैं, जिसके मूल्य को हम asp.net v1.1 के साथ एप्लिकेशन पूल में हमारे एप्लिकेशन को चलाने के लिए "v1.1" में बदल देंगे। यहाँ आदेश है:
 %systemroot%\system32\inetsrv\APPCMD set apppool "MyAppPool" /managedRuntimeVersion:v1.1 APPPOOL object "MyAppPool" changed 

आप ऊपर देख सकते हैं कि उपलब्ध गुण हैं, और उनमें से कुछ दूसरे तत्व में निहित हैं। उदाहरण के लिए, प्रक्रिया गुण processModel में नेस्टेड है। यदि आप संलग्न संपत्ति को बदलना चाहते हैं, तो इसे पूरी तरह से निर्दिष्ट करें:
 %systemroot%\system32\inetsrv\APPCMD set apppool "MyAppPool" /processModel.pingingEnabled:false 

अन्य कॉन्फ़िगरेशन आइटम

इसके अतिरिक्त, AppCmd ​​ऑब्जेक्ट का उपयोग करके कॉन्फ़िगरेशन गुणों को प्रबंधित करने के लिए, आप किसी भी कॉन्फ़िगरेशन अनुभाग में किसी भी गुण के लिए मान सेट कर सकते हैं, जिनमें शामिल हैं AppCmd ​​ऑब्जेक्ट। इसे "कॉन्फ़िगरेशन के साथ काम करना" अनुभाग में अधिक विवरण में वर्णित किया जाएगा।
सर्वर की स्थिति प्राप्त करना
AppCmd ​​सर्वर संचालन के बारे में विभिन्न जानकारी प्राप्त करने का अवसर प्रदान करता है, जिसमें शामिल हैं:

, , . STOP , RECYCLE .


state . . उदाहरण के लिए:
 %systemroot%\system32\inetsrv\APPCMD list apppools DefaultAppPool APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started) 

state , . , :
 %systemroot%\system32\inetsrv\APPCMD list apppools /state:started APPPOOL "DefaultAppPool" (MgdVersion:v2.0,MgdMode:Integrated,state:Started) APPPOOL "Classic .NET AppPool" (MgdVersion:v2.0,MgdMode:ISAPI,state:Started) 


WP, .
 %systemroot%\system32\inetsrv\APPCMD list wp WP "3577" (apppool:DefaultAppPool) 

WP apppool.name, :
 %systemroot%\system32\inetsrv\APPCMD list wp /apppool.name:DefaultAppPool WP "3577" (apppool:DefaultAppPool) 


Request :
 %systemroot%\system32\inetsrv\APPCMD list requests REQUEST "fb0000008000000e" (url:GET /wait.aspx?time=10000,time:4276 msec,client:localhost) 

, , , URL .
यहाँ कुछ उदाहरण हैं:
 %systemroot%\system32\inetsrv\APPCMD list request /apppool.name:DefaultAppPool %systemroot%\system32\inetsrv\APPCMD list requests /wp.name:3567 %systemroot%\system32\inetsrv\APPCMD list requests /site.id:1 


IIS 7 XML , ASP.NET, XML .
ApplicationHost.config Web.config, .
AppCmd config. AppCmd , , , .


AppCmd . .
URL, , , . , , .
, LIST Config, , :
 %systemroot%\system32\inetsrv\APPCMD list config <URL> /section:SectionName 

<URL> , . «Default Web Site/» «Default Web Site/app1/hello.html». , .
AppCmd .
section , . , , URL. , «Default Web Site»:
 %systemroot%\system32\inetsrv\APPCMD list config "Default Web Site/" 

:
 %systemroot%\system32\inetsrv\APPCMD list config "Default Web Site/" /section:aspx <system.webServer> <asp> <session /> <comPlus /> <cache /> <limits /> </asp> </system.webServer> 

डिफ़ॉल्ट रूप से, AppCmd ​​एक कॉन्फ़िगरेशन दिखाता है जो स्पष्ट रूप से सेट है। यदि आप इनहेरिट की गई गणना को देखना चाहते हैं, जिसमें इनहेरिट की गई, / कॉन्फ़िगरेशन निर्दिष्ट करें: * पैरामीटर
 %systemroot%\system32\inetsrv\APPCMD list config "Default Web Site/" /section:asp /config:* 

उपलब्ध अनुभागों की सूची देखने के लिए, निम्नलिखित कमांड का उपयोग करें:
 %systemroot%\system32\inetsrv\APPCMD list config /section:? 

कॉन्फ़िगरेशन गुण संपादित करना

AppCmd , , . SET , . :
APPCMD set config <URL> /section:SectionName [ /property:value ]+
<URL> , , . , . URL
section , , .
, appAllowClientDebug asp localhost/app1 :
 %systemroot%\system32\inetsrv\APPCMD set config "http://localhost/app1" /section:asp /appAllowClientDebug:false CONFIG object "asp" changed 

:
 %systemroot%\system32\inetsrv\APPCMD set config "http://localhost/app1" /section:asp /limits.requestQueueMax:4000 CONFIG object "asp" changed 

, .
, :
 %systemroot%\system32\inetsrv\APPCMD set config /section:asp /? 

: asp , . , , <URL>, /commit: apphost . .


AppCmd . — , system.webServer/modules , .
, , . — , , . :
[key1='value1',key2='value2',...]
, , , .
, name «FormsAuthentication» :
 %systemroot%\system32\inetsrv\APPCMD set config /section:system.webServer/modules /[name='FormsAuthentication'].type:System.Web.Security.FormsAuthenticationModule 

संग्रह में एक नया आइटम जोड़ने के लिए, आइटम नाम की शुरुआत में एक + संकेत जोड़ें। एक सूचकांक के बजाय, प्रत्येक संपत्ति के मूल्यों को सूचीबद्ध करें। और फिर भी, गैर-प्रमुख गुणों को भी संग्रह सूचकांक में शामिल किया जा सकता है। उदाहरण के लिए, आप मॉड्यूल की सूची में एक नया तत्व जोड़ सकते हैं:
 %systemroot%\system32\inetsrv\APPCMD set config /section:system.webServer/modules /+[name='MyModule',type='MyType'] 

सूची से किसी आइटम को निकालने के लिए, शुरुआत में "-" चिह्न निर्दिष्ट करें:
 %systemroot%\system32\inetsrv\APPCMD set config /section:system.webServer/modules /-[name='MyModule'] 

स्थान प्रबंधन

— , ( ApplicationHost.config ), web.config , , .
- , URL, . , , Web.config — .
AppCmd , . , «Default Web Site/», Web.config , .
, , URL location. , , . AppCmd commit.
commit :

, web.config :
 %systemroot%\system32\inetsrv\APPCMD set config http://localhost/app1/ /section:directoryBrowse /enabled:false /commit:site 

IIS .


- , . , , .
, IIS , . , . AppCmd :
 %systemroot%\system32\inetsrv\APPCMD unlock config /section:asp 

, :
 %systemroot%\system32\inetsrv\APPCMD lock config /section:asp 

, , , , .


AppCmd . - , .
, :
 %systemroot%\system32\inetsrv\APPCMD search config 

, , , :
 %systemroot%\system32\inetsrv\APPCMD search config "Default Web Site/" 

, , :
 %systemroot%\system32\inetsrv\APPCMD search config "Default Web Site/" /section:directoryBrowse 

, , :
 %systemroot%\system32\inetsrv\APPCMD search config "Default Web Site/" /section:directoryBrowse /enabled 

, , :
 %systemroot%\system32\inetsrv\APPCMD search config "Default Web Site/" /section:directoryBrowse /enabled:true 


, LIST . AppCmd , .


LIST . , AppCmd :
 %systemroot%\system32\inetsrv\APPCMD list sites SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) SITE "Site1" (id:2,bindings:http/*:81:,state:Started) SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped) 

, (SITE), («Default Web Site»). (id, bindings, state )


, . , text:* , :
 APPCMD list site "Default Web Site" /text:* SITE SITE.NAME: Default Web Site SITE.ID: 2 bindings: http/*:80: state: Started ... 

, .


AppCmd , . text:. , , physicalPath :
 %systemroot%\system32\inetsrv\APPCMD list vdirs /text:physicalPath C:\inetpub\wwwroot C:\inetpub\vdir1 D:\vdir2 

, .
AppCmd , for findstr.exe. , .
, , IIS. , DIR, FOR .
 FOR /F %f IN ('%systemroot%\system32\inetsrv\APPCMD list vdir /text:physicalPath') DO CALL DIR %f 


, . Config — , IIS. config — . , , .
XML — config. XML :
 %systemroot%\system32\inetsrv\APPCMD list site "Default Web Site" /config <site name="Default Web Site" id="1"> <bindings> <binding protocol="HTTP" bindingInformation="*:80:" /> ... 

XML

xml , xml . , , IIS.

xml:
 %systemroot%\system32\inetsrv\APPCMD list sites /xml 



परिणाम


AppCmd IIS 7 .

Source: https://habr.com/ru/post/In145476/


All Articles