2010-03-12 17 views
19

पावरशेल सत्र छोड़ने पर मैं कुछ साफ-सफाई कार्यों को स्वचालित रूप से करने का एक तरीका ढूंढ रहा हूं। तो उदाहरण के लिए मेरी प्रोफाइल फ़ाइल में मैं एक प्रक्रिया शुरू करता हूं जिसे बहुत सारे कार्यों के लिए पृष्ठभूमि में चलाने की आवश्यकता होती है और जब मैं कंसोल बंद करता हूं तो मैं स्वचालित रूप से उस प्रक्रिया को बंद करना चाहता हूं।पावरहेल प्रोफ़ाइल "बाहर निकलने पर" घटना?

क्या कोई फ़ंक्शन पावरशेल स्वचालित रूप से कॉल करता है जब सत्र को बंद करते समय prompt के साथ प्रॉम्प्ट प्रदर्शित करते समय स्वचालित रूप से कॉल किया जाता है?

Register-EngineEvent PowerShell.Exiting –Action { ... } 

नोट ध्यान दें कि यदि आप कंसोल विंडो बंद कर इस घटना को निष्पादित नहीं होगा:

उत्तर

19

वहाँ Register-EngineEvent cmdlet जो आप Exiting घटना के लिए एक ईवेंट हैंडलर संलग्न करने के लिए उपयोग कर सकते हैं।

+1

धन्यवाद, यह ठीक काम करता है लेकिन मैं अधिकतर 'बाहर निकलने' के बिना अपना खोल बंद करता हूं। शायद किसी और के पास कोई विचार है, अन्यथा मुझे 'निकास' में उपयोग करने की आवश्यकता है;) – poke

+1

बीटीडब्ल्यू। जब भी शेल शुरू होता है तो ईवेंट डेटा को प्रिंट करने से PowerShell को रोकने के लिए आपको पैरामीटर '-SupportEvent' जोड़ना चाहिए। - या इसे 'आउट-नल' पर पाइप करें। – poke

+7

@poke: मैं अपनी प्रोफ़ाइल में निम्नलिखित छोटे स्निपेट का उपयोग कर रहा हूं: 'Invoke-Expression "फ़ंक्शन $ ([char] 4) {exit}" यह मुझे Ctrl + D और Enter दबाकर PowerShell से बाहर निकलने की अनुमति देता है। एक्स बटन के लिए जाने से बचने के लिए बिल्कुल सही नहीं है लेकिन काफी छोटा है। – Joey

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