मुझे दूरस्थ डेस्कटॉप क्लाइंट का आईपी पता कैसे मिल सकता है? और मैं आरडीपी कनेक्ट पर शेल कमांड कैसे ट्रिगर कर सकता हूं?


23

क्या सर्वर पर PowerShell (या किसी अन्य विधि) का उपयोग करके दूरस्थ डेस्कटॉप क्लाइंट का आईपी पता निर्धारित करने का एक तरीका है? (Windows Server 2008 R2 x64 जो मैं उपयोग कर रहा हूं)

संपादित करें: मुझे पता है कि मैं इस जानकारी को प्राप्त करने के लिए नेटस्टैट के स्ट्रेउट को प्राप्त कर सकता हूं जो बहुत ही संभव है, इसलिए जब क्लाइंट कनेक्ट होता है तो मैं स्क्रिप्ट / शेल-कमांड को कैसे ट्रिगर कर सकता हूं?


किस संदर्भ में? क्या यह स्क्रिप्ट उपयोगकर्ता, व्यवस्थापक या किसी और के रूप में चलाई जाएगी?
Zoredache

क्या यह LAN, WAN या इंटरनेट के भीतर है?
जप्तो

मैं आरडीपी को इंटरनेट के लिए खुला छोड़ता हूं, इसलिए मुझे पता है कि आईपी क्या हैं और क्या नहीं हैं। मुझे यकीन नहीं है कि यह किसके तहत चलेगा, मुझे लगता है कि जो कुछ भी मुझे उस जानकारी को पुनः प्राप्त करने देता है।
चैज़

मैंने कुछ खोज की, और यह पोस्ट ( serverfault.com/questions/314386/listing-users-use-rdp ) आपकी जरूरत के हिसाब से बहुत करीब है। मैं इसे लक्षित / वापसी और आईपी बनाने के लिए
पॉवरशेल

वह घटना प्रकार और वह जानकारी जो मुझे अभी भी प्रदान करती है वह मुझे रिमोट आईपी नहीं देती है, निकटतम चीज जो मुझे इवेंट लॉग में दे रही है वह है 'COMPUTER'
chaz

जवाबों:


21

कमांड प्रॉम्प्ट से आप RDP (पोर्ट 3389) से कनेक्टेड दूरस्थ IP की सूची प्राप्त करने के लिए निम्न कमांड चला सकते हैं।

netstat -n | find ":3389" | find "ESTABLISHED"

मुझे यकीन है कि इसे पॉवरशेल में स्क्रिप्ट किया जा सकता है (या यहां तक ​​कि सिर्फ एक सादे पुराने बैच फ़ाइल में)। यदि आप रुचि रखते हैं तो मैं कल एक उदाहरण प्रदान कर सकता हूं।


इससे पहले कि यह बहुत प्रभावी ढंग से काम करता है, मैंने इसका उपयोग किया है, अब मुझे एक स्क्रिप्ट को ट्रिगर करने का एक तरीका खोजने की आवश्यकता है जब एक आरडीपी क्लाइंट कनेक्ट होता है।
chaz

12

ठीक है, मुझे पता चला कि task schedulerविंडोज़ के साथ आने वाला एप्लिकेशन उस जगह पर कॉन्फ़िगर करने योग्य है जहाँ मैं बैच स्क्रिप्ट चला सकता हूँ, जब इवेंट लॉग में कोई ईवेंट जनरेट होता है। UI के माध्यम से आप ईवेंट प्रकार, ईवेंट स्रोत और ईवेंट आईडी चुनते हैं, जिस स्थिति में मैंने 4264 का उपयोग किया था (और हां सभी लॉजिक प्रकारों को कैप्चर किया गया है)। यहाँ मैंने इसके बजाय एक साधारण बैच स्क्रिप्ट का उपयोग किया है:

SET logfile="rdp_ip_logs.log"
date /T>>%logfile%
time /T>>%logfile%
netstat -n | find ":3389" | find "ESTABLISHED">>%logfile%

इसके अलावा, मुझे .NET में सब्सक्राइब / सुनने के लिए यह एक सुपर उपयोगी उदाहरण मिला: .NET में http://msdn.microsoft.com/en-us/library/bb552514(v=vs.90).aspx I ' मैं वेब-आधारित परीक्षा के लिए डेटाबेस के लिए कुछ घटनाओं को लिखने के बजाय इसका उपयोग करने वाला हूं।

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


1
यह वास्तव में काफी सुरुचिपूर्ण समाधान है जब आप इसे एक साथ रखते हैं। मुझे वर्धित कार्य अनुसूचक कार्यक्षमता के बारे में पता नहीं था। अच्छा काम!
जॉन होमर

पुराने संस्करणों के अनुसूचक के लिए आप इसे बैच फ़ाइल और evtmon.vbs स्क्रिप्ट के साथ देख सकते हैं। blogs.technet.microsoft.com/netmon/2007/02/22/…/
स्कॉट आर

5

यदि आपको इसकी स्क्रिप्ट करने की आवश्यकता नहीं है, तो आप इवेंट ID 4624 के लिए सुरक्षा ईवेंट लॉग में देख सकते हैं। एक पंक्ति होगी:

स्रोत नेटवर्क पता: 192.168.xxx.xxx


4264 लॉगिन के लिए है और सक्रिय डोमेन नियंत्रक प्रकार लॉगिन को लॉग करने के लिए उपयोगी है। मुझे कनेक्ट आरडीपी क्लाइंट के वर्तमान आईपी की आवश्यकता है, जिसमें लॉग इन किया गया खाता अप्रासंगिक है और मेरा मानना ​​है कि नेटस्टैट के स्टडआउट को ग्रीप / पाइपिंग के माध्यम से संभवत: पुनर्प्राप्ति योग्य है। मेरा मतलब है कि अगर आरडीपी कनेक्ट पर शेल-कमांड / स्क्रिप्ट / प्रोग्राम को निष्पादित करने का एक तरीका है, तो यह बहुत अच्छा होगा।
2:23

वास्तव में 4624 (टाइपो) सही है, कई लॉगऑन प्रकार हैं जो उस ईवेंट आईडी पर दिखते हैं।
चैज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.