आईटी में गोता लगाने के बाद से मुझे खुद को कंपनी भर के कंप्यूटरों में चल रही सेवाओं की निगरानी और स्थिति की जांच करते हुए बहुत अधिक बार करते हुए पाता हूं।
सेवाओं को प्रबंधित करने का मानक तरीका है जिसका अधिकांश लोग उपयोग करते हैं क्योंकि यह अच्छी तरह से जाना जाता है और काफी आसान है। इसमें एडमिनिस्ट्रेटिव कंट्रोल में जाना या कंट्रोल पैनल में जाना, सर्विसेज यूटिलिटी को ढूंढना और जो आपको करने की आवश्यकता है वह करना शामिल है।
यदि आप अपने नेटवर्क पर एक अलग कंप्यूटर या सर्वर पर चल रही सेवाओं को प्रबंधित करना चाहते हैं, तो आपको कंप्यूटर मैनेजमेंट पर जाना होगा, रिमोट मशीन से कनेक्ट करना होगा, और फिर उन सेवाओं को प्रबंधित करना होगा।
इस दृष्टिकोण को लेने में कुछ भी गलत नहीं है - वास्तव में हर जगह सिस्टम एडमिनिस्ट्रेटर एंटरप्राइज में इंफ्रास्ट्रक्चर को प्रबंधित करने के लिए इन मानक विंडोज यूटिलिटीज का उपयोग करते हैं। लेकिन, क्या होगा यदि आप कमांड प्रॉम्प्ट पर एक ही लाइन टाइप करके सेवाओं को मॉनिटर, रोक और शुरू कर सकें?
कमांड लाइन से सेवाओं को नियंत्रित करना
आपको क्लाइंट कंप्यूटर में चल रही सेवाओं को रोकने की आवश्यकता हो सकती है ताकि आप कुछ सॉफ्टवेयर को पुनर्स्थापित कर सकें। या शायद आपको सर्वर पर चल रही सेवाओं को पुनरारंभ करने की आवश्यकता है क्योंकि कुछ सॉफ्टवेयर ठीक से काम नहीं कर रहा है।
अब तक, आपने शायद अपने नेटवर्क पर चल रही क्लाइंट मशीनों पर सेवाओं को मानक सर्विसेज यूटिलिटी का उपयोग करके प्रबंधित किया है। यह सर्विसेज टूल है जिसे आप कंट्रोल पैनल के एडमिनिस्ट्रेटिव टूल्स अनुभाग में लॉन्च करते हैं।
एडमिन टूल्स में, आप या तो सीधे सर्विसेज टूल पर जा सकते हैं, या कंप्यूटर मैनेजमेंट खोल सकते हैं यदि आप अपने नेटवर्क पर एक अलग कंप्यूटर तक पहुंचना चाहते हैं।
एक अलग कंप्यूटर तक पहुंचने के लिए, बस एक्शन पर क्लिक करें, "दूसरे कंप्यूटर से कनेक्ट करें" और फिर कंप्यूटर का नेटवर्क नाम टाइप करें।
फिर आप सर्विसेज टूल खोल सकते हैं।
सेवाओं को प्रबंधित करने का एक आसान तरीका
वैसे भी, यह लंबा तरीका है। छोटा और तेज तरीका "SC" कमांड का उपयोग करना है।
आप शायद NET कमांड से परिचित हैं। SC कमांड NET के लगभग समान है, सिवाय इसके कि यह एक सेवा भी बना सकता है, इसके अलावा उन्हें मॉनिटर करना, रोकना और शुरू करना। सबसे अच्छी बात, आप नेटवर्क पर अन्य कंप्यूटर्स के खिलाफ SC कमांड जारी कर सकते हैं (यह मानते हुए कि आपके पास एडमिन अधिकार हैं)।
किसी कंप्यूटर के खिलाफ SC क्वेरी करने से आपको सभी इंस्टॉल की गई सेवाएं मिलेंगी और वे चल रही हैं या नहीं। जब आप कमांड "SC \\**कंप्यूटर-नाम** query |more" जारी करते हैं - तो आपको यहां दिखाए गए अनुसार आउटपुट मिलेगा।
जैसा कि आप देख सकते हैं, यह आपको सेवा की स्थिति, सेवा का प्रकार और अन्य पैरामीटर देता है। हमारे अभ्यास के लिए, हम केवल सेवाओं की स्थिति पर ध्यान देने जा रहे हैं।
यदि आप केवल उन सेवाओं को सूचीबद्ध करना चाहते हैं जो वर्तमान में नहीं चल रही हैं (रुकी हुई), तो आप कमांड जारी करेंगे, "SC \\**कंप्यूटर-नाम** query state= "inactive" |more"
कमांड का |more भाग आउटपुट को प्रत्येक स्क्रीन पर रोक देता है ताकि आप स्क्रॉल कर सकें।
जैसा कि आप देख सकते हैं, वे सेवाएं सभी रुकी हुई हैं। अब, उन सभी सेवाओं के माध्यम से खुदाई करने के बजाय, यदि आप सेवा का नाम जानते हैं, तो आप बस कमांड "SC \\**कंप्यूटर-नाम** query **सेवा-नाम**" जारी कर सकते हैं
यह केवल उस सेवा की वर्तमान स्थिति के साथ रिपोर्ट करेगा और कुछ नहीं। किसी सेवा को रिमोटली रोकने के लिए, आपको बस स्टॉप कमांड जारी करना होगा, "SC \\**कंप्यूटर-नाम** stop **सेवा-नाम**"
आउटपुट "STOP-PENDING" की स्थिति दिखाएगा, लेकिन कुछ क्षणों के बाद, यदि आप उस सेवा को फिर से क्वेरी करते हैं, तो आप देखेंगे कि यह अब नहीं चल रही है। आप "stop" को "start" से बदलकर वही कमांड जारी करके इसे शुरू कर सकते हैं।
किसी भी सेवा को क्वेरी, रोकने या शुरू करने के लिए एक स्क्रिप्ट बनाना
ठीक है, अब जब आपने मूल बातें समझ ली हैं, तो एक स्क्रिप्ट लिखने का समय आ गया है जो आपकी इच्छा वाली किसी भी सेवा को सटीक कमांड स्ट्रिंग याद रखने की आवश्यकता के बिना रोक देगा। हम एक भरोसेमंद विंडोज स्क्रिप्ट लिखकर ऐसा कर सकते हैं, जैसा कि नीचे दिखाया गया है।
जब आप इस स्क्रिप्ट को चलाते हैं, तो यह आपसे उस सेवा का नाम पूछेगा जिसे आप रोकना या शुरू करना चाहते हैं।
और फिर क्या आप सेवा को रोकना या शुरू करना चाहते हैं।
">> c:\temp\results.txt" कमांड का उपयोग करके, यह रोकने और शुरू करने के परिणामों और त्रुटियों को एक टेक्स्ट फ़ाइल में आउटपुट करता है जिसका उपयोग आप यह देखने के लिए कर सकते हैं कि कमांड काम किया या नहीं।
जब मैंने उपरोक्त स्क्रिप्ट चलाई, तो मैंने स्क्रिप्ट चलाने से पहले और बाद में सेवा की एक त्वरित क्वेरी के साथ इसका पालन किया।
जैसा कि आप देख सकते हैं, मैंने जिस सेवा को रोका - helpsvc - वह चल रही थी। मैंने इसे रोकने के लिए विंडोज स्क्रिप्ट चलाई, इसे क्वेरी किया, और यह रुकी हुई थी।
यदि आप वास्तव में फैंसी होना चाहते थे, तो आप स्क्रिप्ट में एक अनुभाग जोड़ सकते हैं जो वर्तमान में पीसी पर इंस्टॉल की गई सभी सेवाओं को एक टेक्स्ट फ़ाइल में आउटपुट करता जिसे आप यह तय करने से पहले समीक्षा कर सकते हैं कि किस सेवा को रोकना या शुरू करना है। इसके लिए कमांड होगा "sc \\" & strComputer & " query > c:\temp\services.txt".
जैसा कि आप देख सकते हैं, SC कमांड किसी भी कंप्यूटर पर सेवाओं को प्रबंधित करने का एक बहुत शक्तिशाली और कुशल तरीका हो सकता है, और यदि आपके पास विंडोज स्क्रिप्टिंग के साथ कुछ प्रतिभा है, तो आप प्रक्रिया को स्वचालित करके अपने काम को और भी आसान बना सकते हैं।
क्या आपको लगता है कि SC कमांड आपके लिए काम आ सकती है? एक स्वचालित स्क्रिप्ट के बारे में क्या जो कमांड चलाती है? नीचे टिप्पणी अनुभाग में अपने विचार और सुझाव साझा करें।
इमेज क्रेडिट: शटरस्टॉक