विंडोज 7 टास्क शेड्यूलर हिडन सेटिंग काम नहीं करती है


37

मुझे एक डेमन प्रक्रिया मिली है जिसे मैं हर घंटे अपनी मशीन पर चलाता हूं, और भले ही मैंने Hiddenबॉक्स की जांच की हो , यह काम नहीं करता है।कार्य गुण

हर घंटे, कार्य चलता है, लेकिन यह ब्लैक कमांड विंडो दिखाता है, जिसमें मेरा .NET कंसोल ऐप चल रहा है। यह कार्य पूरा होने तक दिखाई देता है, और फिर गायब हो जाता है। यह बहुत कष्टप्रद है, क्योंकि यह जो कुछ भी मैं कर रहा हूं, उसे ऊपर और बाधित करता है:

यहाँ छवि विवरण दर्ज करें

मैं वास्तव में इसे छिपाना चाहता हूं, इसलिए मैं इसे कैसे ठीक कर सकता हूं?



2
लिंक किए गए प्रश्न में हिडन सेटिंग का उल्लेख नहीं है ।
bwDraco

@DragonLord आप सही हैं, लेकिन यह बताना कठिन है कि क्या यह सवाल "हिडन काम क्यों नहीं करता है?", या यदि यह वास्तव में "मैं इस बॉक्स को दिखाने से कैसे रोकूँ?"।
12c atιᴇ007

@ techie007: सवाल यह है कि खिड़की को कैसे छिपाया जाए, जो मैंने सोचा था कि छिपा हुआ चेकबॉक्स क्या करता है। लेकिन यह लिंक लेख लिपियों और कमांड लाइन टास्क शेड्यूलर और शेल स्क्रिप्ट से संबंधित है, न कि कार्य अनुसूचक जीयूआई ने मेरे पोस्ट में दिखाया है। क्या आप जानते हैं कि इसे पूरा करने के लिए GUI का उपयोग कैसे करें?
जोशुआ फ्रैंक

ज्यादातर मामलों में आप इसे टास्क शेड्यूलर GUI से नहीं कर सकते। आमतौर पर आपको कार्य की कार्रवाई (यानी: एक बैच फ़ाइल या स्क्रिप्ट) को बदलने की जरूरत है जो कि उप-विंडो को छिपाने के लिए है। यही कारण है कि अन्य प्रश्न शामिल हैं, और इसीलिए मैंने इसे संभावित डुप के रूप में चिह्नित किया। :)
ᴇc --ιᴇ007 3

जवाबों:


45

"भागो चाहे उपयोगकर्ता लॉग ऑन हो या न हो" चेक बॉक्स और निष्पादन योग्य पृष्ठभूमि में चलेगा।


4
कि जैसे ही आसान। यह उत्तर स्वीकृत होना चाहिए।
रोलावे

धन्यवाद। मुझे इससे विपरीत समस्या थी। मैं प्रदर्शन के लिए सांत्वना चाहता था , लेकिन यह नहीं था!
रैंडी स्टेगबॉयर

12
इसके लिए कार्य के साथ पासवर्ड सहेजने की आवश्यकता होती है, और अगली बार पासवर्ड परिवर्तन (जो आमतौर पर एंटरप्राइज़ वातावरण में डोमेन नीतियों द्वारा लागू किया जाता है) को छिप जाएगा।
फिलिप मुनिन

@PhilippMunin कुछ उपयोग-मामलों में, आप पासवर्ड को स्टोर न करने के लिए चेकबॉक्स को टिक करने में सक्षम हो सकते हैं। कार्य में केवल स्थानीय कंप्यूटर संसाधनों तक पहुंच होगी। ', जो पासवर्ड की आपूर्ति को कम करेगा।
जिमाडाइन

20

विंडोज 7 शेड्यूल किए गए कार्य क्यों छिपे हुए हैं? ऐसा क्यों होता है की व्याख्या करनी चाहिए।

इसके अलावा, जनरल टास्क प्रॉपर्टीज का यह टेकनेट विवरण :

कार्य के सामान्य गुण टास्क प्रॉपर्टीज के सामान्य टैब या टास्क डायलॉग बॉक्स को प्रदर्शित करते हैं। किसी कार्य के सामान्य गुणों में कार्य का नाम, लेखक, विवरण, सुरक्षा विकल्प, ऑपरेटिंग सिस्टम शामिल होता है जिसे कार्य के लिए कॉन्फ़िगर किया गया है, और एक संपत्ति जो नियंत्रित करती है कि क्या कार्य छिपा हुआ है

जब आप किसी कार्य फ़ोल्डर में कोई कार्य बनाते हैं, तो आपको कार्य का नाम देना होगा। यदि वे समान कार्य फ़ोल्डर में हैं, तो किसी भी दो कार्यों का एक ही नाम नहीं हो सकता है। कार्य विवरण वैकल्पिक है।

