Exchange 관리 셸 안내서

 

마지막으로 수정된 항목: 2007-01-31

작성자: David Strome

Microsoft Exchange Server 2007의 새로운 기능인 Exchange 관리 셸은 Microsoft Windows PowerShell 기술에 기반한 강력한 관리 인터페이스입니다. Exchange 관리 셸을 사용하면 Exchange 관리 콘솔에서 사용 가능한 모든 작업 및 Exchange 관리 콘솔에서 수행할 수 없는 작업을 수행할 수 있습니다. 뿐만 아니라 Exchange 관리 콘솔에서 작업을 수행하는 경우 동일한 명령이 Exchange 관리 셸에서 사용될 수 있으며 요청 처리를 위해 호출됩니다.

그림 1에서는 실제 Exchange 관리 셸을 허브 전송 서버니다.

그림 1   Exchange 관리 셸

사서함 이동을 보여주는 Exchange 관리 셸

셸은 명령줄에 익숙하지 않은 사용자에게 처음에는 어렵게 보일 수 있습니다. 그러나 다음과 같은 뛰어난 기능을 제공하며 쉽게 시작할 수 있습니다.

  • 안전하고 쉬운 스크립팅 Exchange 관리 콘솔은 단순히 Exchange 관리 셸을 사용하여 작업을 수행하지 않습니다. 마법사가 수행 중인 Exchange 관리 셸 명령을 허브 전송 서버니다. 마법사가 생성하는 명령을 복사하여 직접 명령줄이나 스크립트에 붙여 넣을 수 있습니다. 원하는 매개 변수를 수정한 후 WhatIf 매개 변수를 사용하여 스크립트 또는 명령을 테스트합니다. 이를 통해 환경을 변경하기 전에 해당 결과를 확인할 수 있습니다.

    매개 변수 수정? WhatIf? 복잡하게 보입니까? 걱정할 필요 없습니다! Microsoft Exchange Server 2007 문서의 "Using the Exchange Management Shell" 섹션을 확인하십시오. 바로 실행할 수 있습니다.

  • 명확하고 간단함 관리되는 기능 또는 구성 요소 및 수행되는 작업을 명확하게 식별할 수 있도록 일관된 동사-명사 쌍을 사용합니다. 더 이상 cmdlet의 기능을 추측하지 않아도 됩니다. 예를 들어 Move-Mailbox cmdlet만 보아도 해당 기능이 무엇인지 정확히 알 수 있습니다. 예, 그렇습니다. 사서함을 이동하는 데 사용합니다!

  • 리소스 및 시간 효율성 극대화 및 장애 최소화 Exchange 관리 셸은 현재 스크립팅 솔루션과 통합할 수 있는 강력하고 유연한 스크립팅 플랫폼을 제공하며 COM 및 WMI(Windows Management Instrumentation)와 같은 데이터 원본과 기본적으로 통신할 수 있도록 합니다. 리소스와 시간을 효율적으로 사용하여 지원을 위한 프레임워크를 만드는 대신 유용한 솔루션을 만들 수 있습니다.

  • 더 이상 텍스트 구문 분석이 필요하지 않습니다! Microsoft .NET을 기반으로 한 Exchange 관리 셸 cmdlet는 일반 텍스트 대신 구조적 데이터를 수락 및 반환합니다. 이러한 방법으로 복잡한 텍스트 구문 분석 없이 데이터를 손쉽게 전달할 수 있습니다. CSV 및 XML 파일을 한 줄에서 조작 및 사용할 수 있는 개체로 변환할 수도 있습니다.

몇 가지 기본 개념

