অ্যাক্টিভ ডিরেক্টরিতে লক আউট অ্যাকাউন্টগুলি সন্ধান করুন (এমন উপায় যা আসলে কাজ করে!)


8

আমি কীভাবে লক আউট অ্যাকাউন্টগুলি তালিকাভুক্ত করব এবং এখন পর্যন্ত দুটি পদ্ধতি খুঁজে পেয়েছি তা উভয়ই কার্যকর করে না ...

সংরক্ষিত ক্যোয়ারী - (&(&(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))))

বেশ কয়েকটি অ্যাকাউন্ট তালিকাভুক্ত করে যার মধ্যে অনেকগুলি লক আউট হয় না। আমি যদি জানার মতো ঘটতে থাকে এমন কোনওটি যদি আমি লক আউট করে থাকি তবে এটি এখনও ক্যোয়ারী দ্বারা ফিরে আসে।

পাওয়ারশেল কমান্ড - Search-ADAccount -LockedOut

কিছুই করে না।

হয় হয় - আমি কিছু ভুল করছি? বা - এমন কোনও পদ্ধতি আছে যা বাস্তবে কাজ করে?


কেবলমাত্র একটি ছোট নোট: AD PowerShell মডিউলটিতে অন্তর্ভুক্ত কমান্ড সহ ডোমেন পরিচালনা করতে (অনুসন্ধান-ADAccount কমান্ডলেট ব্যবহার সহ) আপনার অ্যাক্টিভ ডিরেক্টরি ওয়েব পরিষেবাদি (ADWS) পরিষেবা থাকা উচিত এই ডোমেনে কমপক্ষে একটি ডোমেন নিয়ামককে ইনস্টল করা উচিত। তবে আমি অনুমান করি যে এটি কোনও সমস্যা নয় কারণ আপনি যদি ADWS উদাহরণ না রাখেন তবে আপনি এ সম্পর্কে আপনাকে অবহিত করার সময় ত্রুটি বার্তা পাবেন।
মিখাইল

উত্তর:


11

আমি অগত্যা বিশ্বাস করব না 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সর্বোত্তম সমাধানের দিকে এগিয়ে চলেছে, তবে এটি গল্পের একমাত্র অংশ। অতীতে যে লকআউটটাইমটি $ (আপনার ডোমেন লকআউট সময়কাল) মিনিটের চেয়ে বেশি তার মধ্যে কেবলমাত্র সেই ব্যবহারকারীদেরই অন্তর্ভুক্ত করতে আপনাকে তালিকাটি আরও নিচে ফিল্টার করতে হবে।


আমি যখন userAccountControlবিটটি বৈধ হওয়া বন্ধ করে দিয়েছিলাম তখন ডকুমেন্টেশন খুঁজতে আগ্রহী হতে চলেছি । এটি অতীতে ভাল কাজ করেছে, যদি স্মৃতিটি পরিবেশন করে। এডি কোডটির পরবর্তী সংস্করণে কার্যকারিতাটি সরানো হয়েছে কিনা তা আমাকে অবাক করে দেয়। হুম ...
ইভান অ্যান্ডারসন

ঠিক আছে, আমি কর্তৃপক্ষের কাছে আবেদন জানাতে ঘৃণা করি, তবে রিচার্ড মোলার বলেছেন যে এটি উইন্ডোজ ২০০০ সাল থেকে কাজ করেনি।
রায়ান রাইস

আমি সন্দেহ করি যে উইন্ডোজ এনটি ৪.০ ডোমেন কন্ট্রোলার উপস্থিত থাকলে এটি উইন্ডোজ ২০০০ এ কাজ করে, কারণ এসএএম রয়েছে এমন ডিসিগুলির প্রতিরূপকরণের জন্য এটি উপস্থিত হওয়া দরকার। আমার আর এনটি 4.0 এর জন্য পরীক্ষার পরিবেশ নেই (আমি সেই সমস্ত পুরানো ভিএমগুলি মুছে ফেলেছি) তবে আমি অবশ্যই এটি চেষ্টা করে যাচ্ছি। সেখানে হবে আছে স্যাম শুধুমাত্র ডিসি জন্য একটি উপায় অ্যাকাউন্ট lockout-- একমাত্র উপায় যে আমি এটা দেখতে পারেন কাজ যে সচেতন হতে পাবে যাবে।
ইভান অ্যান্ডারসন

@ এভেনএন্ডারসন আমি আপনার গবেষণাকে আন্তরিকভাবে সমর্থন করি এবং উত্সাহের সাথে আপনার পরীক্ষার ফলাফলের জন্য অপেক্ষা করি। :)
রায়ান রেইস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.