কীভাবে সক্রিয় ডিরেক্টরি ব্যবহারকারীদের "সদস্য" ট্যাবটির একটি বিশদ তালিকা রপ্তানি করবেন?


8

আমি বর্তমানে যে সংস্থার জন্য কাজ করছি তার সক্রিয় ডিরেক্টরি ব্যবহারকারী তালিকার পুনর্গঠনের প্রক্রিয়াতে রয়েছি এবং যে ব্যক্তি এটি করেছে সে একটি ভয়াবহ কাজ করেছে এবং অবশ্যই তিনি এখানে আর কাজ করছেন না।

আমার প্রশ্নটি নিম্নলিখিত: আমি একটি ব্যবহারকারীর চার্টের "সদস্যের" ট্যাবে থাকা সমস্ত তথ্য সম্বলিত একটি এক্সেল স্প্রেডশিট (আদর্শভাবে) রাখতে চাই।

আমি একটি ক্যোয়ারী তৈরি করার চেষ্টা করেছি, তবে ফলাফলটি কেবলমাত্র এমন ব্যবহারকারীদের একটি তালিকা দেয় যা "সদস্যের" ট্যাবটির প্রকৃত সামগ্রী নয়, কোনও কিছুর "সদস্য"।

কমান্ড প্রম্পটের মাধ্যমে বা সরাসরি অ্যাক্টিভ ডিরেক্টরি থেকে এটি করার কোনও উপায় আছে কি?

সুষ্ঠু সতর্কতা: আমি ভিবিএস এবং পাওয়ারশেল সম্পর্কে কিছুই জানি না।

উত্তর:


7

আপনি যদি কোনও ব্যবহারকারীর গ্রুপ সদস্যতা পেতে চান তবে এই পাওয়ারশেল কমান্ডটি চালান :

Get-ADPrincipalGroupMembership $Username | Select Name | out-file "filepath" আপনি যে নথিকে দস্তাবেজ চান তার নাম সহ যেখানে নথিটি সংরক্ষণ করতে চান

$Usernameআপনি জিজ্ঞাসা করছেন ব্যবহারকারীর নাম কোথায় ?


আইএমও এটি কাজের সঠিক হাতিয়ার।
বধ করুন

3

আমার কাছে এটি রয়েছে, এটি কোনও সিএসভিতে ফেলে দেওয়ার জন্য আপনার পাওয়ারশেলটি কিছুটা শিখতে হবে, এখনই এটি কেবল একটি পাঠ্য ফাইলে ডাম্প করে।

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
    $file = $user.Name + '_ACL'        
    (Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Out-File c:\PSResults\$file.txt
    }

আমি কখনই সিএসভি আউটপুটটির জন্য এটি কাজ করার জন্য সময় নিইনি কারণ এটি আমার যা প্রয়োজন তা করেছে।

- আপনি যদি এটি কোনও সিএসভিতে রফতানি করতে চান তবে আউট-ফাইলের পাথটি যেখানে আপনি এটি সংরক্ষণ করতে চান সেদিকে পরিবর্তন করুন, এবং ডকুমেন্ট.সিএসভি-র নাম, উদাহরণস্বরূপ, আউট-ফাইল সি: \ PSResults \ .c file.csv CS ফাইল নামে একটি CSV রফতানি করবে


সবেমাত্র দেখেছে যে জোশ আর আমাকে এতে মারধর করেছেন। তাঁর পাশাপাশি সহজ।
মর্টেনিয়া

1
তবে, আপনার পাওয়ারশেলের নিম্ন সংস্করণে কাজ করবে।
জোশ

সত্য, আমার গ্রুপে স্ক্রিপ্টগুলি ভাগ করার সময় আমাকে তা মনে রাখতে হয়েছিল, যেমন আমি পাওয়ারশেলের অভিজ্ঞতার সাথে একমাত্র এবং
এইমাত্র

এখন যেহেতু আমি এটি সম্পর্কে চিন্তা করি, আমি বিশ্বাস করি Get-ADPrincipalGroupMembership২.০-এ রয়েছে। আমি কী ভাবছিলাম তা নিশ্চিত নয়।
জোশ

উত্তরের জন্য আপনাকে উভয় ধন্যবাদ। আমি কাজ করার সময় আগামীকাল জোশ আর এর একটি চেষ্টা করব, যেহেতু এটি দেখতে অনেক সহজ দেখাচ্ছে। আমি ভুল বোঝাবুঝি না হলে আমাকে আমার ডোমেনের প্রতিটি ব্যবহারকারীর জন্য এই কোয়েরিটি তৈরি করতে হবে? বা যদি আমি মর্টেনিয়ার একটি ব্যবহার করি তবে এটি প্রথমবারের মতো একটি সম্পূর্ণ তালিকা তৈরি করবে? শুধু আমি সঠিকভাবে বুঝতে পেরেছি তা নিশ্চিত করতে চাই! :)

1

আপনি এই ক্যোয়ারির স্ট্রিংয়ে প্রবেশকারী "AD ব্যবহারকারী এবং কম্পিউটার" এ থাকা আপনার ব্যবহারকারীদের OU- র জন্য প্রয়োগ করা একটি নতুন ক্যোয়ারী তৈরি এবং সংজ্ঞায়িত করতে পারেন:

(&(&(&(&(objectCategory=user)(userAccountControl=512)))))

তারপরে AD উইন্ডোটির শীর্ষে "রফতানি তালিকা" ব্যবহার করে সিএসভিতে ফলাফল রফতানি করুন।


0

একটি CSV- এ ফাইলটি পেতে, কেবল আপনার কোডের "এক্সপোর্ট-সিএসভি -পথ সি: \ PSResults \ $ file.csv -NTypeInformation" দিয়ে আপনার কোডে "আউট-ফাইল সি: \ PSResults \। File.txt" প্রতিস্থাপন করুন "

সুতরাং এটি কিছু দেখতে হবে:

$users = Get-ADUser -Filter * -Properties * -SearchBase "OU=something,DC=domain,DC=net"
foreach ($user in $users) {
$file = $user.Name + '_ACL'        
(Get-ADUser –Identity $user –Properties MemberOf).MemberOf -replace '^CN=([^,]+),OU=.+$','$1' | Export-CSV -path c:\PSResults\$file.csv -NoTypeInformation
}

তবে অন্যরা ইতিমধ্যে যেমন পোস্ট করেছে, নীচেরটি ব্যবহার করা সবচেয়ে ভাল কারণ এটি একটি সহজ লাইনার:

Get-ADPrincipalGroupMembership USERNAME | Select Name | Export-CSV -path C:\Temp\file.csv -NoTypeInformation

নেস্টেড গ্রুপের ছেলেরা থাকলে এটি কাজ করবে না .. যেমন একজন ব্যবহারকারী 20 টি গ্রুপের সদস্য হিসাবে এটি প্রদর্শিত হবে না
user420934
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.