टास्क सुरक्षा विकल्प उस सुरक्षा संदर्भ को निर्दिष्ट करते हैं जो कार्य के तहत चलता है। अधिक जानकारी के लिए, कार्य सुरक्षा संदर्भ देखें।

डिफ़ॉल्ट रूप से, टास्क शेड्यूलर उपयोगकर्ता इंटरफ़ेस में छिपे हुए कार्य नहीं दिखाए जाते हैं। जब आप हिडन मेनू में मेनू में चुना गया है, तब आप छिपे हुए कार्य देख सकते हैं। जब आप टास्क प्रॉपर्टीज के सामान्य टैब पर हिडन चेक बॉक्स पर क्लिक करते हैं या टास्क डायलॉग बॉक्स बनाते हैं तो आप एक कार्य को छिपाते हैं।

क्या इसका मतलब यह नहीं है कि चेकबॉक्स केवल शेड्यूलर के यूआई से ही कार्य को छिपाता है , और वास्तविक कार्यक्रम जो निर्धारित नहीं है?


यह इस तरह से ध्वनि करता है, लेकिन यह ऐसा नहीं करता है; मैं शेड्यूलर में कार्यों को देख सकता हूं। यह एक अजीब यूआई होगा जो उन वस्तुओं के साथ काम करता है जिन्हें आप नहीं देख सकते हैं।
जोशुआ फ्रैंक

2
क्या आपके पास मेनू में छिपे हुए छिपे हुए कार्य दिखाए गए हैं?
करण

1
आह, मैंने किया, ताकि यह बताए। धन्यवाद। बेशक, "हिडन" वह नहीं करता है जो मैंने सोचा था, मुझे छिपे हुए कार्यों की कोई आवश्यकता नहीं है। चूँकि यह एक व्यवस्थापक केवल उपकरण है, और चूँकि Admins को आम तौर पर उनसे छिपी हुई चीजें पसंद नहीं होती हैं, तो एक छिपे हुए कार्य की क्या प्रयोजन है?
जोशुआ फ्रैंक

2
कौन जानता है, निश्चित रूप से मैंने कभी भी उस विकल्प का उपयोग नहीं किया है। आपका सवाल पहली बार था जब मैंने इसे देखा कि यह क्या किया है। :) BTW, उपयोगकर्ता को सिस्टम में बदलने के बजाय, "समस्या है कि उपयोगकर्ता लॉग ऑन है या नहीं" का चयन करके समस्या को हल करें?
करण

18

ठीक है, कुछ और शोध के बाद मुझे स्टैकऑवरफ्लो पर यह उत्तर मिला :

पृष्ठभूमि में चलने के लिए शेड्यूल किए गए कार्य को सेटअप करने के लिए, कार्य को चलाने वाले उपयोगकर्ता को सिस्टम में बदलें, और आपकी स्क्रीन पर कुछ भी दिखाई नहीं देगा।

एक टिप्पणी बताती है कि यह कार्य को पूर्ण अधिकार देता है, जो कष्टप्रद हो सकता है, लेकिन इस मामले में स्वीकार्य है।

लेकिन फिर भी, यह क्या करता Hiddenहै, अगर यह ऐसा नहीं करता है? और प्रोग्राम को चलाने वाले उपयोगकर्ता खाते का ऐसा कुछ भी क्यों नहीं दिखाई दे रहा है?


ऊपर मेरा जवाब पढ़ें, समझा सकता है कि यह क्या करता है।
करण

2
यह SU उत्तर आउटपुट को देखने से बचने के लिए इसे एक अलग उपयोगकर्ता के रूप में चलाने के विचार पर छूता है। मुझे नहीं लगता कि इसे "सिस्टम" के रूप में चलाने के लिए कोई विशेष कारण है, आप केवल उस कार्य को चलाने के लिए एक उपयोगकर्ता बना सकते हैं, जिस अनुमति के साथ आप उन्हें अनुदान देना चाहते हैं।
12c atιᴇ007

लेकिन कॉन्फ़िगर किया गया उपयोगकर्ता विंडो की दृश्यता को क्यों प्रभावित करेगा?
जोशुआ फ्रैंक

1
ध्यान रखें कि SYSTEMखाते में अन्य उपयोगकर्ताओं की EFS एन्क्रिप्टेड फ़ाइलों तक पहुंच नहीं है।
जीरो 3

11

अंतिम समाधान

  • कार्य को चलाने वाले उपयोगकर्ता को सिस्टम में बदलना - आपके उपयोगकर्ता के तहत आपकी कमांड निष्पादित नहीं करेगा
  • "भागो कि क्या उपयोगकर्ता लॉग ऑन है या नहीं" की जाँच करना - कार्य के साथ पासवर्ड को बचाने की आवश्यकता है, और अगली बार पासवर्ड परिवर्तन (जो आमतौर पर एंटरप्राइज़ वातावरण में डोमेन नीतियों द्वारा लागू किया जाता है) को छिप जाएगा।

