Windows 시스템 관리자로서 Active Directory (AD) 그룹을 관리하는 것은 아마 매일 하는 일일 것입니다. Active Directory Users and Computers (ADUC) MMC 스냅인을 사용할 수 있지만, 여러 도메인 간 그룹을 관리하거나 그룹 관리 작업을 자동화해야 할 때는 어떻게 해야 할까요? 이때 PowerShell이 유용합니다.
본 실습에서는 PowerShell을 사용하여 프로처럼 AD 그룹을 관리하는 방법을 배워볼 것입니다. 실용적인 실제 예제를 사용하여 그룹을 쿼리하고 새로운 그룹을 만들고 기존 그룹을 수정하는 방법을 배우게 될 것입니다.
전제 조건
본 자습서를 따라하려면 다음 전제 조건이 갖춰져 있는지 확인하십시오:
- Active Directory 도메인에 가입된 Windows 컴퓨터 (Windows 10/11 또는 Windows Server)
- AD 그룹을 관리할 수 있는 권한이 있는 사용자 계정
PowerShell을 사용하여 AD 그룹 쿼리하기
일반적인 시나리오부터 시작해보겠습니다 – 회사의 새 IT 관리자로 취임하여 AD 그룹 구조를 감사해야 하는 상황입니다. 매니저는 서로 다른 부서에 걸친 그룹이 무엇인지 알고 싶어합니다. 여기서 Get-ADGroup
cmdlet이 유용할 것입니다.
이름으로 그룹 찾기
가장 간단한 작업 중 하나는 이름에 특정 텍스트가 포함된 그룹을 찾는 것입니다. 예를 들어 이름에 “Sales”가 포함된 모든 그룹을 찾으려면:
Get-ADGroup -Filter 'Name -like "Sales"'
별표(*)는 와일드카드로, “Sales” 앞이나 뒤에 어떤 문자든 일치합니다. 이 명령은 “Sales”가 그룹 이름 어디에 있든 모든 그룹을 반환합니다.
그룹 유형으로 필터링하기
보안 그룹(배포 그룹이 아닌)만 보고 싶은 경우 추가 필터 기준을 -and
연산자를 사용하여 추가할 수 있습니다:
Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'
이제 이름에 “Sales”가 포함된 보안 그룹만 표시됩니다.
특정 OU에서 검색하기
특정 조직 단위(OU)의 그룹을 찾아야 하는 경우 SearchBase
매개변수를 사용하세요:
Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'
이 명령은 공학 OU 및 하위 OU에 있는 모든 그룹을 찾습니다.
최근 생성된 그룹 찾기
특정 날짜 이후에 생성된 그룹을 보고 싶은 경우 whenCreated
속성을 기준으로 필터링하세요:
Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'
이는 2023년 1월 1일 이후에 생성된 모든 그룹을 반환합니다.
새 AD 그룹 만들기
이제 새 그룹을 만드는 방법을 살펴봅시다. 회사가 구조 조정 중이고 새 부서를 위한 그룹을 만들어야 할 수도 있습니다.
보안 그룹 만들기
IT 지원 직원을 위한 새 보안 그룹을 만드는 방법은 다음과 같습니다:
New-ADGroup -Name "IT_Support" `
-GroupScope Global `
-GroupCategory Security `
-Description "Group for IT support staff" `
-Path "OU=IT,DC=company,DC=local"
이 명령은 IT 조직 단위에 “IT_Support”라는 글로벌 보안 그룹을 만듭니다.
배포 그룹 만들기
이메일 배포 그룹이 필요한 경우 몇 가지 매개변수를 변경하세요:
New-ADGroup -Name "Marketing_News" `
-GroupScope DomainLocal `
-GroupCategory Distribution `
-Description "Group for receiving marketing updates" `
-Path "OU=Marketing,DC=company,DC=local"
한 번에 여러 그룹 만들기
만들어야 할 유사한 그룹이 여러 개 있는 경우 루프를 사용하세요:
$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
New-ADGroup -Name "Sales_$region" `
-GroupScope Global `
-GroupCategory Security `
-Description "Sales team for $region region" `
-Path "OU=Sales,DC=company,DC=local"
}
기존 그룹 수정하기
조직에서는 변화가 일어납니다. 그룹의 이름을 변경하고, 설명을 업데이트하며, 범위를 수정해야 할 필요가 있습니다. 이러한 작업을 어떻게 처리할 수 있는지 살펴보겠습니다.
그룹 이름 변경하기
그룹의 이름을 변경하려면 그룹 이름과 samAccountName을 모두 변경해야 합니다:
# 먼저 그룹 객체의 이름을 변경합니다
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam
# 그런 다음 samAccountName을 업데이트합니다
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam
그룹 설명 업데이트하기
그룹의 설명을 업데이트해야 하나요? Set-ADGroup
명령어 한 줄로 가능합니다:
Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'
그룹 범위 변경하기
그룹의 범위를 변경해야 한다면 (예: Global에서 Universal로):
Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal
전문 팁
AD 그룹 관리를 더욱 효율적으로 만들기 위한 몇 가지 팁을 소개합니다:
-
- 여러 그룹을 쿼리할 때는 항상 `-Filter`를 사용하고 `-Identity`는 사용하지 마세요 – 더 효율적입니다
-
- 그룹에 멤버가 있는 경우 그룹 범위는 변경할 수 없다는 점을 기억하세요 – 먼저 멤버를 제거하세요
-
- 변경할 때 `-WhatIf` 매개변수를 사용하여 어떤 일이 일어날지 미리 확인하세요
- 언제나 그룹 변경 사항을 먼저 비 프로덕션 환경에서 테스트하세요
요약
PowerShell을 사용하여 AD 그룹을 관리하는 튼튼한 기초가 마련되었습니다. Active Directory Users and Computers 스냅인은 일회성 작업에 좋지만, PowerShell을 사용하면 자동화하고 대규모 그룹을 관리할 수 있습니다.
기억하세요 – 여기서 보여준 예시들은 단지 시작일 뿐입니다. PowerShell의 AD cmdlet은 놀랄만큼 강력하고 유연합니다. 이 기초에 익숙해지면 조직의 요구에 맞는 보다 복잡한 솔루션을 구축할 수 있습니다.
Active Directory PowerShell에 대해 더 배우고 싶으시다면 다른 자습서를 확인하세요: