csv - Powershell extracting logs based upon interval? -
मेरे पास स्क्रिप्ट तर्क निम्नानुसार है: -
- जांचें कि फ़ोल्डर रिक्त है
- अगर हाँ पिछले 30 दिनों के अपवाद अवधि के साथ उसी आदेश का उपयोग करें यानी स्टार्टअर्ट आदि
- अगर फ़ोल्डर रिक्त नहीं है तो उसी आदेश का प्रयोग करके 1 दिन के लिए लॉग्स को निकालना / एक्सट्रैक्ट करें।
- स्क्रिप्ट हर 5 मिनट में चलाने के लिए निर्धारित किया जाएगा 1 दिन के लिए उसी आदेश का उपयोग करते हुए हर रन निकालने के लिए परिणाम को temp.csv में बचाया जाता है और इसे अंतिम- admin.csv की सबसे अद्यतित प्रति तुलना करते हैं।
- यदि परिवर्तन मिले; अंतिम- admin.csv
कोड
एड-पीएसएसएनपिन Microsoft.Exchange.Management में अंतर / ओवर-लिखित में अंतर लिखें। PowerShell.E2010 $ outcsv = 'c: \ Mail-audit-results \ final-mail-admin.csv' अगर (Get-ChildItem सी: \ मेल-ऑडिट-परिणाम) {$ enddate = [datetime] :: आज $ स्टार्टअडेट = $ Enddate.AddDays (-1) $ splat = @ {पहचान = 'mail.test-nw.com' LogonTypes = @ ('एडमिन', 'प्रतिनिधि') ShowDetails = $ true StartDate = $ स्टार्टएडेट एंडडाट = $ एंडेड} खोज मेलबॉक्सअद्यत लॉग @splat | निर्यात-सीएसवी सी: \ मेल-लेखा परीक्षा-परिणाम \ temp_results.csv- कोई भी प्रकार की जानकारी -अपेक्षित $ पुराना = आयात- CSV $ $ outcsv $ नया = आयात-सीएसवी सी: \ मेल-ऑडिट-परिणाम \ temp_results.csv $ नया | ? {$ पुराना- notmatch $ _} | निर्यात- CSV $ outcsv -notype} # फ़ाइलों को मिली जब आइटम मिलते हैं} और {# प्रक्रियाएं जब कोई भी फाइल नहीं मिली $ Enddate = [datetime] :: आज $ स्टार्टअडेट = $ एंडेड। ऐडडिसेस (-30) $ splat = @ {पहचान = 'मेल। टेस्ट- nw.com' लॉगऑन-टाइप = @ ('व्यवस्थापक', 'प्रतिनिधि') ShowDetails = $ सच्चा स्टार्टडेट = $ स्टार्टडेट एंडडेट = $ एंडेड) खोज-मेलबॉक्सऑडियोटॉग @ एसप्लैट | निर्यात-सीएसवी $ आउट्ससीव -नटाइप जानकारी- ऐपेंड) गेट-बालआईटीम 'c: \ मेल-ऑडिट-रिजल्ट्स- फ़ाइनल-मेल-व्यवस्थापक सीसीवी' | के लिए हर (अन्य {वापसी 0; }}
समस्या-अंक
मैं अनुभाग में मिमी / दिन / yyy प्रारूप में दिनांक का प्रारूप कैसे बदल सकता हूँ <पूर्व>
$ enddate = [datetime] :: आज $ स्टार्टडेट = $ एंडेड। ऐडडय़ (-1)
अंतर डेटा के साथ कैसे ओवरराइट किया जाए? < पूर्व>
$ नया | ? {$ पुराना- notmatch $ _} | निर्यात- CSV $ outcsv -notype
मैं तीसरे फाइल को अंतर नहीं लिखना चाहता हूँ, क्योंकि मुझे मूल फ़ाइल
$ outcsv लिखना है; क्या उपरोक्त कमांड ओवरराइट / या बस जोड़ना होगा?
धन्यवाद।
आप कर सकते हैं -Uformat स्विच
$ enddate = get-date ([datetime] :: आज का उपयोग करके अपनी दिनांक बदलें- "% m% d% Y" $ आरंभ करें = प्राप्त-तिथि ($ एंडेड। एडेड डे (-1)) - यूफ़ॉर्मेट "% m% d% Y"
रेखा
$ नया | ? {$ पुराना- notmatch $ _} | निर्यात- CSV $ outcsv -notype
डेटा अधिलेखित कर देगा, Export-CSV -Append जोड़ देगा।
Comments
Post a Comment