यदि वे आपके लिए डील ब्रेकर हैं, तो अंतिम समाधान जेएस स्क्रिप्ट फ़ाइल को नीचे की तरह बनाना है, जो आपकी कमांड को छिपे हुए विंडो में चलाएगा, आपके कमांड को समाप्त करने और उसके त्रुटि कोड को वापस करने के लिए प्रतीक्षा करेगा:

WScript.CreateObject("WScript.Shell")
.Run('powershell -File C:\\Path\\To\\MyScript.ps1', 0,true);

इसे js फ़ाइल (myjob.js) के रूप में सहेजें और इसे अपने कार्य शेड्यूलर में जोड़ें: यहाँ छवि विवरण दर्ज करें आनंद लें


साथ ही, आपको अपनी स्क्रिप्ट चलाने के लिए Wscript.exe का उपयोग करना चाहिए, न कि Cscript का। अन्यथा, ब्लैक कंसोल विंडो एक पल के लिए पॉप अप हो सकती है।
BBK

यहाँ VBScript का एक और उदाहरण दिया गया है, जो मेरे लिए काम कर रहा है: faqforge.com/windows/…
BBK

2

"उपयोगकर्ता लॉग ऑन है या नहीं" चलाएँ, छिपे हुए विकल्प को काम करने देगा। ध्यान दें कि इसे चुनने के बाद आपको अपनी साख प्रदान करनी होगी।


1

दोनों:

  • कार्य को चलाने वाले उपयोगकर्ता को सिस्टम में बदलना "
  • और "उपयोगकर्ता लॉग ऑन है या नहीं" की जाँच करें

ब्लैक कमांड विंडो को रोकेगा, लेकिन कमियों के बारे में पता होगा: आप कुछ GUI ऑटोमेशन टूल्स जैसे कि 'AutoIt' या PowerShell में SendKeys के साथ काम नहीं कर पाएंगे, क्योंकि विंडोज़ हेडलेस स्टाइल वातावरण में कार्यों को लॉन्च करता है।


1

मैं डिफ़ॉल्ट सेटिंग्स को छोड़ देता हूं और छोटे कस्टम प्रोग्राम लिखता हूं जो निष्पादन को बिना खिड़की दिखाए दिखाते हैं। उदाहरण के लिए, कमांड प्रॉम्प्ट विंडो को पॉपअप किए बिना बैच फ़ाइल चलाने के लिए, नीचे दिए गए कोड का उपयोग करें। "RunBatchFile.exe (path_to_batch_file)" स्पॉन करने के लिए कार्य सेट करें।

class Program
{
    static void Main(string[] args)
    {
        try
        {
            if (args.Length < 1)
            {
                Console.WriteLine("No batch file");
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            if (!File.Exists(args[0]))
            {
                Console.WriteLine("Batch file {0} not found", args[0]);
                Console.WriteLine("Usage: RunBatchFile (path)");
                Environment.Exit(1);
            }

            // Set to batch file's folder
            string startIn = Path.GetDirectoryName(args[0]);
            if (!string.IsNullOrEmpty(startIn) && Directory.Exists(startIn))
                Directory.SetCurrentDirectory(startIn);

            // Start
            ProcessStartInfo pi = new ProcessStartInfo()
            {
                FileName = args[0],
                UseShellExecute = true,
                WindowStyle = ProcessWindowStyle.Hidden
            };
            Process.Start(pi);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception: " + ex.ToString());
        }
    }
}

1
और मुझे लगता है कि जो जादू होता है वह विशेष रूप से छिपा होता है ProcessWindowStyle.Hidden, विशेष रूप से सही होने के कारण ? मैं इसके बारे में कुछ यहाँ देखता हूँ: msdn.microsoft.com/en-us/library/…
दलाल जूस आईटी

हाँ, वही है जो खिड़की को छुपाता है। इसके बिना, विंडो पॉप अप हो जाएगी।
अर्सअवतार

1
लिखित रूप में यह कोड शेलएक्सक्यूट के साथ चलने वाली किसी भी चीज़ पर काम करेगा।
अर्सअवतार

0

मुझे पॉवरशेल शेड्यूल किए गए कार्यों के साथ यह समस्या हो रही थी (कि मैं GPO के माध्यम से तैनाती कर रहा था)। मैंने इसे कमांड विंडो में लपेटकर समाप्त कर दिया:

CMD
/Q /D /C "powershell.exe -Command "& '\\MYDOMAIN\netlogon\MyPowerShellScript.ps1'""

हालांकि यह प्रश्न का उत्तर दे सकता है, यह एक बेहतर उत्तर होगा यदि आप कुछ स्पष्टीकरण प्रदान कर सकते हैं कि ऐसा क्यों होता है।
DavidPostill
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.