একটি ওইউর ব্যবহারকারীদের সাথে অ্যাক্টিভ ডিরেক্টরিতে ডায়নামিক গ্রুপ তৈরি করা


8

আমি আমার অ্যাক্টিভ ডিরেক্টরিতে নির্দিষ্ট OU থেকে ব্যবহারকারীদের সাথে একটি গতিশীল গোষ্ঠী তৈরি করতে চাই। এক্সচেঞ্জ ডায়নামিক ডিস্ট্রিবিউশন তালিকাটি ব্যবহার করে আমি এটি পুরোপুরি করতে পারি, তবে অবশ্যই প্রাক্তন ডিডিএল কেবলমাত্র মেলের জন্য।

এটি তৈরি করার কোনও উপায় আছে? এটি পরিচালনা করতে সিস্টেম সেন্টার ব্যবহার করে আমি কিছু গাইড পেয়েছি, কিন্তু সিস্টেম কেন্দ্রটি বিকল্প নয়।

আগাম ধন্যবাদ,

উত্তর:


11

অ্যাক্টিভ ডিরেক্টরিতে ডায়নামিক সিকিউরিটি গ্রুপের মতো কিছুই নেই, কেবল ডায়নামিক ডিস্ট্রিবিউশন গ্রুপ।

এটি সম্পাদন করার জন্য, আমি মনে করি যে সবচেয়ে কার্যকর বিকল্পটি হ'ল একটি পাওয়ারশেল স্ক্রিপ্ট দেওয়া হবে প্রদত্ত OU এ কারা আছেন তা নির্ধারণ করা এবং সেই অনুযায়ী সুরক্ষা গোষ্ঠীটি আপডেট করা, সম্ভবত এটির মতো:

Import-Module ActiveDirectory
$groupname = PseudoDynamicGroup
$users = Get-ADUser -Filter * -SearchBase "ou=desiredUsers,dc=domain,dc=tld"
foreach($user in $users)
{
  Add-ADGroupMember -Identity $groupname -Member $user.samaccountname -ErrorAction SilentlyContinue
}
$members = Get-ADGroupMember -Identity $groupname
foreach($member in $members)
{
  if($member.distinguishedname -notlike "*ou=desiredUsers,dc=domain,dc=tld*")
  {
    Remove-ADGroupMember -Identity $groupname -Member $member.samaccountname
  }
}

+1 আমার এডি গ্রুপগুলি আপ-টু-ডেট রয়েছে তা নিশ্চিত করার জন্য আমি কি নিয়মিত আমার অ্যাক্টিভ ডিরেক্টরিতে এ জাতীয় স্ক্রিপ্ট চালাতে পারি? অথবা হতে পারে কোনওভাবে কিছু ইভেন্ট সিস্টেমে সাবস্ক্রাইব করবেন? আমি একজন বিকাশকারী প্রশাসক নই তবে আমি প্রশাসক এবং আমার ব্যবস্থাপককে প্রভাবিত করতে পারি
Mzn

আমি প্রথমে অপসারণ করতাম, কেবল এটি ব্যবহারকারীর অবজেক্টগুলি যাচাই করে না (কেবলমাত্র যোগ করা হয়েছে)
xXhRQ8sD2L7Z

4

আমি আমার নিজের প্রশ্নের উত্তর দিচ্ছি। ম্যাথিয়াসের পাওয়ারশেল ধারণার সাথে আমি এটি ইন্টারনেটে খুঁজে পেয়েছি:

https://github.com/davegreen/shadowGroupSync

বৈশিষ্ট্য

  • এক বা একাধিক OU থেকে একক গোষ্ঠীতে ব্যবহারকারী বা কম্পিউটার অবজেক্ট সিঙ্ক করুন।
  • পাওয়ারশেল অ্যাক্টিভ ডিরেক্টরি ফিল্টার ব্যবহার করে ছায়া গোষ্ঠীতে অন্তর্ভুক্ত অবজেক্টগুলিকে ফিল্টার করার ক্ষমতা।
  • ছায়া গোষ্ঠী প্রকার (সুরক্ষা / বিতরণ) চয়ন করার ক্ষমতা।

লেখক এর ব্লগ নকশা এবং সরঞ্জাম জন্য উদ্দেশ্য সম্পর্কে অতিরিক্ত তথ্য উপস্থিত রয়েছে।


1
যদি ম্যাথিয়াসই হ'ল তিনি আপনাকে সাহায্য করেছিলেন, তবে আপনার উত্তরটি গ্রহণ করা উচিত। তিনি আপনাকে অন্তর্দৃষ্টি দিন!
Mzn