Exchange 관리 셸을 시작하기 전에 몇 가지 기본 개념을 이해하는 것이 도움이 됩니다.

  • 기본 Windows PowerShell 기술Windows PowerShell은 .NET Framework에 기반한 새롭고 강력하며 매우 유연한 명령줄 인터페이스입니다. 여러 셸의 장점에 몇 가지 뛰어난 새로운 기능이 결합되었습니다. PowerShell은 예를 들어 MMC(Microsoft Management Console)가 컴퓨터에 설치된 응용 프로그램에서 제공하는 다양한 스냅인에 대해 호스트 역할을 수행하는 것처럼 다른 응용 프로그램을 호스팅하도록 설계되었습니다. Exchange 관리 셸은 첫 번째로 릴리스되는 Microsoft PowerShell 스냅인입니다.

  • Cmdlet   "커맨드-레트"라고 읽는 cmdlet는 Exchange 관리 셸의 최소 기능 단위입니다. 예를 들어 cmd.exe에 있는 Dir 명령과 같은 Cmdlet는 다른 셸의 기본 제공 명령과 유사합니다. 이러한 익숙한 명령처럼 cmdlet를 Exchange 관리 셸의 명령줄에서 직접 호출하고 별도의 프로세스가 아닌 셸의 컨텍스트에서 실행할 수 있습니다. 다른 셸에서와 달리 Exchange 관리 셸에서 cmdlet는 설명 형식의 동사-명사 이름을 갖습니다. 동사는 cmdlet가 수행하는 작업을 설명하고 명사는 처리되는 구성 요소 또는 기능에 대해 설명합니다. 예를 들어 New-SystemMessage cmdlet는 허브 전송 서버 역할이 설치된 컴퓨터에서 새 DSN(배달 상태 알림) 또는 할당량 메시지를 만드는 데 사용합니다.

    특정 cmdlet에 대한 자세한 내용은 Exchange 2007 도움말의 Technical Reference 노드에서 "Exchange Management Shell" 섹션을 참조하십시오.

  • Identity 및 위치 매개 변수이 매개 변수는 cmdlet에 정보를 제공하는 요소로, 처리할 개체 및 해당 특성을 식별하거나 cmdlet가 해당 작업을 수행하는 방식을 제어합니다. 대부분의 Exchange cmdlet와 함께 Identity 매개 변수를 사용할 수 있습니다. Identity 매개 변수는 Exchange 2007의 특정 개체를 참조하는 고유 식별자에 액세스할 수 있게 합니다. 따라서 가장 적절한 고유한 값을 사용하여 특정 Exchange 개체에서 작업을 수행할 수 있습니다.

    Identity 매개 변수는 다른 매개 변수의 값 모음입니다. 해당 개체 집합에서 이러한 값은 고유해야 합니다. NameDistinguishedName과 같은 이러한 다른 매개 변수의 값은 사용자가 지정하거나 GUID와 같이 시스템에서 생성할 수 있습니다. 추가로 사용되는 매개 변수(있을 경우)와 이러한 매개 변수가 채워지는 방법은 참조하는 개체에 따라 달라집니다.

    또한 Identity 매개 변수는 위치 매개 변수로 간주됩니다. 위치 매개 변수는 매개 변수 이름을 지정하지 않고 매개 변수 값을 지정할 수 있는 매개 변수입니다. Parameter Position 특성이 정수인 매개 변수가 위치 매개 변수입니다. 이 정수는 cmdlet가 매개 변수 값을 찾을 수 있는 명령줄의 위치를 나타냅니다. Identity는 첫 번째 위치인 위치 1에 있는 위치 매개 변수이기 때문에 매개 변수 이름 없이 이 위치에 입력된 값은 Identity 매개 변수 값으로 간주됩니다.

    즉, 명령을 입력할 때 키 입력 수가 줄어듭니다. 예를 들어 Get-Mailbox "Kim Akers"Get-Mailbox -Identity "Kim Akers"와 동일한 작업을 수행합니다.

  • 파이프라이닝    Exchange 관리 셸에서의 파이프라이닝이란 작업을 수행할 때 다른 cmdlet의 출력을 사용하는 cmdlet의 작업입니다. 파이프라이닝을 사용하여 두 개 이상의 cmdlet를 함께 연결할 수 있습니다. 따라서 사용할 구성 요소 수를 줄이고 보다 강력한 구성 요소로 전환할 수 있습니다. 예를 들어 특정 cmdlet를 사용하여 데이터를 수집하고 해당 데이터를 두 번째 cmdlet에 전달하여 데이터를 하위 집합으로 필터링한 다음 해당 데이터를 세 번째 cmdlet에 전달하여 하위 집합에서만 작업을 수행하도록 할 수 있습니다. 다음은 Sales 데이터베이스의 모든 사서함을 동일한 서버의 Research 데이터베이스로 이동하는 예입니다.

    Get-MailboxDatabase Sales | Get-Mailbox | Move-Mailbox -TargetDatabase Research
    

    파이프 "|" 기호의 사용법은 다음과 같습니다. 먼저 Get-MailboxDatabase cmdlet를 사용하여 Sales 사서함 데이터베이스를 검색하면 결과 개체가 Get-Mailbox cmdlet로 파이프됩니다. 그러면 Get-Mailbox cmdlet에 의해 Sales 데이터베이스의 모든 사서함이 검색됩니다. 그런 다음 사서함의 결과 집합이 Move-Mailbox cmdlet로 파이프되어 여기서 사서함이 Research 사서함 데이터베이스로 이동합니다. 이 명령은 본 문서의 앞 부분에 있는 그림 1에 나와 있습니다.

    동일한 명사-cmdlet 집합에서의 모든 동사는 다른 명령에서 파이프된 정보를 사용할 수 있습니다. 또한 일부 명사-cmdlet 집합은 파이프라인을 통해 데이터를 다른 명사-cmdlet 집합으로 전달할 수 있도록 해줍니다. "명사 cmdlet 집합"? 이것은 무엇일까요? 특정 기능을 관리하는 모든 Exchange 관리 셸 cmdlet는 Mailbox 또는 AddressList와 같이 동일한 명사를 공유합니다. 명사별로 정렬된 모든 cmdlet 목록에 대해서는 Cmdlet List를 참조하십시오.

