আমি অগত্যা বিশ্বাস করব না Get-ADUser -LDAPFilter "(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))" -Properties LockedOut
, কারণ এটি আমার পক্ষে নির্ভরযোগ্য ফলাফলও ফিরিয়ে দিচ্ছে না, তবে তারপরে, আমি এই মুহুর্তে আমার পিডিসিতে সরাসরি যোগাযোগ করতে পারিনি। সেরা ফলাফলের জন্য, আপনি সরাসরি আপনার পিডিসি-এমুলেটরকে লক্ষ্য করতে চাইবেন কারণ এটির ডোমেন জুড়ে অ্যাকাউন্ট লকআউটে সর্বদা সর্বশেষতম তথ্য থাকে।
আপনি এখানে সাক্ষ্য দিচ্ছেন তা হ'ল প্রতিলিপিটি বিলম্ব:
... অ্যাকাউন্ট লকআউটটি জরুরিভাবে প্রাথমিক ডোমেন কন্ট্রোলার (পিডিসি) এমুলেটর ভূমিকার মালিকের কাছে প্রতিলিপি করা হয় এবং তারপরে জরুরিভাবে নিম্নলিখিতটিতে প্রতিলিপি করা হয়:
The PDC এমুলেটর হিসাবে একই সাইটে অবস্থিত একই ডোমেনের ডোমেন নিয়ন্ত্রক।
Lock অ্যাকাউন্ট লকআউট পরিচালনা করে এমন ডোমেন নিয়ামক হিসাবে একই সাইটে অবস্থিত একই ডোমেনে ডোমেন নিয়ন্ত্রক।
The পিডিসি এমুলেটর রয়েছে এমন সাইটের সাথে বা অ্যাকাউন্ট লকআউট পরিচালনা করা সাইটের সাথে সাইটগুলির মধ্যে বিজ্ঞপ্তি পরিবর্তনের অনুমতি দেওয়ার জন্য কনফিগার করা সাইটগুলিতে অবস্থিত একই ডোমেনের ডোমেন নিয়ন্ত্রক। এই সাইটগুলিতে PDC এমুলেটর রয়েছে এমন সাইট হিসাবে একই সাইট লিঙ্কে বা অ্যাকাউন্ট লকআউট পরিচালনা করে এমন ডোমেন নিয়ামক সমন্বিত সাইট হিসাবে একই সাইটের লিঙ্কে যে কোনও সাইট অন্তর্ভুক্ত রয়েছে।
তদ্ব্যতীত, যখন PDC এমুলেটর ব্যতীত অন্য কোনও ডোমেন কন্ট্রোলারে প্রমাণীকরণ ব্যর্থ হয়, পিডিসি এমুলেটরটিতে প্রমাণীকরণ পুনরায় চেষ্টা করা হয়। এই কারণে, পিডিসি এমুলেটরটি ডোমেন নিয়ামকের আগে অ্যাকাউন্টটি লক করে যা ব্যাড-পাসওয়ার্ড-প্রচেষ্টা থ্রেশহোল্ডে পৌঁছে গেলে ব্যর্থ-পাসওয়ার্ড প্রচেষ্টা পরিচালনা করে। পিডিসি এমুলেটর ভূমিকার মালিক কীভাবে পাসওয়ার্ড পরিবর্তন এবং অ্যাকাউন্ট লকআউট পরিচালনা করে সে সম্পর্কে আরও তথ্যের জন্য এই বইটিতে "নমনীয় একক-মাস্টার অপারেশন পরিচালনা" দেখুন।
সুতরাং চেষ্টা করুন Search-ADAccount -LockedOut -Server DC-PDCE
এবং দেখুন আপনার ফলাফলগুলি আরও ভাল কিনা।
এছাড়াও, লকআউটটাইম বৈশিষ্ট্যটির চারপাশে অনুসন্ধানগুলি তৈরি করার সময় এখানে আরও কিছু বিবেচনা করার বিষয় রয়েছে:
অ্যাকাউন্টটি সফলভাবে লগইন করা হলে এই বৈশিষ্ট্যটির মানটি পুনরায় সেট করা হয়। এর অর্থ এই মানটি শূন্য নয়, তবুও অ্যাকাউন্টটি লক আউট হয় না। অ্যাকাউন্টটি লক আউট হয়েছে কিনা তা সঠিকভাবে নির্ধারণ করার জন্য, আপনাকে অবশ্যই এই সময়ের মধ্যে লকআউট-সময়কাল যুক্ত করতে হবে এবং ফলাফলকে বর্তমান সময়ের সাথে তুলনা করতে হবে, স্থানীয় সময় অঞ্চল এবং দিবালোকের সঞ্চয় সময়গুলির জন্য অ্যাকাউন্টিং।
সম্পাদনা করুন: বিপরীত ইঞ্জিনিয়ারিংয়ের মাধ্যমে Microsoft.ActiveDirectory.Management.dll
, আমি আপনাকে বলতে পারি যে Search-ADAccount -LockedOut
, যা আমার কাছে বেশ নির্ভরযোগ্য ফলাফল তৈরি বলে মনে হয়, নিম্নলিখিত কোডটি চালায়:
else if ((bool) this._paramSet.LockedOut)
{
list.Add(ADAccountFactory<ADAccount>.AttributeTable[cmdletSessionInfo.ConnectedADServerType]["AccountLockoutTime"].InvokeToSearcherConverter(ADOPathUtil.CreateFilterClause(ADOperator.Ge, "AccountLockoutTime", (object) 1), cmdletSessionInfo));
this.OutputFilterFunction = new ADGetCmdletBase<SearchADAccountParameterSet, ADAccountFactory<ADAccount>, ADAccount>.OutputFilterDelegate(this.FilterIsLockedOut);
}
if (list.Count > 0)
this.OutputSearchResults(list.Count != 1 ? ADOPathUtil.CreateAndClause(list.ToArray()) : list[0]);
else
this.OutputSearchResults((IADOPathNode) null);
সুতরাং দেখা যাচ্ছে যে Search-ADAccount -LockedOut
অ্যাকাউন্টলকআউটটাইম বৈশিষ্ট্যটিও খুব তাকাচ্ছেন!
মহান ন্যায়বিচারের জন্য আরও কিছু সম্পাদনা করুন: রিচার্ড মোলার, দির। পরিষেবাদি এমভিপি, এটি বলে:
লক আউট থাকা ব্যবহারকারীদের সনাক্ত করতে আপনি ব্যবহারকারীর অ্যাকাউন্টসন্ট্রোল বৈশিষ্ট্যটি ব্যবহার করতে পারবেন না। এর জন্য ব্যবহারকারীর একাউন্টকন্ট্রোল ডকুমেন্টেড রয়েছে, তবে এটি ব্যবহৃত হয় না।
আমি এইভাবে এটি যাচাই করতে পারি:
PS C:\Users\ryan> $(Search-ADAccount -LockedOut).Count
11
PS C:\Users\ryan> $(Get-ADUser -LDAPFilter "(&(objectCategory=User)(userAccountControl:1.2.840.113556.1.4.803:=16))").Count
0
পরিশেষে, আমি এই ব্লগের পোস্টটিতে শেষ করতে চাই , যা ব্যাখ্যা করে যে কেন lockoutTime>=1
সর্বোত্তম সমাধানের দিকে এগিয়ে চলেছে, তবে এটি গল্পের একমাত্র অংশ। অতীতে যে লকআউটটাইমটি $ (আপনার ডোমেন লকআউট সময়কাল) মিনিটের চেয়ে বেশি তার মধ্যে কেবলমাত্র সেই ব্যবহারকারীদেরই অন্তর্ভুক্ত করতে আপনাকে তালিকাটি আরও নিচে ফিল্টার করতে হবে।