이번 Post에서는 Exchange 관리도구, 관리콘솔 및 관리쉘(Exchange Management Tool, Exchange Management Shell)을 오픈 시도할 때 발생될 수 있는 가장 일반적인 에러 메시지들에 대하여 확인해 보고자 합니다.

내용을 설명하기에 앞서 우선 Exchange 2010에서 모든 Management는 Remote PowerShell을 이루어진다는 것을 인지하고 있으셔야 합니다.  물론 Exchange 서버 자체에서 관리도구를 실행한다고 하여도 마찬가지로 Remote Powershell 을 통해서 이루어집니다.

Exchange 2010의 관리와 관련된 부분이 Exchange 2007서버에서의 그것과 다른 점은 Remote Powershell 의 요청프로세스가 HTTP프로토콜을 통해서 이루어지고 이러한 연결을 위한 메커니즘으로 IIS 를사용하기 때문에 IIS 에 크게 의존한다는 부분입니다.  그리고 IIS는 연결을 만들기 위해서 WinRM(Windows Remote Management)서비스 및 WSMan(Web Service for Management) 프로토콜과 함께 동작합니다.

 

여러분이 Exchange 관리쉘 바로가기를 클릭하게 되면 이때 Remote PowerShell 세션이 열립니다.
Exchange 2007에서처럼 단순히 Exchange 스냅인을 오픈하는 것이 아니고 PowerShell은 WinRM프로토콜을 통해서 가장 가까운 Exchange 2010서버로 IIS를 통해서 연결을 만들게 됩니다.

이때 WinRM은 사용자 인증을 검사하고 원격세션을 만든 후 RBAC(Role Based Access Control)에 기반하여 접근 권한이 있다면 명령셋을 사용자에게 보여주게 됩니다.

아래 그림을 보시면 이해가 되실 겁니다
image

모든 Remote Powershell은 IIS를 통하여 연결하게 되기 때문에 우리는 Exchange 관리도구들을 시작할때 나타날 수 있는 일반적인 오류메시지들과 이러한 오류들이 무엇을 나타내고 있는지에 대하여 알아야 할 필요가 있습니다.

이슈 1

다음과 같은 메시지와 함께 Remote Server연결 실패 :
The WinRM client cannot process the request. It cannot determine the content type of the HTTP response from the destination computer. The content type is absent or invalid. For more information, see the about_Remote_Troubleshooting Help topic.

 

예상 가능한 원인

1. Remote PowerShell 은 연결되는 사용자를 인증하기 위해서 Kerberos 방식을 사용합니다.

IIS는 또한 네이티브 모듈( Native Module)을 통해서 Kerberos 인증방식을 사용합니다.  IIS관리자에서 PownerShell 가상 디렉토리로 이동한 뒤 모듈을 확인하면 네이티브 모듈로 C:\Program Files\Microsoft\Exchange Server\v14\B in\kerbauth.dll 로 지정된 Kerbauth 목록을 보실 수 있습니다.

만약, Kerbauth 모듈이 네이티브 모듈이 아닌 관리되는 모듈(Managed Module)로 보이거나 또는 Kerbauth 모듈이 PowerShell 가상 디렉토리가 아닌 Default Web Site 레벨에서 로드 되어 있다면 위와 같은 오류메시지가 나타날 수 있습니다.

이러한 문제를 해결하기 위해서는 Kerbauth 모듈이 기본 웹사이트에서 Enable되어있지 않아야 하며 PowerShell 가상 디렉토리에서 Enable 되어있어야 합니다.
또한 항목 유형은 부모레벨에서의 상속이 아닌 로컬(Local)로 지정되어 있어야 합니다.

image

 

2. WSMan 모듈 entry 가 아래  c:\Windows\System32\Inetsrv\config\ApplicationHost.config 파일에서 Global Modules 세션에서 존재하지 않는다면 PowerShell 가상 디렉토리에서 모듈종류가 관리되는 모듈로 보여질 수 있습니다.
image

이 문제를 해결하기 위해서는 WSMan 모듈이 Server level에서 등록되고(하지만 Enable되어있지 않음) PowerShell 가상 디렉토리에서 Enable되어있는지 확인해야 합니다.

 

