जवाबों:
पोस्टीरिटी के लिए, dsquery को इस तरह की खोज के लिए डिज़ाइन किया गया है। AD एक 'जब क्रिएट' फ़ील्ड रखता है, जो आपकी पसंद के टूल के साथ खोज करना आसान बनाता है।
dsquery * -filter "(जब उपलब्ध> = 20101022083730.0Z)"
उदाहरण के तौर पे। अब आप 90 दिनों के आधार पर समय-समय पर कार्यक्रम बना सकते हैं।
पिछले 30 दिनों में बनाए गए उपयोगकर्ताओं को खींचने के लिए निम्नलिखित प्रयास करें।
Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date}
ऊपर दिखाए गए पॉवर्सशेल संस्करण का एक विकल्प, यह बहुत अधिक कुशल है, क्योंकि यह सभी उपयोगकर्ताओं को फ़िल्टर करने से पहले मेमोरी में लोड नहीं करता है (आपको सीधे गेट-एडीसर सेमीडेट पर फ़िल्टर करना चाहिए और कहां-ऑब्जेक्ट का उपयोग नहीं करना चाहिए):
$now = ((Get-Date).AddDays(-90)).Date
Get-ADUser -Filter {whenCreated -ge $now}
AD के लिए PowerShell और क्वेस्ट ActiveRoles टूल का उपयोग करना (यहां पाया गया - http://www.quest.com/powershell/activeroles-server.aspx ),
Get-QADUser -CreatedAfter (Get-Date).AddDays(-90)
आपको कंसोल पर आउटपुट देगा या जहाँ आप पिछले 90 दिनों में बनाए गए सभी उपयोगकर्ताओं को पुनर्निर्देशित करेंगे।
निर्माण तिथि द्वारा क्रमबद्ध सभी विज्ञापन खातों को पुनः प्राप्त करने वाले किसी अन्य व्यक्ति की साइट से एक उदाहरण है:
http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html
आप सक्रिय निर्देशिका से प्रत्येक खाते के लिए निर्माण तिथि प्राप्त कर सकते हैं। प्रत्येक AD ऑब्जेक्ट में एक WhCreated और WhenChanged विशेषता होती है। आप इन विशेषताओं को LDIFDE उपयोगिता का उपयोग करके एक फ्लैट फ़ाइल में डंप कर सकते हैं, या आप CSVDE (दोनों उपयोगिताओं विंडोज 2000 के साथ आते हैं) का उपयोग करके उन्हें कॉमा-सीमांकित फ़ाइल में डंप कर सकते हैं।
यहाँ एक ओयूयू में फीनिक्स नामक कंपनी में उपयोगकर्ता ऑब्जेक्ट के लिए दो विशेषताओं को डंप करने के लिए सिंटैक्स को कंपनी डॉट कॉम नामक डोमेन में देखने के लिए कंसोल में रखा गया है (संपूर्ण प्रविष्टि को एक पंक्ति के रूप में टाइप किया जाना चाहिए):
ldifde -d ou = phoenix, dc = company, dc = com -l whencreated, whenchanged -p onelevel -r "(ObjectCategory = user)" -f con
यदि आप डंप को एक फ़ाइल में सहेजना चाहते हैं, तो -f स्विच को कोन से फ़ाइल नाम में बदलें।
अंतिम लॉगऑन टाइमस्टैम्प इस प्रारूप का उपयोग करता है: YYYYMMDDHHMMSS, यूनिवर्सल कोऑर्डिनेटेड टाइम में दिखाए गए घंटे के साथ। 20040115182937.0Z का एक टाइम स्टैम्प 15 जनवरी 2004 18:29:37 UCT से मेल खाता है।
USRSTAT धीमा है, और आपके द्वारा प्राप्त की जाने वाली रिपोर्ट को LDIFDE डंप के साथ विलय करना होगा। इसलिए, मैंने एक स्क्रिप्ट को एक साथ रखा है जो प्रत्येक डोमेन नियंत्रक पर उपयोगकर्ता वस्तुओं को खोजता है, फिर स्थानीय लॉगऑन समय और निर्माण समय को सूचीबद्ध करता है। उपयोगकर्ता लॉगऑन टाइमस्टैम्प को एक लंबे पूर्णांक से रूपांतरण की आवश्यकता होती है। मैंने उधार लिया कोड रिचर्ड एल। म्यूएलर (www.rlmueller.net/Programs) से आता है। रिचर्ड की पूरी स्क्रिप्ट भी स्थानीय समय क्षेत्र को रजिस्ट्री से लेती है और यूसीटी से स्थानीय समय में परिवर्तित करती है। गंधा
वास्तव में ये सभी उत्तर एक विशाल उत्पादन AD वातावरण के लिए काम नहीं करने वाले हैं।
इसका उत्तर DirSync का उपयोग करना है: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window
यहाँ इसका एक जावा कार्यान्वयन है: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDadSyncControl.html
मूल रूप से आप लगातार एक वृद्धिशील टोकन के आधार पर परिवर्तनों के लिए AD पूछते हैं।
"(&(objectClass=user)(whenCreated>=20101022083730.0Z))"
कंप्यूटर और अन्य वस्तुओं को फ़िल्टर करने के लिए उपयोग करना चाह सकता है ।