Microsoft चुप-चाप उन कमांड को हटा रहा है जो दो दशकों से Windows के साथ आ रही हैं। WMIC को 2024 में हटाया गया था, और तब से हर रिलीज़ कुछ और को काट रहा है। अगर 2015 से पहले की स्क्रिप्ट अभी भी हमारे बैकअप, पुनर्स्थापन या ऑनबोर्डिंग कार्यों को चलाती है, तो वह घड़ी टिक रही है। अच्छी बात यह है कि प्रतिस्थापन पहले से ही यहां हैं और, अधिकांश मामलों में, बेहतर हैं। हमने सात उपकरणों को चुना है जो लगभग सभी चीजों को कवर करते हैं जो पुरानी कमांड करती थीं, साथ ही कुछ चीजें जो वे कभी नहीं कर सकते थे।
प्रतिस्थापन में क्या देखें
सही उपकरण इस बात पर निर्भर करता है कि पुरानी कमांड किस लिए थी। माइग्रेशन की योजना बनाते समय इन विशेषताओं को देखें।
- हर Windows संस्करण पर उपलब्ध है जो हमारा बेड़ा अभी चलाता है
- बिना निगरानी के चलता है, क्योंकि बहुत सारी पुरानी कमांड शेड्यूल किए गए कार्यों के अंदर रहती थीं
- अनुमानित आउटपुट जो एक स्क्रिप्ट मैनुअल ट्यूनिंग के बिना पार्स कर सकता है
- इंटरेक्टिव और पाइपलाइन दोनों उपयोग के लिए समर्थन, ताकि एक इंसान भी इसे पढ़ सके
- जिस तरह से हम आज स्क्रिप्ट पर हस्ताक्षर करते हैं और वितरित करते हैं उसके अनुकूल
- एक भविष्य जिस पर आप विश्वास करते हैं: नीचे सूचीबद्ध कुछ प्रतिस्थापन पहले से ही एक हटाने की चक्र को बचा चुके हैं
त्वरित तुलना
| ऐप | सर्वश्रेष्ठ | मुफ्त योजना | बेहतरीन विशेषता |
|---|---|---|---|
| PowerShell 7 | सब कुछ जो WMIC, systeminfo और net करते थे | हाँ | पार्स किए गए स्ट्रिंग्स के बजाय संरचित ऑब्जेक्ट |
| Windows Terminal | होस्ट जहां इनमें से अधिकांश चलना चाहिए | हाँ | टैब, स्प्लिट और आधुनिक रेंडरिंग |
| PSTools | दूरस्थ प्रशासन और निदान | हाँ | psexec अभी भी दिन बचाता है |
| Nushell | आधुनिक स्क्रिप्टिंग जहां PowerShell भारी लगता है | हाँ | डेटा-उन्मुख पाइपलाइनें |
| WSL2 | कुछ भी बेहतर Unix उपकरणों से किया जाता है | हाँ | Windows पर असली bash और grep |
| Git Bash | स्क्रिप्ट के लिए हल्के coreutils | हाँ | WSL के बिना परिचित Linux उपकरण |
| PowerToys Command Palette | चलाने से दूर इंटरैक्टिव कार्य | हाँ | समर्थित एक्सटेंशन मॉडल के साथ आता है |
ऐप्स
1. PowerShell 7 — WMIC और अधिकांश पुरानी CMD उपकरणों के लिए सर्वश्रेष्ठ प्रतिस्थापन
PowerShell 7 आधुनिक शेल है जिसे Microsoft अपडेट करना जारी रखना चाहता है। Get-CimInstance WMIC करने के अधिकांश काम को कवर करता है, Get-ComputerInfo उस काम को संभालता है जो systeminfo उत्पादित करता है, और बाकी अंतर्निर्मित cmdlets net use, net user और sc.exe को प्रतिस्थापित करते हैं। आउटपुट ऑब्जेक्ट हैं, टेक्स्ट नहीं जिसे आपको पार्स करना है।
यह कहां कम आता है: स्टार्टअप समय CMD की तुलना में धीमा है। कुछ बहुत पुरानी स्क्रिप्ट Windows PowerShell 5.1 की अजीबोखूबी पर निर्भर करती हैं जो PowerShell 7 विनम्रता से अस्वीकार करता है।
प्लेटफॉर्म: Windows, Linux, macOS।
मूल्य निर्धारण: मुफ्त, MIT लाइसेंस।
डाउनलोड: github.com/PowerShell/PowerShell
निचली पंक्ति: 2020 से पहले किसी भी स्क्रिप्ट के लिए डिफ़ॉल्ट लक्ष्य। धीरे-धीरे माइग्रेट करें।
2. Windows Terminal — यहां बाकी सबके लिए सर्वश्रेष्ठ होस्ट
Windows Terminal टर्मिनल होस्ट है जहां इस सूची पर सभी अन्य उपकरण खुशी से चलते हैं। टैब, स्प्लिट पैन, प्रति-प्रोफ़ाइल फॉन्ट और JSON कॉन्फ़िगरेशन का मतलब है कि आप एक प्रोग्राम छोड़े बिना PowerShell, WSL, Git Bash और Nushell को साथ रख सकते हैं। यह CMD होस्ट के लिए प्रतिस्थापन है, CMD खुद नहीं।
यह कहां कम आता है: कोई अंतर्निर्मित सीरियल कंसोल या SSH प्रोफ़ाइल प्रबंधन नहीं। तीसरे पक्ष के रैपर खाई को भरते हैं।
प्लेटफॉर्म: Windows 10 1903 या नया, Windows 11.
मूल्य निर्धारण: मुफ्त, MIT लाइसेंस।
डाउनलोड: github.com/microsoft/terminal
निचली पंक्ति: एक बार इंस्टॉल करें और conhost को भूल जाएं।
3. PSTools — पुरानी टूलकिट के दूरस्थ भागों के लिए सर्वश्रेष्ठ
PSTools Sysinternals से कभी नहीं गया। psexec, psloglist, psinfo और pskill अभी भी वह काम करते हैं जो कोई और उतनी अच्छी तरह नहीं करता। वे दूरस्थ प्रशासन कार्यों के लिए अंतर पूरा करते हैं जो WMIC करते थे, और उपकरण हस्ताक्षरित और समर्थित रहते हैं।
यह कहां कम आता है: कोई PowerShell-स्टाइल ऑब्जेक्ट आउटपुट नहीं। आधुनिक SOC उपकरण psexec को चिह्नित करेंगे क्योंकि हमलावर भी इसका उपयोग करते हैं।
प्लेटफॉर्म: Windows, साथ ही सीमित Linux पोर्ट।
मूल्य निर्धारण: मुफ्त, Microsoft EULA।
डाउनलोड: learn.microsoft.com/sysinternals/downloads/pstools
निचली पंक्ति: सही चुनाव जब एक स्क्रिप्ट को बिना एजेंट के अन्य मशीनों तक पहुंचने की आवश्यकता है।
4. Nushell — संरचित, छोटी स्क्रिप्ट के लिए सर्वश्रेष्ठ
Nushell शुरुआत से डेटा को तालिकाओं के रूप में मानता है। ps | where cpu > 10 | sort-by mem | first 5 जैसी एक पंक्ति प्रक्रिया सूची को पढ़ती है, इसे फ़िल्टर करती है, इसे सॉर्ट करती है और शीर्ष पांच को लेती है, सभी संरचित डेटा के साथ। जहां PowerShell भारी लगता है, Nushell स्प्रेडशीट की तरह लगता है।
यह कहां कम आता है: इकोसिस्टम PowerShell के मुकाबले छोटा है। कुछ Windows COM interop अभी तक वहां नहीं है।
प्लेटफॉर्म: Windows, macOS, Linux.
मूल्य निर्धारण: मुफ्त, MIT लाइसेंस।
डाउनलोड: nushell.sh
निचली पंक्ति: सीखने लायक है एक बार जब आप पाते हैं कि आप चाहते हैं कि PowerShell अधिक Unix जैसा हो।
5. WSL2 — जब Unix उपकरण सही उत्तर है तो सर्वश्रेष्ठ
WSL2 Windows के पास एक असली Linux कर्नेल के साथ आता है। जब पुरानी कमांड का आध्यात्मिक प्रतिस्थापन awk, sed, curl या एक विशिष्ट Python या Node स्क्रिप्ट है, तो WSL2 वह जगह है जहां वे रहते हैं। Windows फाइलसिस्टम के साथ Interop दोनों दिशाओं में स्क्रिप्टिंग के लिए तेज़ पर्याप्त है।
यह कहां कम आता है: सीमा के पार फ़ाइल वॉचर्स धीमे हो सकते हैं। कुछ उद्यमों में समूह नीति अभी भी इसे अवरुद्ध करती है।
प्लेटफॉर्म: Windows 10 21H2 और नए।
मूल्य निर्धारण: मुफ्त।
डाउनलोड: “Windows Subsystem for Linux” फीचर चालू करें या wsl --install चलाएं।
निचली पंक्ति: कोई भी स्क्रिप्ट जिसका Linux समकक्ष एक-लाइनर है यहां है।
6. Git Bash — सर्वश्रेष्ठ हल्के coreutils
Git Bash Git for Windows के एक भाग के रूप में आता है और एक काम करने वाली bash, grep, awk, sed और find लाता है। उन स्क्रिप्ट्स के लिए जिन्हें WSL के वजन के बिना कुछ Unix उपकरणों की आवश्यकता है, यह सबसे छोटा फिट है।
यह कहां कम आता है: कोई पैकेज मैनेजर नहीं। जो Git for Windows में bundled है वह है जो आप पाते हैं।
प्लेटफॉर्म: Windows.
मूल्य निर्धारण: मुफ्त, GPL-2.0।
डाउनलोड: git-scm.com/download/win
निचली पंक्ति: सही चुनाव जब एक स्क्रिप्ट को तीन Unix उपकरण चाहिए और कुछ नहीं।
7. PowerToys Command Palette — इंटरैक्टिव रन के लिए सर्वश्रेष्ठ प्रतिस्थापन
PowerToys Command Palette एक कीबोर्ड-संचालित लॉन्चर है जिसने कई admins के लिए रन और सर्च को बदल दिया है। यह एक एक्सटेंशन मॉडल के साथ आता है जो आपको नई कमांड स्क्रिप्ट करने देता है, इसलिए wmic एकल invocations जो मांसपेशियों की स्मृति में रहते थे यहां जा सकते हैं।
यह कहां कम आता है: कोई शेल नहीं। यह चीजें लॉन्च करता है; यह पाइपलाइनें बनाता नहीं है।
प्लेटफॉर्म: Windows 10 22H2 या नया।
मूल्य निर्धारण: मुफ्त, MIT लाइसेंस।
डाउनलोड: learn.microsoft.com/windows/powertoys/command-palette
निचली पंक्ति: इंटरैक्टिव one-liners के लिए सही घर जो अब CMD से संबंधित नहीं हैं।
सही वाला कैसे चुनें
- अगर पुरानी कमांड WMIC,
netयाsysteminfoथी: PowerShell 7 - अगर पुरानी कमांड रन से इंटरैक्टिव था: PowerToys Command Palette
- अगर पुरानी कमांड अन्य मशीनों तक पहुंची: PSTools
- अगर प्रतिस्थापन Unix पाइपलाइन के रूप में सबसे अच्छा लिखा है: WSL2 भारी काम के लिए, Git Bash छोटी स्क्रिप्ट के लिए
- अगर PowerShell cmdlets बहुत verbose लगते हैं: Nushell
- सब कुछ Windows Terminal में चलता है
FAQ
कौन सी Windows कमांड वास्तव में हटाई गई हैं? WMIC को Windows 11 24H2 से शुरू करके डिफ़ॉल्ट रूप से हटाया गया था। अन्य “पुरानी” में बदल गए हैं, जिसका आमतौर पर मतलब है हटाने से पहले एक और फीचर अपडेट। Microsoft की अपनी हटाने की सूची सच्चाई का स्रोत है।
क्या मुझे एक बार में सभी स्क्रिप्ट फिर से लिखनी होंगी? नहीं। माइग्रेशन के दौरान Windows PowerShell 5.1 के साथ PowerShell 7 चलाएं; दोनों समर्थित हैं। जैसे-जैसे CI pipelines और scheduled कार्य उन्हें छूते हैं, स्क्रिप्ट को स्थानांतरित करें।
क्या Windows PowerShell 5.1 भी पुरानी है? Microsoft ने विरासत संगतता के लिए Windows में 5.1 रखने की प्रतिश्रुति दी है, लेकिन नई सुविधाएं केवल PowerShell 7 में आती हैं। 5.1 को केवल-रखरखाव के रूप में मानें।
24H2 के बाद WMIC को कॉल करने वाली स्क्रिप्ट का क्या होता है? उन्हें “command not found” मिलेगा। Feature-on-demand install एक समय के लिए उपकरण को वापस करता है, लेकिन वह पथ लंबी अवधि की योजना नहीं है।
क्या मुझे सब कुछ के लिए Nushell पर स्विच करना चाहिए? केवल अगर आपको यह पसंद है। PowerShell 7 अधिक Windows-specific आधार को कवर करता है और व्यापक इकोसिस्टम है। Nushell डेटा काम के लिए एक बेहतरीन दैनिक ड्राइवर है।
क्या ये उपकरण PowerShell Remoting पर काम करते हैं? PowerShell 7 WinRM या SSH पर बाहर बॉक्स से काम करता है। WSL2 और Git Bash स्थानीय हैं। PSTools दूरस्थ काम के लिए क्लासिक उत्तर रहता है जब Remoting सक्षम नहीं है।