3.  연결을 시도하는 사용자가 Remote PowerShell  Enabled된 사용자로 구성되어있지 않을 경우.

사용자계정에 Remote PowerShell이 Enable되어있는지 확인하고자 한다면 다른 Enable되어있는 사용자 계정으로 로그인한 다음 Exchange 관리쉘을 열고 아래 Query를 실행합니다.

(Get-User <username>).RemotePowershellEnabled
image

결과는 True 또는 False를 리턴하며 만약 False로 나타난다면 해당 사용자 계정은 RemotePowerShell 사용자로 Enable되어 이지 않음을 의미합니다.
Enable하기 위해서는 아래 명령어를 실행하시면 됩니다.

Set-User <username> –RemotePowerShellEnabled $True

 

이슈 2

다음과 같은 메시지와 함께 Remote Server연결 실패 :

The WinRM client sent a request to an HTTP server and got a response saying the requested HTTP URL was not available.
This is usually returned by a HTTP server that does not support the WS-Management protocol.
For more information, see the about_Remote_Troubleshooting Help topic.


예상 가능한 원인

1. HTTP 바인딩이 Default web site에서 제거되었을 경우.

가장 일반적인 시나리오로는 여러개의 웹사이트가 IIS 서버에서 운영되고 있고 SSL만을 허용하기 위해서 기본 웹사이트에서 리디렉션(Redirect) 설정으로 https://mail.company.com/owa으로 설정되어 있고  이로 인해 SSL연결만을 허용하는 다른 웹사이트로 리디렉션 설정이 되어있을 경우입니다.

Remote PowerShell은 기본 웹사이트(Default web site)에 포트번호 80을 연결이 필요합니다. 
혹시 자동으로 리디렉션 설정을 통해서 http 요청을 https 연결로 리디렉션하고 /OWA 디렉토리로 리디렉션 설정을 하고자 한다면
http://technet.microsoft.com/ko-kr/library/aa998359(EXCHG.80).aspx 문서에서 “IIS 7.0에서 기본 웹 사이트 또는 OWA 가상 디렉터리에 SSL이 필요한 구성의 경우” 섹션을 참고하여 설정해 주시면 됩니다.

 

2.기본웹사이트의 HTTP 바인딩 설정이 변경되었고 호스트헤더가 구성되어있을 경우.
이 경우 Default web site 80포트 바인딩아래에 있는 호스트이름을 제거해야 합니다.

image

 

이슈3

다음과 같은 메시지와 함께 Remote Server연결 실패 :

The WinRM client received an HTTP server error status (500), but the remote service did not include any other information about the cause of the failure. For more information, see the about_Remote_Troubleshooting Help topic. It was running the command 'Discover-ExchangeServer -UseWIA $true -SuppressError $true'.

추가로 시스템 이벤트로그에 다음과 같은 경고 메시지가 기록됨

Source: Microsoft-Windows-WinRM
EventID: 10113
Level: Warning
Description: Request processing failed because the WinRM service cannot load data or event source: DLL="%ExchangeInstallPath%Bin\Microsoft.Exchange.AuthorizationPlugin.dll"

 

예상 가능한 원인

1. ExchangeInstallPath 변수가 빠져있을 경우

이 항목을 체크하기 위해서 시스템 등록정보의 환경 변수에 가서 System 변수를 확인합니다.
여기에는 C:\Program Files\Microsoft\Exchange Server\V14 경로로 지정된 ExchangeInstallPath 변수가 나타나 있어야 합니다.

image

2. PowerShell 가상 디렉토리 경로가 수정되었을 경우

PowerShell 가상 디렉토리는 반드시 \Program Files\Microsoft\Exchange Server\V14\ClientAccess\PowerShell 위치로 지정되어 있어야 하며 그렇지 않으면 문제가 발생됩니다.
image

 

이슈 4

다음과 같은 메시지와 함께 Remote Server연결 실패 :

The connection to the specified remote host was refused.
Verify that the WS-Management service is running on the remote host and configured to listen for requests on the correct port and HTTP URL. For more information, see the about_Remote_Troubleshooting Help topic.

 

예상 가능한 원인 :

1. MSExchangePowerShellAppPool 이 실행되고 있는지 확인