Exchange 관리 셸 시작

Windows PowerShell 스냅인은 응용 프로그램 또는 주요 구성 요소를 관리하는 데 사용되는 cmdlet의 모음입니다. 특정 응용 프로그램에 대한 스냅인을 로드하지 않으면 관련 cmdlet를 사용할 수 없습니다.

즉, Exchange 관리 셸 스냅인을 로드하지 않고 PowerShell을 시작하고 Get-Mailbox와 같은 Exchange 관리 셸 cmdlet를 실행하려는 경우 오류가 발생합니다. 왜냐하면 Get-Mailbox cmdlet가 핵심 PowerShell cmdlet 집합에 없기 때문입니다.

따라서 먼저 Exchange 관리 셸을 여십시오. 간단히 시작, 프로그램, Microsoft Exchange Server 2007, Exchange 관리 셸을 차례로 클릭합니다.

시작에 대한 자세한 배경 정보는 New Administration Functionality in the Exchange Management Shell을 참조하십시오.

필요한 도움말 보기

Exchange 2007의 경우 Microsoft Exchange User Education 팀이 Exchange 관리 셸 내에서 사용 가능하고 Exchange 관리 콘솔 및 온라인으로 제공되는 Exchange Server 2007 도움말 파일에서 사용 가능한 강력한 문서 집합을 개발했습니다.

Exchange 관리 셸을 탐색하는 법을 익히게 되면 셸에서 Get-Help cmdlet가 매우 귀중한 리소스라는 것을 알게 될 것입니다. 또한 Exchange Server 2007 도움말 파일의 Operations 섹션을 참조해야 합니다. 여기에는 Exchange 관리 셸 및 Exchange 관리 콘솔을 사용하여 대부분의 관리 작업을 수행하는 데 도움이 되는 다양한 절차 항목이 포함되어 있습니다. Exchange 2007의 시작 메뉴 및 Microsoft Exchange Server 2007에서 온라인으로 Exchange Server 2007 도움말 파일에 액세스할 수 있습니다.

셸의 도움말

셸 내에서 Get-Help cmdlet를 사용하여 다양한 형식의 cmdlet 관련 도움말에 액세스합니다. Get-Help를 단독으로 입력하면 일반적인 도움말 정보가 표시됩니다. 그리고 매개 변수를 제공할 경우 Get-Help cmdlet는 훨씬 강력한 기능을 제공합니다.

특정 cmdlet에 대한 도움말을 보려면 Get-Help Get-SystemMessage와 같이 Get-Help 뒤에 정보를 원하는 cmdlet를 입력합니다. 기본적으로 셸에서는 cmdlet 및 해당 구문에 대한 설명이 표시됩니다. 모든 관리자가 사용할 수 없는 기타 섹션은 표시되지 않습니다.

Detailed, FullExample 매개 변수를 사용하여 제공되는 정보를 제어할 수 있습니다. 이러한 매개 변수를 명령 끝에 추가하기만 하면 됩니다. 예를 들어 Get-Help –Full은 cmdlet에서 사용 가능한 모든 도움말 섹션을 반환합니다. 사용자 스스로 명령을 실습하여 즐겨 사용하는 cmdlet에 대해 어떤 정보가 표시되는지 확인하십시오.

cmdlet 관련 매개 변수에 대한 정보를 검색하려는 경우 Parameters 매개 변수를 Get-Help cmdlet와 함께 사용하면 됩니다. 예를 들어 "quota"라는 단어가 포함된 Set-Mailbox cmdlet의 모든 매개 변수와 설명을 보려면 **Get-Help Set-Mailbox –Parameter *quota***를 입력합니다.

