내 Active Directory의 특정 OU 사용자와 동적 그룹을 만들고 싶습니다. Exchange 동적 메일 그룹을 사용하여이 작업을 완벽하게 수행 할 수는 있지만 Ex DDL은 메일 전용입니다.
이것을 만들 수있는 방법이 있습니까? System Center를 사용하여이를 처리하는 몇 가지 안내서를 찾았지만 System Center는 옵션이 아닙니다.
미리 감사드립니다.
내 Active Directory의 특정 OU 사용자와 동적 그룹을 만들고 싶습니다. Exchange 동적 메일 그룹을 사용하여이 작업을 완벽하게 수행 할 수는 있지만 Ex DDL은 메일 전용입니다.
이것을 만들 수있는 방법이 있습니까? System Center를 사용하여이를 처리하는 몇 가지 안내서를 찾았지만 System Center는 옵션이 아닙니다.
미리 감사드립니다.
답변:
Active Directory에는 동적 보안 그룹과 같은 것이 없으며 동적 메일 그룹 만 있습니다.
이를 달성하기 위해 가장 실용적인 옵션은 주어진 OU에있는 사람을 결정하고 그에 따라 보안 그룹을 업데이트하는 Powershell 스크립트를 갖는 것입니다.
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
}
}
나는 내 자신의 질문에 대답하고 있습니다. Mathias의 PowerShell 아이디어로 인터넷에서 이것을 찾았습니다.
https://github.com/davegreen/shadowGroupSync
저자의 블로그 도구의 설계 및 동기에 대한 추가 정보가 포함됩니다.
이것은 Adaxes로 수행 할 수 있습니다. 기술적으로 사용자가 업데이트 / 이동되면 그룹 멤버쉽을 동적으로 업데이트합니다. 다음은 부서 속성을 기반으로 그룹 구성원을 자동으로 유지 관리하는 방법의 예이지만 OU를 기반으로 동일한 작업을 수행하도록 그룹을 수정하는 것은 매우 쉽습니다. http://www.adaxes.com/tutorials_AutomatingDailyTasks_AddUsersToGroupsByDepartment.htm
또한 Active Directory에서 동적 보안 그룹을 만드는 방법을 찾고 Mathias라는 결론에 도달했습니다. 내 솔루션은 그다지 우아하지 않았으므로 예약 된 powershell 스크립트를 사용하여 그룹에서 모든 사용자를 제거한 다음 OU의 사용자로 채 웁니다. 또한 하위 OU 그룹이 부모 OU 보안 그룹에 추가되었는지 확인했습니다.
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 명의 사용자 회사에서 몇 분만 사용합니다.
가장 쉬운 방법은 DynamicGroup을 사용하는 것입니다. http://www.firstattribute.com/en/active-directory/ad-automation/dynamic-groups/
Novell에서 Active Directory로 마이그레이션 한 후 다양한 환경에서 실행하고 있습니다.
OU 그룹, 부서 그룹 등을 자동으로 생성하는 소프트웨어입니다. 필터를 작성하면됩니다.
다른 회원이 남긴 진술서 도메인 컨트롤러에서이를 실행하지 않으면 $ domainController를 대체하여 정적 항목을 제공하거나 $ DomainController 다음에 $ DomainController를 추가하고 해당 정보를 전달해야합니다.
그룹에 사용자를 추가하려면
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를 전환하는 경우 가장 좋습니다.
$Users = Get-Aduser -Filter *
Foreach($user in $users)
{
RemoveUserToGroup "SomeGroup" $user.name "ServerName"
}