विंडोज सर्वर 2012 में WinSXS फोल्डर की सुरक्षित सफाई के बारे में बात करने से पहले, आइए समझने की कोशिश करें कि WinSXS फोल्डर क्या है, इसमें क्या संग्रहीत है, और समय के साथ इसका आकार लगातार क्यों बढ़ता है।
[accordion] [tab title=”इस लेख की सामग्री”] [/tab] [/accordion]
यदि आपको याद हो तो विंडोज सर्वर 2003 में अतिरिक्त सुविधाओं की स्थापना के दौरान इंस्टॉलेशन विज़ार्ड इंस्टॉलेशन डिस्क को CD-Rom में डालने या विंडोज सर्वर 2003 इंस्टॉलेशन पैकेज के साथ कैटलॉग का रास्ता दिखाने की मांग करता था। माइक्रोसॉफ्ट ने विंडोज सर्वर 2008 में विंडोज अतिरिक्त भूमिकाओं और सुविधाओं के लिए अपनी नीति बदलने का फैसला किया। अब किसी भी भूमिका के रोल-आउट के लिए आवश्यक सभी बाइनरी फाइलें फोल्डर %windir%\WinSxS (WinSxS – Windows Side By Side) में संग्रहीत हैं। इसका मतलब है कि किसी भी अतिरिक्त भूमिका की स्थापना के मामले में इंस्टॉलेशन पैकेज के साथ डिस्क खोजने और सर्वर से कनेक्ट करने की कोई आवश्यकता नहीं है। बेशक, ऐसे दृष्टिकोण के लिए OS के लिए अधिक स्थान की आवश्यकता होती है। यह समझना आवश्यक है कि सिस्टम के प्रमुख घटक WinSXS कैटलॉग में स्थित हैं और किसी भी परिस्थिति में इससे मैन्युअल रूप से कुछ भी हटाने की अनुमति नहीं है। यह आकार में लगातार क्यों बढ़ रहा है? उत्तर सरल है – अपडेट। WinSXS कैटलॉग में विभिन्न सुविधाओं के अपडेट की स्थापना के दौरान अपडेट की गई सुविधा का पुराना और नया संस्करण सहेजा जाता है। ऐसी वास्तुकला के कारण हम किसी भी समय किसी भी इंस्टॉल किए गए अपडेट को सुरक्षित रूप से हटा सकते हैं और सुविधा के पुराने संस्करण पर वापस आ सकते हैं।
टिप. विंडोज 7 SP 1 अनइंस्टॉल किए गए अपडेट को हटाकर WinSxS फोल्डर का आकार कम कर सकता है।
और क्या करना चाहिए यदि सिस्टम लॉन्च हो गया है और अच्छी तरह से काम करता है, अतिरिक्त भूमिकाओं के रोलआउट की कोई आवश्यकता नहीं है लेकिन डिस्क पर अभी भी पर्याप्त स्थान नहीं है? यह काफी तर्कहीन लगता है कि सिस्टम डिस्क पर कई गीगाबाइट इंस्टॉलेशन पैकेज के लिए लिए जाते हैं जिनकी कभी आवश्यकता नहीं होगी! दुर्भाग्य से, विंडोज सर्वर 2008 में सिस्टम को नुकसान पहुंचाए बिना इन फ़ाइलों को हटाना काफी मुश्किल है। हालांकि माइक्रोसॉफ्ट ने नए सर्वर OS (विंडोज सर्वर 2012) में इस नुकसान को सुधारने का फैसला किया, एक नई फ़ंक्शन को लागू करके जिसे फीचर्स ऑन डिमांड कहा जाता है।
विंडोज सर्वर 2012 में फीचर्स ऑन डिमांड
फीचर्स ऑन डिमांड फ़ंक्शन सिस्टम फ़ाइलों के लिए डिस्क पर लिए गए स्थान को कम करने की अनुमति देता है क्योंकि WinSxS फ़ोल्डर से अप्रयुक्त भूमिकाओं की बाइनरी फ़ाइलों को हटाने की संभावना होती है। यदि बाद में पहले से हटाई गई भूमिका को वापस करने की आवश्यकता होती है, तो सभी आवश्यक फ़ाइलें विंडोज सर्वर 2012 इंस्टॉलेशन पैकेज इमेज, विंडोज अपडेट सेवा या मूल सामग्री वाले नेटवर्क संसाधन में पाई जा सकती हैं।
निम्नलिखित पावरशेल कमांड की सहायता से आप सभी सिस्टम भूमिकाओं और सुविधाओं के बारे में जानकारी प्राप्त कर सकते हैं:
1 | Get-WindowsFeature |