또는 특정 서버 역할이나 구성 요소 기능을 관리하는 cmdlet 또는 특정 기능 범위에 걸쳐 개체에 적용되는 cmdlet 목록을 보려는 경우도 있습니다. Get-Help cmdlet와 Role, ComponentFunctionality 등 세 가지 매개 변수를 사용하여 이를 수행할 수 있습니다. Get-Help cmdlet를 이러한 매개 변수와 함께 사용하는 경우 해당 매개 변수로 지정하는 값을 와일드카드 문자(*)로 묶어야 합니다. 다음 예에서는 각 매개 변수를 사용하여 Get-Help를 호출하는 방법을 허브 전송 서버니다.

  • Get-Help -Role *Mailbox*

  • Get-Help -Component *Recipient*

  • Get-Help -Functionality *Server*

Exchange Server 2007 도움말 파일의 "Getting Help" 항목에는 사용할 수 있는 모든 역할, 구성 요소 및 기능 값이 나와 있습니다.

명령 출력 서식 지정

기본적으로 명령 출력이 화면에 표시될 때 Exchange 관리 셸은 각 개체의 사용 가능한 속성의 하위 집합만 표시합니다. 그 이유는 각 개체에는 수 많은 속성이 포함되어 있을 수 있고 사용자는 필요에 맞게 명령 출력을 최적화하려 할 것이기 때문입니다. Format-List, Format-TableFormat-Wide와 같은 세 가지 서식 지정 cmdlet로 명령 출력을 파이프하여 이러한 모든 속성에 쉽게 액세스하여 볼 수 있습니다.

Format-ListFormat-Table은 가장 흔히 사용되는 명령이므로 좀 더 자세히 살펴 보겠습니다.

Format-List cmdlet는 파이프라인의 입력값을 사용하여 각 개체의 지정된 모든 속성을 수직 열 목록으로 출력합니다. 위치 매개 변수인 Property 매개 변수를 사용하여 표시하려는 속성을 지정할 수 있습니다. 매개 변수를 지정하지 않고 Format-List cmdlet를 호출하면 모든 속성이 출력됩니다. Format-List cmdlet는 줄을 자르는 대신 줄 바꿈합니다. Format-List cmdlet를 사용하는 가장 좋은 방법 중 하나는 추가 정보 또는 보다 중요한 정보를 검색할 수 있도록 Get-DistributionGroup | Format-List Name, *OnlyFrom, PrimarySmtpAddress, *Size*와 같이 cmdlet의 기본 출력을 다시 정의하는 것입니다. 그림 2에서는 이 명령의 출력을 허브 전송 서버니다.

그림 2   Format-List 출력 예

Format-Table cmdlet의 예제 출력

Format-Table cmdlet를 사용하여 항목을 레이블 헤더 및 속성 데이터 열과 함께 테이블 형식으로 표시할 수 있습니다. 기본적으로 Get-MailboxGet-JournalRule cmdlet와 같은 여러 cmdlet는 테이블 형식으로 출력합니다. Format-Table cmdlet의 매개 변수에는 PropertiesGroupBy 매개 변수가 포함됩니다. 이러한 매개 변수는 Format-List cmdlet와 작동하는 것과 동일하게 작동합니다. 줄 끝부분이 잘리지 않고 속성 정보의 긴 줄이 완전하게 표시되도록 하려면 Get-Mailbox -Database Research | Format-Table Name, ProhibitSendQuota, Database -Wrap과 같이 Wrap 매개 변수를 Format-Table cmdlet와 함께 사용합니다. 그림 3에서는 이 명령의 출력을 허브 전송 서버니다.

그림 3   Format-Table 출력 예

Format-Table cmdlet의 예제 출력

또한 그림 2에서와 같이 Format-ListFormat-Table Cmdlet와 함께 일부 속성 이름에 와일드카드 문자 "*"를 지정할 수 있습니다. 와일드카드 문자가 포함된 경우 각 속성 이름을 개별적으로 입력할 필요 없이 여러 속성을 일치시킬 수 있습니다. 예를 들어 Get-Mailbox | Format-List -Property Email*Email로 시작하는 모든 속성을 반환합니다. Exchange 2007에서는 입력 횟수가 줄어들기 때문에 시간이 절약됩니다!

자세한 내용

Exchange 2007 및 Exchange 관리 셸에 대한 자세한 내용은 다음 리소스를 참조하십시오.

e20b37a2-3200-4bd5-af71-09c580f78091 David Strome - Microsoft Exchange Server 테크니컬 라이터

-