2. 사용자 계정이 Remote PowerShell Enabled 되어있는지 확인 ( 이를 확인하는 방법은 위에서 이미 언급되었습니다)

3. WinRM이 서버에 제대로 구성되어있는지 확인

- 서버에서 WinRM Quick Config를 실행하고 어떤 action 요구 없이 테스트를 통과해야 합니다. 만약 어떤 Action이 요구된다면 WinRM 구성이 변경되는 것을 허용하겠냐라는 창이 나타날때 예를  눌러주시면 됩니다.

image

- WinRM enumerate winrm/config/listener 를 실행하여 Listener가 모든 주소에서 5985 포트로 리스닝하는 HTTP가 나타나는지 확인
image

 

이슈 5

다음과 같은 메시지와 함께 Remote Server연결 실패 :

The WinRM client received an HTTP status code of 403 from the remote WS-Management service.


예상 가능한 원인 :

1. PowerShell 가상 디렉토리에서 SSL 필요 옵션이 Enable ㅛ되어 있는지 확인

이 문제를 해결하기 위해서는 PowerShell디렉토리에서 SSL 필요 옵션을 해제하여야 합니다.
Exchange 관리도구는 80포트를 통해서 연결하며 아래의 SSL필요 옵션이 설정되어 있다면 80포트로 연결을 시도할때 IIS는 403 Error를 리턴합니다.

image

 

원문

Troubleshooting Exchange 2010 Management Tools startup issues

http://msexchangeteam.com/archive/2010/02/04/453946.aspx#comments

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2011/11/28 23:26 2011/11/28 23:26

 

EMC 및 EMS 수행 오류와 관련해서 설정 점검 및 수행 시 오류로 진행되었던 케이스 유형들을 정리 해 보았습니다.

설정 점검

->  로그온 한 수행 계정의 권한을 확인합니다.

: 명령 프롬프트에서 whoami 명령을 통해서 로그온 한 사용자를 확인합니다.

->  파워쉘 수행권한 RemotePowershellEnabled 가 True 인지 확인합니다.

Get-user -id administrator |fl *remote*

RemotePowerShellEnabled : True

->  WinRM 체크

Winrm enumerate winrm/config/listener

Winrem get winrm/config/client

-> 설정된 Port 로 정상적으로 Access 되는지 확인합니다.

Winrm –id r:Server_FQDN

WinRM 서비스 재시작으로 문제가 풀리는지 확인합니다.

->  IIS 설정 확인

(1) Powershell 가상디렉터리 인증 : 익명 연결만 허용되어 있는지 확인합니다.

clip_image001

(2) Powershell 가상 디렉터리 SLL 허용 여부 : SSL 이 enable 되어 있지 않아야 합니다.

clip_image003

(3) MSExchangePowerShellAppPool 중지 되어 있는지 확인하고 필요 시 재시작 후에 문제가 해결되는지 확인합니다.

(4) Powershell 가상 디렉터리에 대해서 ‘모듈’ Kerbauth 이 네이티브 모듈로 정상 등록되어 있는지 확인합니다.

clip_image005

-> ApplicationHost.config 파일 내에 WSMan 이 정상적으로 등록되어 있는지 확인합니다.

(C:\Windows\System32\Inetsrv\config\ApplicationHost.config)

<globalModules>

<add name=”WSMan” image=”c:\windows\system32\wsmsvc.dll” />

http://support.microsoft.com/kb/2028305

Error message when you try to start Exchange Management Shell (EMS) or Exchange Management Console (EMC): "The WinRM client... cannot determine the content type of the HTTP response from the destination computer"

->  Kerbauth.dll 버전을 확인합니다.

clip_image006

->  MS09-050 (KB975467) 설치 시 KB968389 가 설치되도록 권고 합니다.

->  AD 와 정상적으로 연결이 되는지 확인합니다. 이벤트 로그 점검 및 AD 서버로 포트 연결이 되는지 확인합니다.

-> Event Log점검

관리도구 수행 시 직접적으로 시스템 및 응용 프로그램 로그에 남는 이벤트가 있는지 확인합니다. WinRM 과 관련된 내용은 직접적인 Exchange 구성요소가 아니기 때문에 따로 진단로깅을 걸 수 있는 부분이 Exchange 도구에서는 제공되지 않습니다. WinRM 과 관련된 이벤트는 ‘응용 프로그램 및 서비스 로그’ 의 ‘Microsoft’ -> ‘Windows’ -> ‘Windows Remote Management’ -> ‘ Opernational’ 에서 확인할 수 있습니다.

clip_image008

Event ID 2280

모듈 DLL C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll을(를) 로드하지 못했습니다. 데이터는 오류입니다.

-> Event 2280 에 지정되어 있는 위치에 kerbauth.dll 이 있는지 확인합니다. 해당 위치에 dll 이 없거나 문제가 있으면 오류가 발생할 수 있습니다.

->  간혹 제거 후 신규 설치 과정에서 콘솔 제거를 하지 않고 설치하면서 위치 정보가 변경되어 해당 문제가 발생되는 경우가 있을 수 있습니다.

clip_image009

요청 초과 오류

“Kerberos” 인증을 사용하여 http:// Server_FQDN /Powershell 에 연결 시도 실패: 다음 오류 메시지가 발생하여 원격 서버에 연결하지 못했습니다. WS-Management 서비스가 요청을 처리할 수 없습니다. 시스템 로그 할당량인 2초당 1000개의 요청이 초과되었습니다.

-> 간헐적으로 해당 오류가 발생하는 경우는 throttling 내용으로 인한 영향으로 추정되는오류가 발생합니다. 서비스에 영향이 없어 값을 초기화 하기 위해서 IIS관리자를 통해서 MSExchangePowerShellAppPool 을 재시작하면 연결 문제가 해결됩니다.

연결 거부 오류

“Kerberos” 인증을 사용하여 http:// Server_FQDN /Powershell 에 연결 시도 실패: 다음 오류 메시지가 발생하여 원격 서버에 연결하지 못했습니다. 지정된 원격 호스트에 대한 연결이 거부되었습니다

->  https://Server_FQDN/Powershell 을 접속 했을 때 정상적으로 연결되는지 확인합니다.

아래와 같이 503 Service is unavailable 이 발생하여 IIS 의 Powershell 관련 풀이 정상적으로 동작하는지 확인합니다. 풀이 중지되어 있는 경우 시작해 주시고 필요에 따라서 해당 풀을 재시작 합니다.

풀이 지속적으로 중지된다면 따로 원인파악이 필요할 수 있습니다.

clip_image010

clip_image012

액세스 거부 오류

EMC 연결 오류

“Kerberos”인증을 사용하여 http://Server_FQDN/Powershell에 연결 시도 실패: 다음 오류 메시지가 발생하여 원격 서버에 연결하지 못했습니다. 액세스가 거부되었습니다.

EMS 연결 오류

다음 오류 메시지가 발생하여 원격 서버에 연결하지 못했습니다. 액세스가 거부되었습니다.

    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException

    + FullyQualifiedErrorId : PSSessionOpenFailed

clip_image013

웹로그

2011-08-09 00:47:43 169.254.1.209 POST /PowerShell PSVersion=2.0 80 - 169.254.1.209 Microsoft+WinRM+Client 401 0 0 0

->  특이한 사례이긴 했지만, 인증오류로 보고 Network Monitor 를 통해서 연결 AD 정보를 확인하면서 3rd party 제품에 의해서 LDAP 연결이 추가 생성되는 것으로 보고 3rd party 제품 서비스를 중지한 사례가 있었습니다.

Get-LogonUser 명령오류

Domain\User_Account 에 대한 사용자 정보를 가져올 때 다음 오류가 발생했습니다.

Domain 에서 ‘S-xxx’ 개체를 찾을 수 없기 때문에 작업을 수행할 수 없습니다. ‘Get-LogonUser’ 명령을 실행하는 중이었습니다.

clip_image014

원인은 가상화 환경에서 VHD 이미지 재사용으로 인한 Domain 과 Exchange 서버 간 SID가 duplicate 되어 발생한 것으로 시스템 이벤트 로그에 아래의 내용이 확인 됩니다.

Event ID 5516, NETLOGON

