ADUC(Active Directory 사용자 및 컴퓨터) 그래픽 스냅인은 Active Directory에서 보안 그룹을 관리하기 위한 유일한 도구가 아닙니다. Active Directory 도메인의 사용자 그룹을 일상적으로 관리하기 위해 간단한 PowerShell 명령을 사용할 수 있습니다. 이 기사에서는 PowerShell을 사용하여 AD에서 새 그룹을 만들고, 그룹에 사용자를 추가(또는 삭제)하고, 그룹 사용자 목록을 표시/내보내고, AD를 관리할 때 자주 사용되는 기타 유용한 명령을 살펴봅니다. 여러 떼.
AD 그룹을 관리하기 위해 Windows PowerShell용 Active Directory 모듈을 사용할 수 있습니다. RSAT-AD-PowerShell 모듈은 Windows Server의 모든 버전(Windows Server 2008R2부터)에서 사용할 수 있으며 Windows 10 및 Windows 11 데스크톱에서 RSAT 기능으로 설치할 수 있습니다.
AD 모듈이 현재 PowerShell 세션에 로드되었는지 확인:
Get-Module -Listavailable
보시다시피 ActiveDirectory 모듈이 로드됩니다. 그렇지 않은 경우 다음 명령을 사용하여 가져옵니다.
Import-Module ActiveDirectory
AD 그룹을 관리할 수 있는 PowerShell cmdlet을 나열해 보겠습니다.
Get-Command -Module ActiveDirectory -Name "*Group*"
11개의 cmdlet을 사용할 수 있습니다.
- ADGroupMember 추가
- ADPrincipalGroupMembership 추가
- Get-ADAccountAuthorizationGroup
- Get-ADGroup
- Get-ADGroupMember
- Get-ADPrincipalGroupMembership
- 새 AD그룹
- ADGroup 제거
- ADGroupMember 제거
- ADPrincipalGroupMembership 제거
- Set-ADGroup
New-ADGroup:PowerShell로 새 AD 그룹 만들기
New-ADGroup 을 사용하여 지정된 Active Directory 컨테이너(OU)에 새 보안 그룹을 만듭니다. 명령:
New-ADGroup "TestADGroup" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupScope Global -PassThru –Verbose
설명을 사용할 수 있습니다. 및 DisplayName 속성을 사용하여 그룹 설명 및 표시 이름을 지정합니다.
GroupScope를 사용할 수 있습니다. 매개변수는 다음 유형의 그룹 중 하나를 설정할 수 있습니다.
- 0 =도메인 로컬
- 1 =글로벌
- 2 =범용
다음과 같이 메일 그룹을 만들 수 있습니다.
New-ADGroup "TestADGroup-Distr" -path 'OU=Groups,OU=NY,OU=US,DC=corp,dc=woshub,DC=com' -GroupCategory Distribution -GroupScope Global -PassThru –Verbose
AD 그룹을 생성할 때 모든 속성을 채울 수 있습니다. 다양한 그룹 속성의 값을 설정하는 가장 쉬운 방법은 해시 테이블을 사용하는 것입니다.
$attrs = @{"mail"="[email protected]";"displayname"="ALL Munich Admins"}
New-ADGroup -Name MUNAdmins -GroupScope Global -OtherAttributes $attrs
Add-AdGroupMember를 통해 Active Directory에 사용자 추가
Add-AdGroupMember를 사용하여 Active Directory 그룹에 사용자를 추가할 수 있습니다. cmdlet. 새 그룹에 두 명의 사용자를 추가해 보겠습니다.
Add-AdGroupMember -Identity TestADGroup -Members user1, user2
한 번에 많은 수의 사용자를 그룹에 추가해야 하는 경우 사용자 이름 목록을 CSV 파일에 저장한 다음 이 파일을 PowerShell로 가져오고 간단한 PowerShell 스크립트를 사용하여 각 사용자를 그룹에 추가할 수 있습니다.
CSV 파일의 형식은 다음과 같아야 합니다(사용자는 users와 함께 한 행에 하나씩 나열되어야 합니다. 열 머리글로).
Import-CSV .\users.csv -Header users | ForEach-Object {Add-AdGroupMember -Identity ‘TestADGroup’ -members $_.users}
그룹(groupX)의 모든 구성원을 가져와 다른 그룹(groupY)에 추가하려면 다음 명령을 사용하십시오.
Get-ADGroupMember “GroupX” | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “Group-Y” -Members $_}
모든 중첩 그룹의 구성원을 새 그룹에(재귀적으로) 복사해야 하는 경우 다음 명령을 실행하십시오.
Get-ADGroupMember -Identity “GroupX” -Recursive | Get-ADUser | ForEach-Object {Add-ADGroupMember -Identity “GroupY” -Members $_}
Windows2016Forest 스키마 이상에서 Active Directory의 임시(시간 기반) 그룹 구성원 기능을 사용할 수 있습니다. AD 그룹에 일시적으로 사용자를 추가하려면(예:1시간 동안) 다음 명령을 실행합니다.
$ttl = New-TimeSpan -Minutes 60
Add-ADGroupMember -Identity "Domain Admins" -Members j.lennon -MemberTimeToLive $ttl
한 시간 후 이 사용자는 이 보안 그룹에서 자동으로 제거됩니다.
Remove-ADGroupMember:PowerShell을 사용하여 AD 그룹에서 사용자 제거
AD 그룹에서 사용자를 제거하려면 Remove-ADGroupMember를 사용하세요. cmdlet. 그룹에서 두 명의 사용자를 제거하겠습니다.
Remove-ADGroupMember -Identity TestADGroup -Members user1, user2
사용자 제거 확인:
CSV 파일의 사용자 목록에 따라 그룹에서 사용자를 제거해야 하는 경우 다음 명령을 사용하십시오.
Import-CSV .\users.csv -Header users | ForEach-Object {Remove-ADGroupMember -Identity ‘TestADGroup’ -members $_.users}
Add-ADGroupMember
를 사용하여 그룹에서 사용자를 자동으로 추가하거나 제거하는 예약된 PowerShell 스크립트를 만들 수 있습니다. 및 Remove-ADGroupMember
cmdlet. PowerShell을 사용하여 Active Directory에서 동적 사용자 그룹을 만드는 방법에 대해 자세히 알아보세요. Get-ADGroup으로 Active Directory 그룹 찾기
Get-ADGroup cmdlet은 AD 도메인 그룹에 대한 정보를 얻는 데 도움이 됩니다.
Get-ADGroup 'TestADGroup'
이 명령은 그룹의 주요 속성(DN, 그룹 유형, 이름, SID)에 대한 정보를 표시합니다. 모든 그룹 속성의 값을 표시하려면 다음 명령을 실행하십시오.
Get-ADGroup 'TestADGroup' -properties *
보시다시피 그룹 생성 및 수정 시간, 설명 등의 속성이 표시됩니다.
Get-ADGroup cmdlet을 사용하여 패턴별로 AD의 그룹을 검색할 수 있습니다. 예를 들어 다음 명령을 사용하여 admins 구가 포함된 모든 AD 그룹을 찾을 수 있습니다. 그들의 이름으로:
Get-ADGroup -LDAPFilter “(name=*admins*)” | Format-Table
또는:
Get-ADGroup -Filter {name -like "*admins*"} -Properties Description,info | Select Name,samaccountname,Description,info
Get-ADGroup을 사용하여 그룹 구성원 목록을 가져올 수 있습니다(구성원 속성):
Get-ADGroup -Identity "Domain Admins" -Properties members | Select-Object -ExpandProperty members
그러나 Get-ADGroupMember를 사용하는 것이 훨씬 더 편리합니다. cmdlet을 사용하여 그룹 구성원 자격을 얻습니다.
Get-ADGroupMember:Active Directory 그룹 구성원을 가져오고 내보내는 방법
Get-ADGroupMember cmdlet을 사용하면 AD 그룹의 구성원을 가져올 수 있습니다. 사용자, 컴퓨터, 기타 그룹 또는 관리 서비스 계정(MSA/gMSA)이 될 수 있습니다.
Get-ADGroupMember 'TestADGroup'
결과에 사용자 이름만 표시하려면 다음을 실행하십시오.
Get-ADGroupMember 'TestADGroup'| ft name
이 그룹에 다른 도메인 그룹이 포함된 경우 재귀 모든 중첩 그룹을 포함하여 전체 구성원 목록을 표시하는 매개변수입니다.
Get-ADGroupMember ADadmins -recursive| ft name
특정 그룹의 구성원인 계정 목록을 CSV 파일로 내보내려면(Excel에서 추가로 사용하기 위해) 다음 명령을 실행합니다.
Get-ADGroupMember 'ADadmins' -recursive| ft samaccountname| Out-File c:\PS\ADadminsList.csv
그룹의 사용자에 대한 정보를 텍스트 파일로 내보낼 수 있습니다. Get-ADUser cmdlet은 사용자의 확장된 특성을 가져오는 데 사용됩니다. 예를 들어, 계정 이름 외에도 그룹 사용자의 UserPrincipalName, 직위 및 전화번호를 표시할 수 있습니다.
Get-ADGroupMember -Identity ADadmins -recursive| foreach { Get-ADUser $_ -properties title, OfficePhone|Select-Object title, OfficePhone }
다음과 같이 그룹의 사용자 수를 계산할 수 있습니다.
(Get-ADGroupMember -Identity 'domain admins').Count
특정 OU의 빈 그룹 목록을 가져오려면 다음 명령을 사용하십시오.
Get-ADGroup -Filter * -Properties Members -searchbase “OU=NY,OU-US,DC=corp,dc=woshub,DC=com” | where {-not $_.members} | select Name
선택
Get-ADGroupMember cmdlet은 누군가가 특정 AD 그룹에 새 사용자를 추가했음을 관리자에게 알리는 간단한 PowerShell 스크립트를 만드는 데 사용할 수 있습니다.
Set-ADGroup:Active Director 그룹 속성 수정
Set-ADGroup cmdlet을 사용하면 모든 Active Directory 그룹의 속성(특성)을 변경할 수 있습니다. 예를 들어 그룹의 설명과 이름을 변경할 수 있습니다.
Set-ADGroup -Identity MunAdmins -Description “Munich Admins Group”
또는:
Get-ADGroup -Identity MunAdmins | Set-ADGroup -Description “Munich Admins Group”
Exchange GAL에서 특정 그룹 숨기기:
Set-ADGroup –id MunAdmins -replace @{hideDLMembership=$true}
여러 그룹 속성을 한 번에 변경할 수 있습니다. HashTable을 사용하여 변경 목록을 설정하는 것이 편리합니다.
$attrs = @{"mail"="[email protected]";"displayname"="ALL MUN Admins"}
Set-ADGroup -Identity MunAdmins –Add $attrs
get-adgroup munadmins -Properties *
를 사용하여 AD 그룹 속성 목록을 가져올 수 있습니다. 또는 ADUC 콘솔의 속성 편집기 탭에서. Remove-ADGroup:PowerShell을 사용하여 Active Directory에서 그룹을 어떻게 삭제합니까?
Active Directory에서 그룹을 제거하려면 Remove-ADGroup을 사용하세요. cmdlet:
Remove-ADGroup -Identity MunSales
그룹을 삭제할 때 삭제를 확인하는 메시지가 표시됩니다. 제거 확인을 비활성화하려면 확인을 추가하세요. 스위치:
Remove-ADGroup -Identity MunSales –Confirm:$false
Get-ADObject -Filter {Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*MunSales*' } –IncludeDeletedObjects| Restore-ADObject –verbose