· Exchange Management Console 및 Shell 수행 오류 관련 점검내용

 

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” />

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

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

연결 거부 오류

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

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

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

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

clip_image010

clip_image012

액세스 거부 오류

EMC 연결 오류

“Kerberos”인증을 사용하여 https://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 라는 툴을 다운로드 받습니다.

https://technet.microsoft.com/ko-kr/sysinternals/bb897417 PSGetSID

PSGetSID 도메인명

PSGetSID Exchange서버명

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

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

clip_image015

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