सवाल IIS7 में एप्लिकेशन पूल से प्रेत अनुप्रयोगों को हटा रहा है


मेरे पास मेरे एप्लिकेशन पूल में से एक में एक एप्लिकेशन है जिसमें '/Site/login.aspx' का वर्चुअल पथ है। मैं इसे हटाना चाहता हूं लेकिन यह अब मेरे कंप्यूटर पर मौजूद नहीं है और इससे मुझे ऐपफैब्रिक स्थापित करने में समस्याएं आ रही हैं।

मैं समझता हूं कि आप IIS में एप्लिकेशन को पुन: प्रयास करके और फिर निकालें मारकर इन प्रेत अनुप्रयोगों को हटा सकते हैं। इससे पूल से एप्लिकेशन से छुटकारा पड़ेगा लेकिन इस मामले में मैं वर्चुअल पथ में /login.aspx के कारण एप्लिकेशन को फिर से नहीं बना सकता

कोई विचार है कि मैं इस गलत प्रविष्टि को कैसे हटा सकता हूं?

धन्यवाद


36
2018-06-23 15:32


मूल




जवाब:


चूंकि मेरे पास एक ही समस्या थी; उन अनुप्रयोगों के साथ एप्लिकेशन पूल जो अब मौजूद नहीं थे, मैंने कुछ शोध किया और आखिरकार इस मुद्दे को हल करने में कामयाब रहे।

यहां कुछ चरण दिए गए हैं:

  1. एक टेक्स्ट एडिटर के साथ अपनी आईआईएस 7 कॉन्फ़िगरेशन फ़ाइल "applicationHost.config" को ढूंढें और संपादित करें। इसे "C: \ Windows \ system32 \ inetsrv \ config"चूंकि फ़ोल्डर किसी भी तरह से" संरक्षित "है, इसलिए मैं आमतौर पर निम्न की तरह संपादित करता हूं:
    1. विंडोज एक्सप्लोरर खोलें
    2. "सी: \ विंडोज \ system32 \ inetsrv \ config" पर नेविगेट करें
    3. फ़ाइल "applicationHost.config" की प्रतिलिपि बनाएँ
    4. इसे उस फ़ोल्डर में चिपकाएं जहां आप इसे संपादित कर सकते हैं, उदा। आपका डेस्कटॉप
    5. इसे अपने choise के संपादक के साथ खोलें और इसे संपादित करें
    6. विंडोज एक्सप्लोरर के साथ इसे वापस "सी: \ विंडोज \ system32 \ inetsrv \ config" पर कॉपी करें
  2. अपनी "applicationHost.config" फ़ाइल का बैकअप लें!
  3. अपने गैर-मौजूदा अनुप्रयोगों के लिए अपने "applicationHost.config" में टेक्स्ट एडिटर के साथ खोजें। वे कहीं के अंदर स्थित होना चाहिए <application ...> एक्सएमएल नोड।
  4. हटाएं <application ...> अपने सभी प्रेत अनुप्रयोगों के नोड (ओं)।
  5. फ़ाइल को सहेजें और इसे वापस "सी: \ विंडोज \ system32 \ inetsrv \ config" पर कॉपी करें
  6. आईआईएस प्रबंधन कंसोल रीफ्रेश करें। आपके एप्लिकेशन पूल अब पहले आपके द्वारा हटाए गए प्रेत अनुप्रयोगों के बिना हो सकते हैं।
  7. असल में खाली एप्लिकेशन पूल को हटा दें।

यह मेरे लिए काम करता है, अगर यह आपके लिए काम नहीं करता है, तो कृपया यहां एक टिप्पणी पोस्ट करें। एक अच्छी मदद थी आईआईएस मंच पर यह पोस्टिंग


42
2017-07-15 05:40



इसके अलावा, मैं इस लेख में आया था। मैंने इसका इस्तेमाल नहीं किया क्योंकि उपर्युक्त समाधान मेरे लिए काम करता था शिकार लाश - अनाथ iis वेब अनुप्रयोगों को कैसे हटाएं - Col
उपरोक्त @ कर्नल की टिप्पणी में लिंक में पावरहेल दृष्टिकोण एक स्वच्छ समाधान है और यह बहुत अच्छा काम करता है। - Recep


एप्लिकेशनहोस्ट.कॉन्फिग को संपादित करने से यह शायद सुरक्षित और सरल है।

Powershell  
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]  

2
2017-12-17 20:58



यह हटा देता है आवेदन पूल। (प्रेत) अनुप्रयोगों को हटाने के लिए, जुड़े आलेख से दृष्टिकोण का उपयोग करें serverfault.com/questions/283467/... - bvgheluwe


