2012-07-31 12 views
6

कुछ कंप्यूटरों पर, नेटवर्क एडेप्टर डिफ़ॉल्ट रूप से "इस डिवाइस को कंप्यूटर को जगाने की अनुमति देते हैं" विकल्प के साथ कॉन्फ़िगर किया गया है। नतीजतन, लैन पर वेक काम नहीं करेगा।मैं "इस डिवाइस को कंप्यूटर को जागने की अनुमति दें" प्रोग्रामेटिक रूप से कैसे सक्षम करूं?

मुझे इस विकल्प को वापस चालू करने की आवश्यकता है, लेकिन मैं इसे हाथ से नहीं कर सकता - बहुत सारे कंप्यूटर! इसलिए, मुझे इसे एपीआई या स्क्रिप्ट के साथ करने में सक्षम होना चाहिए।

(नोट:। इस How to Enable Wake On LAN programmatically का डुप्लिकेट क्योंकि उस सवाल BIOS सेटिंग के बारे में है, जबकि यह एक ऑपरेटिंग सिस्टम स्थापित करने के बारे में है नहीं है)

मैं एक जवाब पहले से ही एक बैच स्क्रिप्ट का उपयोग कर, लेकिन वैकल्पिक समाधान है बहुत स्वागत है, खासकर अगर वे एक एपीआई का उपयोग करें।

उत्तर

11

मुझे The Old New Thing पर एक समाधान मिला। powercfg कमांड आपको पावर सेटिंग्स में हेरफेर करने की अनुमति देता है, और विशेष रूप से आप -deviceenablewake और -devicedisablewake का उपयोग कर सकते हैं ताकि "इस डिवाइस को कंप्यूटर को जगाएं" विकल्प चालू और बंद करें।

आप देख सकते हैं कि किन डिवाइसों इस आदेश के साथ ऐसा करने में सक्षम हैं:

powercfg -devicequery wake_from_any 

आप देख सकते हैं जो उपकरणों की है वर्तमान में उपयोग कर सक्षम विकल्प:

powercfg -devicequery wake_armed 

सभी को एक साथ लाना इस, बैच स्क्रिप्ट है जिसे मैंने लैन पर वेक सक्षम करने के लिए अभी शुरू किया है:

powercfg -devicequery wake_from_any | findstr /i "network ethernet" >adapters.txt 
for /F "tokens=*" %%i in (adapters.txt) do powercfg -deviceenablewake "%%i" 
powercfg -devicequery wake_armed | findstr /i "network ethernet" || goto :failed 

इस मामले में, मैंने उन सभी वैध उपकरणों पर विकल्प सक्षम करना चुना है जिनके नाम में "नेटवर्क" शब्द या "ईथरनेट" शब्द शामिल है; कुछ परिस्थितियों में, ज़ाहिर है, आप इस डिवाइस के सक्षम होने के बारे में अधिक चुनिंदा होना पसंद कर सकते हैं।

संबंधित मुद्दे

 संबंधित मुद्दे