मेरे पास एक C # प्रोग्राम है जो ठीक यही करता है। मेरे पास सर्वर 2008 R2 पर एक समस्या थी जहां इवेंट लॉग हमेशा उपयोगकर्ता के आईपी पते (यदि वे नए दूरस्थ डेस्कटॉप क्लाइंट से जुड़े हुए हैं) को सूचीबद्ध नहीं करते थे। कुछ सेवाएं अपने स्वयं के क्रेडेंशियल चेक प्रदाता को लागू करती हैं जो आपके द्वारा वांछित सभी जानकारी प्रदान नहीं करती हैं।
http://cyberarms.net/security-insights/security-lab/remote-desktop-logging-of-ip-address-%28security-event-log-4625%29.aspx
हालांकि दूरस्थ डेस्कटॉप के लिए मुझे पता चला कि "दूरस्थ डेस्कटॉप सत्र होस्ट कॉन्फ़िगरेशन" में जाकर "वार्ता" या "SSL (TLS 1.0)" के बजाय "RDP सुरक्षा परत" की सुरक्षा परत रखने के लिए RDP-TCP कनेक्शन को बदलना आईपी पते।
क्या आप वास्तव में ऐसा करना चाहते हैं, आपके लिए एक और सवाल है, "यदि आप RDP सुरक्षा परत का चयन करते हैं, तो आप नेटवर्क स्तर प्रमाणीकरण का उपयोग नहीं कर सकते।"
मुझे http://www.windowsecurity.com/articles/logon-types.html मददगार लगा। मैंने EventLogWatcher का उपयोग किया और "* [सिस्टम / EventID = 4625 या सिस्टम / EventID = 4624] के लिए बाध्य था, इसलिए मैं सफलता पर एक खराब गणना को रीसेट कर सकता था यदि उपयोगकर्ता वास्तव में अपना पासवर्ड गलत मिला। इसके अलावा मैंने :: 1, 0.0.0.0, 127.0.0.1 और "-" को सफेद कर दिया। आप श्वेतसूची LAN / प्रबंधन IP की इच्छा रख सकते हैं या नहीं कर सकते हैं।
मैं फ़ोरफ़्रंट TMG का उपयोग करता हूं, इसलिए मैंने उस तरह से IP के समूह में खराब IP पते जोड़ने के लिए API का उपयोग किया और मैंने सिस्को को अपने SMB राउटर्स में से एक में API एक्सेस जोड़ने के लिए कहा है (जो उन्होंने मुझे आश्वासन दिया है कि वे बस कर सकते हैं!)
यदि आप देशी विंडोज फ़ायरवॉल का उपयोग करना चाहते हैं तो उन्हें ब्लॉक करने के लिए एपीआई पर नज़र डालनी चाहिए ("netsh advfirewall")।
मैं प्रतिबंध लगाने से पहले एक्स के प्रयासों की संख्या की अनुमति देता हूं और एक सफलता गिनती को रीसेट कर देगी।