अधिक सरल:

  1. पुराने आवेदन एक्स देखें और पुराने (पुराने) पथ वाई याद रखें
  2. एक्सप्लोरर के साथ (पुराना) पथ / फ़ोल्डर वाई बनाएँ
  3. आईआईएस प्रबंधन कंसोल रीफ्रेश करें
  4. आपको बस बनाए गए फ़ोल्डर वाई और असाइन किए गए एप्लिकेशन एक्स मिलेगा
  5. राइट क्लिक करें (पुराना) एप्लीकेशन एक्स और "निकालें" चुनें
  6. एक्सप्लोरर के साथ पथ वाई निकालें
  7. आईआईएस प्रबंधन कंसोल फिर से ताज़ा करें
  8. हुर्रे

1
2017-08-08 13:37





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

सभी अनुप्रयोगों को प्राप्त करने के लिए PowerShell स्क्रिप्ट का उपयोग करने का एक तेज़ और मजबूत तरीका है, परीक्षण करें कि भौतिक पथ अभी भी मौजूद है या नहीं, तो एप्लिकेशन को हटाएं:

# This is for IIS 7, make sure the snap-in is installed first: https://www.iis.net/downloads/microsoft/powershell
Add-PSSnapin WebAdministration

# Get all IIS sites
Get-ChildItem IIS:\Sites | foreach {
    $site = $_;

    # Get all applications without existing physical path
    $applications = Get-ChildItem $site.PsPath | Where-Object { $_.NodeType -eq "application" -and (Test-Path $_.PhysicalPath) -eq $False };

    # List all phantom applications
    $applications | FT

    # Remove applications
    $applications | Remove-WebApplication -Site $site.Name
}

1
2018-01-03 16:16



बस थोड़ा सुधार: आईआईएस प्रबंधक 'एप्लिकेशन पूल' या 'साइट्स' नोड का चयन करके और ऐपपूल / साइट पर 'एप्लिकेशन देखें' चुनकर प्रेत अनुप्रयोगों को प्रदर्शित कर सकता है। यह केवल 'साइट्स' नोड से हटाने की अनुमति देता है! - Ronald
यह मेरे लिए पूरी तरह से काम करता था, हालांकि मुझे सर्वर 2012 आर 2 पर "एड-पीएसएसएनएपीएन" को "आयात-मॉड्यूल" में बदलना पड़ा। - Logan


इसे ठीक करने का एक आसान तरीका है।

  1. एप्लिकेशन पूल में प्रेत अनुप्रयोगों के साथ साइट का चयन करें।
  2. दाएं तरफ "एक्शन" मेनू "एप्लिकेशन देखें" का चयन करें। इस सूची में साइट पर मौजूद सभी अनुप्रयोगों को दिखाया जाना चाहिए, प्रेत या नहीं।
  3. आपको बस इतना करना है कि एप्लिकेशन का चयन करें और दाएं "एक्शन" मेनू में "निकालें" का चयन करें।

1
2018-03-22 12:48





मेटाबेस.एक्सएमएल को सीधे संपादित क्यों नहीं करें? बेशक, इससे पहले इसे वापस करो।

या एक "अस्थायी" पूल बनाएं, वहां सभी अन्य ऐप्स को स्थानांतरित करें, मूल पूल हटाएं, और नाम बदलें (यदि आवश्यक हो) नया पूल।


0
2018-06-23 16:19



पहला कारण: क्योंकि यह आईआईएस 7 है, इसलिए ApplicationHost.config को संपादित करना आवश्यक है! लेकिन मैं सहमत हूं, मुझे समझ में नहीं आ रहा है कि यह सिर्फ "एक अलग ऐप पूल में यूआरएल को क्यों न करें"? - TristanK
सहायता के लिए धन्यवाद। मैंने URL को पहले एक अस्थायी पूल में स्थानांतरित कर दिया था और यह ऐपफ़ैब्रिक के साथ समस्या को हटा देता है। हालांकि, मैं अभी भी नहीं देख सकता कि मैं डोडी एप्लिकेशन को कैसे हटा सकता हूं क्योंकि आप ऐप पूल को तब तक नहीं हटा सकते जब तक कि इसका उपयोग करने वाले एप्लिकेशन न हों, और मैं एप्लिकेशन पूल से एप्लिकेशन को हटा नहीं सकता - Col


मैंने ऊपर सूचीबद्ध दो उत्तरों का संयोजन किया क्योंकि मैं मैन्युअल रूप से applicationHost.config को टिंकर नहीं करना चाहता था।

चरण 1 - एक अस्थायी ऐप पूल बनाएं - आइए "temp" कहें।

चरण 2 -     सभी फैंटम अनुप्रयोगों को इस अस्थायी ऐप पूल में ले जाएं।

चरण 3 - ऊपर दिए गए उत्तरों में से एक से पावरहेल का उपयोग करें -

Powershell  
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]  

देखा!


0
2017-07-16 13:53