जैसा कि आप देख सकते हैं, प्रत्येक भूमिका की स्थिति Install State कॉलम में प्रदर्शित होती है। ऐसी स्थितियाँ संभव हैं:
- इंस्टॉल किया गया: भूमिका या सुविधा स्थापित है और वर्तमान में सिस्टम द्वारा उपयोग की जा रही है
- उपलब्ध: भूमिका सर्वर पर स्थापित नहीं है, हालांकि इसकी स्थापना के लिए आवश्यक सभी फ़ाइलें डिस्क पर उपलब्ध हैं, जो किसी भी समय इस भूमिका को स्थापित/सक्रिय करने की अनुमति देती हैं।
- हटाया गया: भूमिका या सुविधा सर्वर पर स्थापित नहीं है, इसकी स्थापना के लिए आवश्यक सभी फ़ाइलें डिस्क से हटा दी गई हैं
तदनुसार, GUI या पावरशेल (Install-WindowsFeature कमांड) के माध्यम से किसी भी भूमिका की स्थापना के मामले में इसकी स्थिति Available से Installed में बदल जाएगी या हटाने के मामले में (Uninstall-WindowsFeature कमांड) और इसके विपरीत।
विंडोज सर्वर 2012 से अप्रयुक्त भूमिकाओं को हटाना
डिस्क से भूमिका हटाना (WinSxS फ़ोल्डर से) केवल पावरशेल के माध्यम से संभव है। इस उद्देश्य के लिए विशेष कमांड आर्ग्यूमेंट Uninstall-WindowsFeature –Remove का उपयोग किया जाना चाहिए।
यदि आपको उदाहरण के लिए DHCP सर्वर भूमिका बाइनरी फ़ाइलों को हटाने की आवश्यकता है तो निम्न कमांड का उपयोग किया जाना चाहिए:
1 | Uninstall-WindowsFeature –Name DHCP –Remove |
निम्न कमांड एक्टिव डायरेक्टरी डोमेन सर्विसेज कैटलॉग सर्विस फ़ाइलों को हटा देगी:
1 | Uninstall-WindowsFeature AD-Domain-Services -Remove |

पावरशेल की सहायता से और भी जटिल कमांड लिखना संभव है जो विंडोज सर्वर की सभी अप्रयुक्त भूमिकाओं और कार्यों की इंस्टॉलेशन फ़ाइलों को हटा देगा:
1 | Get-WindowsFeature | Where-Object {$_.InstallState -Eq “Available”} | Uninstall-WindowsFeature -Remove |

हमारे उदाहरण में, यह मानते हुए कि केवल एक फाइल-सर्वर भूमिका स्थापित की गई थी, WinSxS फ़ोल्डर का आकार 8 से 5 जीबी तक कम हो जाएगा। यह बुरा परिणाम नहीं है, है ना? और भी अधिक, हमने WinSxS फ़ोल्डर की सफाई के लिए केवल एक कमांड का उपयोग किया।

विंडोज सर्वर 2012 में हटाई गई भूमिकाओं और सुविधाओं को कैसे स्थापित करें
एक और उदाहरण, मान लें कि आपको कुछ विंडोज सर्वर 2012 भूमिका स्थापित करने की आवश्यकता है, लेकिन इसका इंस्टॉलेशन पैकेज WinSxS कैटलॉग से हटा दिया गया है। GUI सर्वर मैनेजर या पावरशेल की सहायता से इस भूमिका को कई तरीकों से पुनर्प्राप्त करना संभव है।
हटाई गई भूमिका फ़ाइलों को पुनर्प्राप्त करना शुरू करने से पहले विंडोज सर्वर 2012 स्थापित संस्करण के इंडेक्स को परिभाषित करना आवश्यक है। हमें विंडोज सर्वर 2012 इंस्टॉलेशन पैकेज (सटीक रूप से install.wim इमेज फ़ाइल जो sources कैटलॉग में आवंटित है) के साथ डिस्क की आवश्यकता है। निम्नलिखित पावरशेल कमांड निष्पादित करें:
1 | Get-windowsimage –imagepath <path_to_wim_file>\sources\install.wim |