컴퓨터 또는 xxx 도메인이yyy 도메인을 트러스트합니다. 이 트로스트는 간접 트로스트일 수 있습니다. 그런데 xxx와 yyy 은(는) 같은 컴퓨터 보안 식별자(SID)를 가지고 있습니다. NT를 xxx 또는 yyy 에 다시 설치해야 합니다.

Exchange / AD / Domain 명에 대한 각각의 SID 확인

-> 아래 링크에서 PSGetSID 라는 툴을 다운로드 받습니다.

http://technet.microsoft.com/ko-kr/sysi ··· bb897417 PSGetSID

PSGetSID 도메인명

PSGetSID Exchange서버명

두 SID 가 동일한 경우 Windows 2008 이상의 경우 sysprep 을 사용해서 SID 를 변경해야 합니다.

%WINDIR%\System32\Sysprep 폴더에 있는 Sysprep.exe 를 사용

clip_image015

이 툴을 사용할 때 주의할 점은 SID를 새로 생성하기 위해서는 “Generalize” 옵션을 꼭 체크해 주기 바랍니다. 그리고 재부팅하게 되는데 이 과정에서 “Product/License Key”와 “새로운 컴퓨터 명” 그리고 “관리자 암호” 등과 같은 것을 입력하게 됩니다.

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
2011/11/28 23:23 2011/11/28 23:23

 How to Upgrade from Exchange 2003 to Exchange 2010 SP1
------------------------------------------------------------------------------

1. Active Directory prerequisites and healthcheck
---------------------------------------------------

- Schema master (x86 or x64): Windows Server 2003 SP1 Standard or
Enterprise, or Windows Server 2008 Standard or Enterprise, or the Windows Server 2008 R2 Standard or Enterprise.

- Global catalog (x86 or x64): In each AD site where you plan to install
Exchange 2010, you must have GC running - Windows Server 2003 SP1 Standard or Enterprise, or Windows Server 2008 Standard or Enterprise, or the Windows Server 2008 R2 Standard or Enterprise.