3

এটি অ্যাডেক্সেস দিয়ে করা যেতে পারে। ব্যবহারকারীগণ আপডেট / সরানো হয়ে গেলে প্রযুক্তিগতভাবে এটি গোষ্ঠী সদস্যতার আপডেট করবে। এখানে বিভাগের বৈশিষ্ট্যের উপর ভিত্তি করে কীভাবে স্বয়ংক্রিয়ভাবে গ্রুপ সদস্যপদ বজায় রাখা যায় তার একটি উদাহরণ এখানে রয়েছে তবে ওইউর ভিত্তিতে একই জিনিসটি করার জন্য এটি পরিবর্তন করা খুব সহজ। http://www.adaxes.com/tutorials_AutomatingDailyTasks_AddUsersToGroupsByDepartment.htm


1

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

import-module ActiveDirectory
Get-ADGroupMember OU_GroupName | % { Remove-ADGroupMember 'OU_GroupName' -Members $_ -Confirm:$false}
Get-ADUser -SearchBase 'OU=OUName,OU=ParentOUName,DC=DomainName,DC=TopDomainName' -Searchscope 1 -Filter * | % { Add-ADGroupMember 'OU_GroupName' -Members $_ }
Add-ADGroupMember -Identity "OU_ParentName" -Members "OU_ChildOneName", "OU_ChildTwoName", "OU_ChildThreeName"

এটি কোনও বড় সংস্থায় ভালভাবে স্কেল করে কিনা তা নিশ্চিত নয় তবে স্ক্রিপ্টটি আমাদের 300 ব্যবহারকারী সংস্থায় কেবল কয়েক মিনিট ব্যবহার করে।


একটি ব্যবহারিক ভ্যানটেজ পয়েন্ট থেকে, আপনার সমাধান ঠিক আছে (কয়েকশ ব্যবহারকারীর জন্য)। তবে, সমস্ত প্রথম যুক্ত করে (এবং সদৃশগুলির জন্য সতর্কতা / ত্রুটিগুলি দমন করে) এবং তারপরে কেবল অ-মিলগুলি সরিয়ে, আপনি 1) এডি অবজেক্টের গুণাবলী আপডেটের সংখ্যা হ্রাস করুন এবং 2) কারওর দ্বারা সুরক্ষা প্রমাণীকরণ এবং নিখোঁজ হওয়ার ঝুঁকি তাদের টোকেনে গ্রুপ করুন, আপনার স্ক্রিপ্টটি চলাকালীন কি অনলাইনে আসবে?
ম্যাথিয়াস আর জেসেন

1

ডায়ামিকগ্রুপ ব্যবহার করা সবচেয়ে সহজ উপায় use http://www.firstattribute.com/en/active-directory/ad-automation/dynamic-groups/

নভেল থেকে অ্যাক্টিভ ডিরেক্টরিতে স্থানান্তরিত হওয়ার পরে আমরা এটি বিভিন্ন পরিবেশে চালাচ্ছি।

এটি একটি সফ্টওয়্যার যা স্বয়ংক্রিয়ভাবে OU গ্রুপ, বিভাগের গ্রুপগুলি তৈরি করে software কেবল ফিল্টার তৈরি করুন এবং এটিই।


0

অন্য একজন সদস্যের বয়ান থেকে। আপনি যদি এটি কোনও ডোমেন নিয়ন্ত্রক থেকে চালনা না করেন তবে আপনাকে either ডোমেনকন্ট্রোলার প্রতিস্থাপন করে একটি স্ট্যাটিক এন্ট্রি সরবরাহ করতে হবে অথবা আপনি add ডোমেনকন্ট্রোলার অনুসরণ করে অন্যটি যুক্ত করতে পারেন এবং সেই তথ্যটি পাস করতে পারেন।

একটি গ্রুপে একটি ব্যবহারকারী যুক্ত করতে

Function AddUserToGroup($Group, $User, $DomainController)
{
 if(!(Get-ADGroupMember -Identity $group | ?{$_.name -eq $User}))
 {
  Add-ADGroupMember -Identity $group -Members $User -Server $DomainController
 }
 else
 {
  return  "The user: $User is already in the $group"
 }
}

কোনও ব্যবহারকারীকে সরাতে আপনি একই কাজ করতে পারেন।

Function RemoveUserFromGroup($Group, $User, $DomainController)
{
 if((Get-ADGroupMember -Identity $group | ?{$_.name -eq $User}))
 {
  Remove-ADGroupMember -Identity $group -Members $User -Server $DomainController
 }
 else
 {
  return "The user: $User is not a member of $group"
 }
}