कृपया अपने पीसी पर स्थापित विंडोज सर्वर के संस्करण को ढूंढें और उसका इंडेक्स याद रखें (इंडेक्स लाइन में मान) हमारे उदाहरण में यह इंडेक्स 4 के साथ विंडोज सर्वर 2012 डेटासेंटर है।
उसी ऑपरेशन को Dism यूटिलिटी की सहायता से किया जा सकता है:
1 | dism.exe /get-imageinfo /imagefile:d:\sources\install.wim |
सर्वर मैनेजर का उपयोग करके हटाई गई भूमिका स्थापित करना
सर्वर मैनेजर कंसोल खोलें और भूमिका स्थापना मैनेजर सक्षम करें (भूमिकाएँ और सुविधाएँ जोड़ें)। उस भूमिका या सुविधा का चयन करें जिसे स्थापित करने की आवश्यकता है। मैनेजर चेतावनी देगा कि इस भूमिका की स्थापना के लिए आवश्यक कुछ फ़ाइलें गायब हैं और आपको इंस्टॉलेशन पैकेज स्थान का वैकल्पिक स्रोत पथ निर्दिष्ट करना होगा। वैकल्पिक स्रोत पथ निर्दिष्ट करें बटन दबाएं।

पथ फ़ील्ड में intall.wim फ़ाइल का पूर्ण पथ और स्थापित OS संस्करण इंडेक्स निम्न प्रारूप में निर्दिष्ट करें:
1 | WIM:D:\Sources\Install.wim:4 |

OK बटन दबाने के बाद इंस्टॉल की जा सकने वाली भूमिका के लिए आवश्यक सभी फ़ाइलें WinSxS कैटलॉग में कॉपी हो जाएंगी।
यदि आवश्यक हो तो इस लाइन में WIM फ़ाइल वाले कैटलॉग का पथ या WinSxS कैटलॉग का नेटवर्क पथ निर्दिष्ट किया जा सकता है। इसके अलावा, समूह नीति (कंप्यूटर कॉन्फ़िगरेशन / प्रशासनिक टेम्पलेट्स / सिस्टम / वैकल्पिक घटक स्थापना और घटक मरम्मत के लिए सेटिंग्स निर्दिष्ट करें) की सहायता से सर्वर समूह के लिए इस कैटलॉग का पथ निर्दिष्ट करना संभव है। अंतिम विकल्प बहुत सुविधाजनक है यदि विंडोज सर्वर 2012 के साथ बहुत सारे सर्वर इंस्टॉलेशन करने की आवश्यकता है क्योंकि ऐसी सफाई का कुल प्रभाव सैकड़ों गीगाबाइट तक हो सकता है।

पावरशेल के साथ विंडोज सर्वर 2012 हटाई गई भूमिकाओं को पुनर्प्राप्त करना
उसी ऑपरेशन को केवल एक पावरशेल कमांड की सहायता से किया जा सकता है। मान लें कि हमें ADDS भूमिका रिमोट फ़ाइलों को पुनर्प्राप्त करने की आवश्यकता है। निम्न कमांड निष्पादित करें:
1 | Install-WindowsFeature AD-Domain-Services -Source WIM:WIM:D:\Sources\Install.wim:4 |

तो इस लेख में हमने विंडोज सर्वर 2012 के एक नए फ़ंक्शन के साथ सीखा जिसे फीचर्स ऑन डिमांड कहा जाता है, यह WinSxS कैटलॉग से सर्वर भूमिकाओं के इंस्टॉलेशन पैकेज वाली बाइनरी फ़ाइलों को हटाने की अनुमति देता है। यदि आवश्यक हो तो हटाई गई भूमिका को पुनर्प्राप्त किया जा सकता है: आपको बस विंडोज सर्वर 2012 इंस्टॉलेशन पैकेज की आवश्यकता है।
विंडोज 8 में फीचर ऑन डिमांड थोड़ा अलग तरीके से काम करता है, क्योंकि पिछले मामलों में हमारे द्वारा उपयोग की गई पावरशेल कमांड लेट यहां बस मौजूद नहीं है। DISM कमांड /Disable-Feature पैरामीटर के साथ इसका एनालॉग माना जाता है (इतना सुविधाजनक नहीं)। WinSxS निर्देशिका सामग्री को भी संपीड़ित किया जा सकता है, इसके बारे में अधिक लेख में: WinSxS फ़ोल्डर को साफ और संपीड़ित कैसे करें। टिप. विंडोज 8.1 में WinSxS फ़ोल्डर का आकार कम करने के बारे में अधिक यहां