मैं कैसे बता सकता हूं कि सिस्टम वेक-ऑन-लैन (WoL) के कारण बूट हुआ या पावर बटन के कारण?


11

विंडोज 10 में, मैं जानना चाहूंगा कि मैं एक स्क्रिप्ट में कैसे बता सकता हूं कि क्या सिस्टम बूट हुआ क्योंकि यह एक वेक-ऑन-लैन (WoL) पैकेट प्राप्त करके चालू किया गया था, या क्योंकि यह पावर बटन को धक्का देने के कारण चालू किया गया था ।

मुझे Win32_ComputerSystem वर्ग का WakeUpType गुण मिला । जिसे "सिस्टम को पावर अप करने के लिए कारण" घटना को वापस करने के लिए प्रलेखित किया गया है। 9 संभावित रिटर्न मान हैं, उनमें से एक "5" (जिसका अर्थ है "लैन रिमोट")।

दुर्भाग्य से, मेरे सिस्टम पर यह हमेशा "6" (अर्थ "पावर स्विच") लौटाता है:

PS C:\WINDOWS\system32> echo $(Get-WmiObject -class win32_computersystem).wakeuptype
6

मैंने देखा कि सिस्टम को सोने और जागने के बाद WoL का उपयोग करके, विंडोज सिस्टम में एक घटना को स्रोत "पावर-ट्रबलशूटर" और इवेंट ID 1 के साथ पोस्ट करता है, जिसमें टेक्स्ट होता है:

वेक सोर्स: डिवाइस -इंटेल (R) 82579V गीगाबिट नेटवर्क कनेक्शन

इसके अलावा, powercfg /lastwakeएनआईसी को जागने के कारण के रूप में रिपोर्ट करता है। तो, कम से कम जब नींद से जागते हैं विंडोज यह निर्धारित करने में सक्षम है कि यह वाह के पैकेट के कारण जाग गया, भले ही उस मामले में वेकपाइप संपत्ति अभी भी "6" (पावर स्विच) लौटाती है।

दुर्भाग्य से, जब सिस्टम को S5 राज्य में एक WoL पैकेट प्राप्त होता है, तो यह ठीक से पावर और बूट करेगा, लेकिन मैं यह नहीं बता सकता कि यह WoL के कारण बूट हुआ। powercfg /lastwakeपॉवर बटन को पुश करने के कारण S5 से सिस्टम की शक्तियाँ होने पर ठीक वैसा ही आउटपुट दिखाता है जैसा कि सिस्टम को होता है:

C:\WINDOWS\system32>powercfg /lastwake
Wake History Count - 0

मैं किसी भी बिजली की स्थिति (S5 तक) से मज़बूती से कैसे बता सकता हूं, कि यह सिस्टम WoL की वजह से / जाग गया?


मुझे डर है कि यह एक नेटवर्क कार्ड ड्राइवर समस्या है। मैं विंडोज 10 के साथ कुछ इसी तरह के मुद्दे को मार रहा हूं - जबकि कंप्यूटर WoL पर पूरी तरह से प्रतिक्रिया करता है जब यह बंद हो जाता है, तो यह बिल्कुल भी प्रतिक्रिया नहीं करता है यदि इसे हाइबरनेशन में डाल दिया जाता है, तो इसका मतलब है कि नेटवर्क कार्ड ड्राइवर कोड उसके लिए तैयार नहीं है । यदि आप ड्राइवर का अलग (नया?) संस्करण पा सकते हैं, तो इससे आपकी समस्या हल हो सकती है। इसके अलावा, मुझे डर है कि आप के लिए कर रहे हैं।
स्टेनटैस्टिक

जवाबों:


1

मेरा दृष्टिकोण dmidecode का उपयोग करना होगा जो BIOS से डेटा पढ़ेगा, जैसे कुछ

dmidecode | खोज / आर / सी: "वेक-अप"

इसी तरह से इस सवाल का जवाब देने के लिए

यदि वह काम नहीं करता है, तो आपके हार्डवेयर को उस मान को ठीक से रिकॉर्ड नहीं करना चाहिए।


-1

हो सकता है कि आप WOL पैकेट भेजने वाले PC पर ईवेंट ट्रैक करने के लिए स्क्रिप्ट (या सॉफ़्टवेयर) सेटअप कर सकते हैं।
यह स्क्रिप्ट कहीं पर (नेटवर्क शेयर पर) एक फ़ाइल में कुछ (वर्तमान तिथि / समय) लिख सकती है और फिर जस्ट-वोकेन-अप कंप्यूटर इस साझा फ़ाइल की जांच कर सकता है, और यह निर्धारित कर सकता है कि क्या इसे WOL द्वारा संचालित किया गया है। पैकेट।


-1 के लिए धन्यवाद, लेकिन मेरी (अभी तक वैकल्पिक) समाधान खराब होने की व्याख्या करने वाली एक टिप्पणी, अधिक उपयोगी होगी ...
अधिकतम

1
मुझे नहीं पता कि किसने -1 दिया (यह मुझे नहीं था), लेकिन मैं समझा सकता हूं कि आपका सुझाव मेरी समस्या का समाधान क्यों नहीं करेगा: वाह पैकेट भेजने वाला उपकरण एक स्टीम लिंक है। दूसरे शब्दों में: एक डिवाइस जिसका मेरे पास कोई और नियंत्रण नहीं है और इस पर स्क्रिप्ट नहीं चला सकता है, WoL पैकेट भेजता है।
जुर्जेन

@Jurjen स्पष्टीकरण के लिए धन्यवाद, आज के रूप में मैं आपके मुद्दे को हल करने के लिए एक सरल और व्यावहारिक तरीके की कल्पना नहीं कर सकता ... (आमतौर पर आप एक दूसरे पीसी के साथ मेरे प्रस्तावित समाधान का उपयोग कर सकते हैं, जो कि केवल WOL के माध्यम से जगाया गया है, ताकि स्टीमलिंक पीसी 1 उठते हैं, फिर पीसी 1 एक साझा ड्राइव (एनएएस पर?) पर कहीं नोट करते हैं, फिर पीसी 1 पीसी 2 को जागते हैं (पीसी आप सवाल करते हैं) तो पीसी 1 खुद को बंद कर देता है, फिर पीसी 2 साझा ड्राइव की जांच करने के लिए जांचें कि क्या वह है? PC1 (और इसलिए स्टीमलिंक से) WOL pachet द्वारा जगाया गया ... यह काम कर सकता है, लेकिन यह जटिल है, और आपको एक और पीसी की जरूरत है ...
अधिकतम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.