এখন এটি ব্যবহার করতে আপনি এটি করতে পারেন ...

$Users = Get-Aduser -Filter *
Foreach($user in $users)
{
  AddUserToGroup "SomeGroup" $user.name "ServerName"  
}

অথবা

কোনও প্রতিবন্ধী ব্যবহারকারীদের OU বা এটি স্থান পেতে পারে এমন কিছু বা আপনি যদি OU এর যেমন সাইট বা গোষ্ঠী পরিবর্তন করেন তবে সবচেয়ে ভাল হবে best

$Users = Get-Aduser -Filter * 
Foreach($user in $users)
{
  RemoveUserToGroup "SomeGroup" $user.name "ServerName"  
}

এই প্রতিক্রিয়াটি কোনও উদ্দেশ্য করে না এবং প্রশ্নের কোনও মূল্য দেয় না। ফাংশনগুলি অদক্ষ এবং কোনও সহজাত মান সরবরাহ করে না; উভয় ক্রিয়া এবং ৪। দ্বিতীয় ফাংশনটি ব্যবহারকারীদের অপসারণের পরিবর্তে একটি গ্রুপে যুক্ত করে। 6 বছর আগে গৃহীত উত্তর সঠিক, সম্পূর্ণ এবং কার্যকরী। অতিরিক্ত কোনও উত্তরের প্রয়োজন হওয়ার কোনও কারণ আমি দেখছি না।
সেমিকোলন

আপনি জিলিওট! এটি আপনি কেবল সংকীর্ণ

আরেকটা জিনিস. আমার সংগঠনে 5000 এরও বেশি ব্যবহারকারীদের সাথে আমার এই হুবহু স্ক্রিপ্ট রয়েছে এবং এটি ঠিক কাজ করে। আপনাকে কেবল ফাংশনটির তথ্য সরবরাহ করতে হবে। এছাড়াও নোট করুন, আমরা একটি টাস্ক ডিসি-তে ট্রিগার করেছি যেখানে এটি একটি ট্রিগারযুক্ত ইভেন্টটি চালায় যখন কোনও নতুন ব্যবহারকারী তৈরি করা বা অক্ষম করা হয়। দয়া করে, বাক্সের বাইরে ভাবেন ................

। ডোমেনকন্ট্রোলার অপরিজ্ঞাত। আপনার "অপসারণ ব্যবহারকারী থেকে ক্রম" গোষ্ঠীটি "অ্যাড-অ্যাডগ্রুপমেম্বার" সেমিডলেট ব্যবহার করে। আপনার "সরান" (যদি অপসারণ-ADGroupMember সেমিডলেটটি কেবলমাত্র একটি টাইপ ব্যবহৃত হত) ব্যবহারকারী যদি গ্রুপে না থাকে কেবল তখনই কাজ করে। এমনকি আপনি নির্দিষ্ট OU থেকে ব্যবহারকারীদের প্রাপ্তির কাজটি দূরবর্তী অবস্থান থেকেও উল্লেখ করেন না। সর্বোপরি, এটি একটি প্রয়োজন-কাজের আংশিক সমাধান - যখন একটি সম্পূর্ণ সমাধান ইতিমধ্যে জমা দেওয়া হয়েছিল এবং গৃহীত হয়েছিল।
সেমিকোলন

আশ্চর্য, আমি দেখছি আপনি কী সম্পর্কে কথা বলছিলেন। LOL - আমি কেবল উপরেরটি অনুলিপি করেছি এবং এটি নীচে আটকিয়েছি। আমি তখন থেকে এটিকে সংশোধন করেছি ... this এই ব্যবহারকারী কোনও ডিসি থেকে স্ক্রিপ্টটি চালনা না করে সেক্ষেত্রে ডোমেনকন্ট্রোলারকে সেখানে রাখা হয়েছিল। আবার, ব্যবহারকারী এবং গোষ্ঠী সরবরাহ করা হয়। আপনি চাইলে আপনি একটি সরল গেট-এডিউজার-ফিল্টার * চালাতে পারেন তবে এটি মুডান বলে মনে হচ্ছে ... কেবলমাত্র ডিসি ইভেন্টের লগগুলি পড়ে প্রতিটি ব্যবহারকারীর মাধ্যমে সাইকেল চালানোর পরিবর্তে নতুন ব্যবহারকারীকে টানাই ভাল। তবে ওহে, বিড়ালের চামড়ার একাধিক উপায় রয়েছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.