- Domain Controller (x86 or x64): In each AD site where you plan to
install Exchange 2010, you must have writable DC running - Windows Server 2003 SP1 Standard or Enterprise, or Windows Server 2008 Standard or Enterprise, or the Windows Server 2008 R2 Standard or Enterprise.     
- Active Directory Forest: Forest functional level must be at least
Windows Server 2003 forest functional mode
(Note: If you've raised the domain/forest level to Windows Server 2008/2008R2 functional mode, make sure that RUS is NOT still pointing to a phantom/demoted 2003 DC)

netdom query fsmo

2. Active Directory Health Check Commands:
------------------------------------------

Start with updating Support Tools package (if you are using a Windows Server 2003 OS) with
Windows Server 2003 Service Pack 2 32-bit Support Tools. You need both files - suptools.msi and support.cab:
http://www.microsoft.com/downloads/en/d ··· ang%3Den

dcdiag /test:DNS /e /v /f:dcdiag.log

nslookup gc._msdcs

repadmin /syncall /AeP

repadmin /replsum /bysrc /bydest /sort:delta

If you get errors you can find more details in:

repadmin /showrepl * > showrepl.log

or in csv formatted option:

repadmin /showrepl * /csv > showrepl.csv


3. Exchange 2003
-------------
- Exchange 2003 Server(s) must be running SP2
6944.4 = Exchange 2003 RTM
7226.6 = Exchange 2003 SP1
7638.2 = Exchange 2003 SP2

- Exchange 2003 organization must be in native mode

- Link state routing must be suppressed:
http://technet.microsoft.com/en-us/libr ··· 728.aspx

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\RESvc\Parameters.
Create new DWORD value - SuppressStateChanges | value=1
   Restart the following 3 services:
   - SMTP service
   - Microsoft Exchange Routing Engine service
   - Microsoft Exchange MTA Stacks service

- Check for ambiguously non-authoritative SMTP addresses. If there are
domains, configured authoritative or non-authoritative inconsistently among multiple recipient policies, upgrading AD Schema will fail (at the Org Checks stage)

- Document IP Addresses/Domains (if present) under SMTP Relay
Restrictions - they have to be re-created manually later

- Run Microsoft Exchange Best Practices Analyzer:
http://www.microsoft.com/downloads/en/d ··· ang%3Den


4. Upgrade Active Directory Schema

- Setup /PrepareLegacyExchangePermissions

- Setup /PrepareSchema

- Setup /PrepareAD

- Run Exchange Pre-Deployment Analyzer:
http://www.microsoft.com/downloads/en/d ··· ang%3Den

 

5 Required Packages and Updates for E-10 running on Win-8R2

5.1 Microsoft Office 2010 Filter Packs  - FilterPack64bit.exe (you need the x64 version of the file!)
http://go.microsoft.com/fwlink/?LinkID=191548

5.2 The following 5 updates are mandatory (Setup will stop if one of the updates is missing):
NOTE!!! If you happen to miss one fo the updates and have to restart setup, DO NOT choose to "use the configuration settings previously entered". If you choose "Yes" to this option, setup WILL NOT configure automatically routing group connector between the E2k3 and E-10 routing groups.

 

5.2.1 Update to remove the application manifest expiry feature from AD RMS clients
http://support.microsoft.com/?kbid=979099

5.2.2 KB982867 - WCF: Enable WebHeader settings on the RST/SCT
http://code.msdn.microsoft.com/KB982867

5.2.3 KB979744 - LockConvoy On Windows Server 2003 Post KB 971988
http://code.msdn.microsoft.com/KB979744

5.2.4 KB983440 - Win7 rollup package (PR for QFE 810219)
http://code.msdn.microsoft.com/KB983440

5.2.6 Fix for: ARS: Win7 roll-up Hotfix for System.Web.Services.dll (KB977020)
http://connect.microsoft.com/visualstud ··· %3D27977

 

6. Set startup type of "Net.TCP Port Sharing Service" to automatic

 


7. Exchange Typical installation - CAL, HUB and MBX roles

 


Note:
- The account which you use for Exchange 2010 Setup wizard must be a
member of Schema Admins Domain Admins and Enterprise Admins (to be able to prepare AD and the domain)
- If you are planning to use this Exchange Server as a member of a DAG
(Database Availability Group) you must use Windows Server 2008 or 2008 R2 Enterprise Edition - DAG still uses pieces of failover clustering.
- Once you install Exchange 2010 on a Windows Server Stadard edition,
you cannot upgrade to Windows Server Enterprise Edition

 

How to Upgrade from Exchange 2003 to Exchange 2010 SP1: Part 2
------------------------------------------------------------------------------

1. Relocate Databases and Log files
-----------------------------------


2. Replicate Public Folders, convert Address Lists and E-mail Address Policies, move OAB
----------------------------------------------------------------------------------------


2.1 Check the status of IPM subtree
-----------------------------------
#IPM subtree stands for interpersonal messages subtree - messages exchanged
#between human recipients
#IPM_Subtree contains folders visible and accessible directly by users and clients

Get-publicfolder -recurse | fl name,replicas


2.2 Replicate IPM subtree
-------------------------
#First switch to the Exchange Scripts directory

cd $exscripts


#Then replicate to Exchange 2010 server - replace E-10 with the name of your Exchange 2010 server

.\AddReplicatoPFRecursive.ps1 -TopPublicFolder "\" -ServerToAdd e-10

 


2.3 Check the status non-IPM subtree
------------------------------------
#The non-IPM_Subtree contains operational metadata - folders not directly accessible by users.

Get-publicfolder \non_ipm_subtree -recurse | fl name,replicas

 

2.4 Replicate non-IPM subtree
----------------------------

2.4.1 First replicate SCHEDULE+ FREE BUSY from E-10 to E-2k3
------------------------------------------------------------
#Replace E-2k3 with the name of your Exchange 2003 server

.\AddReplicatoPFRecursive.ps1 -TopPublicFolder "\non_ipm_subtree" -ServerToAdd E-2k3

2.4.2 Then replicate non-IPM subtree from E-2k3 to E-10
#Replace E-10 with the name of your Exchange 2010 server

.\AddReplicatoPFRecursive.ps1 -TopPublicFolder "\non_ipm_subtree" -ServerToAdd E-10

 

2.5 Double-check Public Folder Replication
------------------------------------------

Get-publicfolder -recurse | fl name,replicas

Get-publicfolder \non_ipm_subtree -recurse | fl name,replicas

 

2.6 Convert Address Lists and E-mail Address Policies
-----------------------------------------------------

#Convert Address Lists - "All Users", "All Contacts", "All Groups" and "Public Folders"

Set-AddressList “All Users” –IncludedRecipients MailboxUsers

Set-AddressList "All Contacts" -IncludedRecipients MailContacts

Set-AddressList “All Groups” –IncludedRecipients Mailgroups

Set-AddressList "Public Folders" -RecipientFilter { RecipientType -eq 'PublicFolder' }

#Convert "Default Global Address List"
Set-GlobalAddressList "Default Global Address List" -RecipientFilter {(Alias -ne $null -and (ObjectClass -eq 'user' -or ObjectClass -eq 'contact' -or ObjectClass -eq 'msExchSystemMailbox' -or ObjectClass -eq 'msExchDynamicDistributionList' -or ObjectClass -eq 'group' -or ObjectClass -eq 'publicFolder'))}

#Convert E-mail Address Policies
#Note - the command bellow applies the e-mail address policies to All Recipients
#If there are e-mail address policies with custom LDAP filters (applied to subset of recipients)
#use 2.6.2 instead!!!
Get-EmailAddressPolicy | where {$_.RecipientFilterType –eq “Legacy”} | Set-EmailAddressPolicy –IncludedRecipients AllRecipients


2.6.2 (Otional - if you are using custom LDAP filters) Download ConvertFrom-LdapFilter.ps1
------------------------------------------------------------------------------------------

http://msexchangeteam.com/files/12/atta ··· 867.aspx

#Save the script to C:\Program Files\Microsoft\Exchange Server\V14\scripts
#and change file extension from ConvertFrom-LdapFilter.txt to ConvertFrom-LdapFilter.ps1
#If you are not in the scripts directory switch to it and convert
#the Address lists and E-mail Address policies with custom LDAP filters
 
cd $exscripts

# Convert Address Lists
Get-AddressList | WHERE { $_.RecipientFilterType -eq 'Legacy' } | foreach { Set-AddressList $_.Name -RecipientFilter (.\ConvertFrom-LdapFilter $_.LdapRecipientFilter) -ForceUpgrade }

#Convert E-mail Address Policies
Get-EmailAddressPolicy | WHERE { $_.RecipientFilterType -eq 'Legacy' } | foreach { Set-EmailAddressPolicy $_.Name -RecipientFilter (.\ConvertFrom-LdapFilter $_.LdapRecipientFilter) -ForceUpgrade }

 

2.7 Move Offline Address Book, enable Web Based distribution

 

2.8 Specify OAB for your Mailbox Database
#If you skip this step,
#Outlook 2003 clients will not be able to download OAB after you move their mailboxes


3. Install UCC (Unified Communications Certificate)

4. Change mail flow settings

4.1 Create Internet Send Connector

4.2 Modify Default Receive Connector to receive messages from Internet

4.3 (Optional) If you have documented SMTP Relay exceptions for IP Addresses
(local devices or apps) - create new receive connector for the relay exceptions.

4.4 Enable Outlook Anywhere - set Exchange 2010 Public name as the External Host Name

4.5 Modify Router/Firewall Settings - allow inbound/outbound mail through Exchange 2010.
Port 443 (OWA and Outlook Anywhere) should be forwarded to Exchange 2010.

5. Move mailboxes

5.1 Using Exchange Management Console - New Local Move Request

5.2 Using Exchange Management Shell - bulk processing of all legacy mailboxes

#List legacy mailboxes
Get-Mailbox -RecipientTypeDetails legacyMailbox

#Move all legacy mailboxes
Get-Mailbox -RecipientTypeDetails legacyMailbox | New-MoveRequest -TargetDatabase MBX1-E10

#Check status

Get-MoveRequest

Get-MoveRequest –MoveStatus Completed

 

5.3 Check Move Request status and Move Request Log. Clear Move Request!!!

Get-MoveRequest –MoveStatus Completed | Remove-MoveRequest


 

크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기
2011/11/15 04:40 2011/11/15 04:40