टास्क अनुसूचक शक्तियों स्क्रिप्ट - कैसे

टास्क अनुसूचक शक्तियों स्क्रिप्ट

किसी भी प्रोग्राम को एक पॉवरशेल स्क्रिप्ट से कैसे चलाएं और इसे कार्य शेड्यूलर का उपयोग करके चलाएं

कुल 5 चरण

चरण 1: स्क्रिप्ट बनाएं

अपने प्रोग्राम को लागू करने के लिए पॉवरशेल स्क्रिप्ट लिखें
मैंने मुख्यालय में डेटासेंटर के साथ दूरस्थ साइटों पर सर्वर को सिंक्रनाइज़ करने के लिए यह लिखा है:

# स्क्रिप्ट को सिंकबैक समूह प्रोफ़ाइल को चलाने और संयुक्त लॉगफ़ाइल्स को ईमेल करने के लिए कस्टम करें

$ आज = ​​गेट-डेट -Format "yyddMM"
अगर ([intptr] :: size -eq 8) {
#OS 64 बिट है
$ AppPath = "$ Env: ProgramFiles (x86) Syncback"
}
अन्य {
#OS 64 बिट नहीं है
$ AppPath = "$ Env: ProgramFiles Syncback"
}
$ Servername = $ env: ComputerName
$ logname = $ Today + "_" + $ Servername + "_Synclog.log"

इस स्क्रिप्ट के पहले उपयोग के समय केवल एक बार #next कमांड चलाया जाना चाहिए
# नया-EventLog -LogName अनुप्रयोग -source SyncBack

सीडी $ AppPath
इनवोक-एक्सप्रेशन "। SyncBack.exe -m SyncData" | बाहर अशक्त
लिखें-EventLog -LogName एप्लिकेशन -source SyncBack -eventid 1000 -entrytype जानकारी -message "SyncBack प्रक्रिया समाप्त हो गई"
gci "$ AppPath Sync * log.txt" | सामग्री प्राप्त करें | ऐड-कंटेंट "$ AppPath $ logname"

Send-MailMessage -To '[email protected]' -From '[email protected]' -SmtpServer 'mailserver' -Subject "$ ServerName पर सिंक्रोनाइज़ेशन कार्य पूरा हुआ" -बॉडी को अटैच लॉगफ़ाइल '-आइटीमेंट $ लॉगनेम

चरण 2: अपनी आवश्यकताओं के लिए स्क्रिप्ट को संपादित करें

आपको ध्यान है कि यह स्क्रिप्ट एक काम है
आपको कुछ चर बदलने की आवश्यकता होगी जैसे उदाहरण के लिए ईमेल पता जिसे आप इसे भेजते हैं और उससे

इसके अलावा, यदि आप सिंकबैक से परिचित हैं, तो आपको पता चल जाएगा कि आपके बुलाए गए प्रोफाइल और उनके लॉगफाइल्स का नाम कैसे लिया जाए

आह्वान-अभिव्यक्ति कमांड आउट-नल को आश्वस्त करती है कि स्क्रिप्ट प्रक्रिया समाप्त होने तक प्रतीक्षा करेगी
यदि आप स्क्रिप्ट के दौरान भविष्य में संदर्भ के लिए इसका उपयोग करना चाहते हैं, तो आप अपने तथाकथित कमांड के आउटपुट को एक टेक्स्ट फ़ाइल या एक चर में भी पाइप कर सकते हैं।

राइट-इवेंटलॉग अच्छा है, इससे आप कमांड के आउटपुट या सर्वर में एप्लिकेशन ईवेंट लॉग में अपना विवरण लिख सकते हैं।
आपको नए-घटना-क्रम के साथ पहले प्रविष्टि दर्ज करनी होगी

मुझे अभी भी इवेंट लॉग में सफलता या विफलता को पोस्ट करने के लिए ब्लॉक करने की आवश्यकता है
यह विशेष रूप से आसान है क्योंकि हम सभी सर्वरों की निगरानी के लिए सिस्टम सेंटर का उपयोग करते हैं
अगर कोई भी ऐसा कार्य विफल हो जाता है तो मैं एक चेतावनी ट्रिगर कर सकता हूं

चरण 3: शक्तियां निष्पादन नीति

सुनिश्चित करें कि आपने निष्पादन नीति को बदल दिया है या आपकी स्क्रिप्ट नहीं चलेगी यदि किसी अन्य कंप्यूटर से कॉपी की गई है और आपको त्रुटि के बाद wil प्राप्त होगी:

फ़ाइल C: windows SyncData.ps1 लोड नहीं किया जा सकता क्योंकि स्क्रिप्ट का निष्पादन इस सिस्टम पर अक्षम है। कृपया अधिक विवरण के लिए "get-help about_signing" देखें।

हां का जवाब देकर सेट-एग्जीक्यूटिवली रिमूस्ड और कॉम्फर्म दर्ज करें

चरण 4: पॉवरशेल स्क्रिप्ट को शेड्यूल करें

यह पटकथा पटकथा के लिए कमांड लाइन कॉल है:

C: WINDOWS system32 WindowsPowerShell v1.0 powerhell.exe -command "& 'c: windows SyncData.ps1'"

विंडोज़ फ़ोल्डर आमतौर पर एक ज्ञात पथ है, इसलिए आपको पूर्ण पथ निर्दिष्ट करने की आवश्यकता नहीं है, यही कारण है कि मैं इसका उपयोग करता हूं, लेकिन जब तक आप स्क्रिप्ट का पूर्ण पथ निर्दिष्ट करते हैं, तब तक आप किसी अन्य फ़ोल्डर का उपयोग कर सकते हैं

चरण 5: विशिष्ट सेटिंग्स सिंकबैक

यदि आप सिंकबैक कहते हैं, तो आपको कार्य को चलाने के लिए उसी खाते का उपयोग करना होगा जैसा आपने प्रोफाइल बनाते समय किया था

सिंकबैक उपयोगकर्ता रजिस्ट्री में इन प्रोफ़ाइल सेटिंग्स को संग्रहीत करता है इसलिए किसी अन्य खाते का उपयोग करने से ये सेटिंग्स नहीं पढ़ पाएंगे और निष्पादन पर विफल हो जाएंगे

सबसे आसान तरीका है सर्वर में लॉग इन करने के लिए एक व्यवस्थापक खाते का उपयोग करना, प्रोफाइल बनाना और कार्य चलाने के लिए इन क्रेडेंशियल्स को दर्ज करना

एक विकल्प के रूप में आप इन सेटिंग्स को उस खाते की उपयोगकर्ता रजिस्ट्री में आयात कर सकते हैं जिसे आप निर्धारित कार्य के लिए उपयोग करना चाहते हैं

यह आपको केवल यह दिखाने के लिए है कि किसी अन्य प्रोग्राम को एक कार्य के रूप में शेड्यूल करने के लिए किसी अन्य प्रोग्राम को कैसे करें

मैंने प्रोग्राम को कॉल करने के बजाय पावरशेल का उपयोग करने के लिए स्विच किया, इसका कारण यह है कि मैं सिर्फ एक शेड्यूल के साथ अनुक्रम में चलाने के लिए कई कार्यक्रमों को जोड़ सकता हूं
पाइप आउट-नल के उपयोग से यह सुनिश्चित हो जाएगा कि अगला कार्यक्रम शुरू होने से पहले पहला कार्यक्रम पूरा हो गया है

इस मामले में लॉगफ़ाइल्स को एक बड़ी फ़ाइल में संयोजित करने और मॉनिटर किए गए मेलबॉक्स को भेजने में सक्षम होना अच्छा था