Windows Server 2008 R2 Active Directory에는 휴지통이 있어요~!

WS08-R2_h_rgb

Windows Server 2008 R2의 액티브 디렉터리에 어떠한 변화가 생겼을까요? Windows Server 2008 R2 베타 버전을 기준으로 몇가지만 살펴보도록 하겠습니다.

  • 액티브 디렉터리의 휴지통 기능 추가
  • 액티브 디렉터리 PowerShell
  • ADFS에서 다양한 인증 방법론 제공(예를 들어 스마트카드)

오늘은 이중 휴지통쪽과 이를 위한 PowerShell 이야기를 들어볼까 합니다.

image image

Windows Server 2008 R2에서 액티브 디렉터리 도메인 서비스를 서버 관리자를 통해 설치하려고 하면, .NET Framework를 같이 설치한다는 정보가 나타납니다. 왜? .NET Framework를 설치하느냐면, 바로 Windows PowerShell 2.0 때문입니다. Windows Server 2008 R2의 다양한 서버 역할은 최대한 PowerShell 환경에서도 이에 대한 CUI 관리가 가능하도록 제공될 예정이며, 현재 IIS, Hyper-V, Clustering, Active Directory에 대한 PowerShell 모듈이 역할 설치시 같이 설치됩니다.

이는 PowerShell 프롬프트에서 Import-Module Cmdlet을 이용해서 불러들일 수도 있습니다.

image

PowerShell에 역할 모듈을 불러들이고, 해당 모듈에 의해서 추가된 Cmdlet을 보시려면, Get-Command와 함께, Where-Object 조건 Cmdlet을 걸어서 확인할 수 있습니다. 개별 Module 이름으로 찾아낼 수 있죠.

image

Exchange Server 2007 초창기 시절, 즉 MVP 시절에.. PowerShell 1.0을 가지고 많이 작업을 했는데.. 결국 Windows Server 2008 R2에선 PowerShell을 CUI의 기본 인프라로 확장시키고, 2.0으로 업그레이드했습니다. 추후에 PowerShell 2.0에 대해서는 별도의 포스팅을 하겠습니다.

다시 액티브 디렉터리로 돌아와서! PowerShell이 액티브 디렉터리용이 들어간 것이므로, Get-Aduser나 New-Aduser, Set-Aduser를 이용해서, 벌크 단위 작업을 할 수 있습니다. 휴지통 이야기로 넘어가보죠..

지금까지 액티브 디렉터리에서 어떤 개체를 삭제하면.. 해당 개체는 액티브 디렉터리에서 눈으로 보이기엔 삭제되었지만, 비석(?)이 달린채로 내부적으로 남아있다가, 기본적으로 180일(Tombstone LifeTime)이 지나고 나면 실제로 지워지게 됩니다.

image 

실제로 액티브 디렉터리내 개체를 삭제하게 되면.. Tombstone을 가지고 복구를 할 수 있는 3rd 파티 프로그램도 있었습니다. 정확하게 아키텍쳐적으로 살펴보면, Tombstone이 된 개체는 Link-Valued 특성들이 다 끊어지게 됩니다. 그룹의 소속 정보라던가.. 결국 완벽한 복원이 안된다는 것이죠. Microsoft 입장에선 백업을 이용한 권위적인/비권위적인 복원을 권유했습니다. 그러나 이런 복원은 액티브 디렉터리 도메인 컨트롤러의 서비스 중단이 된다는 것이 문제점이었고요. 이러한 문제점을 해결하기 위해 Windows Server 2008 R2의 액티브 디렉터리는 휴지통 기능을 가지고 있습니다.

image

휴지통 기능은 Tombstone으로 가기전, 지워졌다는 표시만 해놓는 Deleted 단계가 추가된 것입니다. 개체가 삭제되면, 삭제되었다고 표시가 되고.. 일정 기간이 흐르면 Tombstone 상태가 되고.. 또 일정 기간이 지나면 실제로 지워지는.. 이해되셨죠? (더 쉽겐.. Tombstone같은 기간이 하나 더 생겼다고 생각하시면 됩니다. ^^) 기본적으로 휴지통 기능은 R2에선 사용 불가능한 상태가 기본값이며, 이를 위해서는 액티브 디렉터리 PowerShell이나 LDP를 이용해서 기능을 사용상태로 변경해야 합니다. 물론 R2의 기능이므로, 모든 도메인 컨트롤러는 Windows Server 2008 R2가 되어야 하죠.

Enable-ADOptionalFeature ?Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration, DC=ntdev,DC=contoso,DC=com’ ?Scope Forest ?Target ‘contoso.com’

Enable-ADOptionalFeature Cmdlet을 이용해서, 해당 기능을 켭니다. 차후 되돌리는 기능은 제공하지 않으니 주의하셔야 합니다.

image

기능을 동작시키면.. 이제 바로 휴지통 기능을 쓸 수 있습니다. 지운 개체를 복구하시려면.. 먼저 해당 개체를 찾으셔야겠죠? 역시나 PowerShell을 이용합니다. Get-ADObject라는 Cmdlet을…

image

PowerShell에 친숙하시다면.. 파이프라인(|)을 이용해서 이제 Restore-ADObject라는 Cmdlet이 등장하겠다? 라고 예상하셨죠?

image

간단하게 Windows Server 2008 R2의 액티브 디렉터리 향상된 기능중 하나를 살펴보았습니다. 바로 휴지통.. 그러나.. 한가지 느끼시는 것이 있으신지요? GUI 관리 도구도 중요하지만, 여러 작업의 효율성이나, 몇몇 기능은 반드시 PowerShell 기반에서 사용이 가능하니.. PowerShell을 조금씩 다뤄놓으시는 것이 다가오는 새로운 관리 패러다임을 마음껏 이용하실 수 있는 지름길이 되실 것입니다. :)