none
Exchange Shell에서 Connectivity Log, Protocol level log RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Exchange Shell에서 Connectivity Log, Protocol level log”에 대한 답변을 드리겠습니다.

                

     

    Step 1 : Connectivity Log

     

    아래의 Cmdlet으로 현재 설정되어 있는 Connectivity Log 설정을 확인할 수 있습니다. 확인할 수 있는 설정은 Log 활성화, 파일 최대 보관 기간, 폴더 사이즈, 파일 사이즈, 로그 파일 경로 입니다.

     

    Get-TransportServer | fl ConnectivityLog*

     

     

    아래의 Cmdlet은 최대 파일 보관 기간 45일 폴더 용량을 5기가까지 제한을 합니다.

     

    Set-TransportServer -Identity ForumQAExch01 -ConnectivityLogMaxAge 45 -ConnectivityLogMaxDirectorySize '5 GB'

     

     

     

    Step 2 : Protocol level Log활성화

     

    해당 Connector Protocol Level 로그기능을 활성화 합니다.

     

    Set-SendConnectorIdentity Internet -ProtocolLoggingLevel Verbose



    HubTransport가 기본적으로 가지고 있는 SendConnecotr의 프로토콜 로그기능을 활성화 합니다.

     

    Set-TransportServer -Identity ForumQAExch01 -IntraOrgConnectorPRotocolLoggingLevel Verbose

     

     

    Step 3 : SMTP Log

     

    SMTP Receive 로그 기록 설정을 확인합니다. 확인할 수 있는 설정은 최대 보관기간, 폴더 사이즈, 파일 사이즈, 경로입니다.

     

    Get-TransportServer ForumQAExch01 | fl ReceiveProtocol*

     

    SMTP Send 로그 기록 설정을 합니다. 확인할 수 있는 설정은 최대 보관 기간, 폴더 사이즈, 파일 사이즈, 경로 입니다.

     

    Get-TransportServer ForumQAExch01 | fl SendProtocol*

     

     

    아래는 Receive Connector Protocol Level Log기능을 활성화 합니다.

     

    Set-ReceiveConnector -Identity 'FORUMQAEXCH01\Default FORUMQAEXCH01' -ProtocolLoggingLevel Verbose

     

     

    Step 4 : Script

     

    아래의 Script는 특정 HubTransport 서버의 Connecivity Log기록중에 실패로그에 대한 정보를 제공을 합니다.

     

    function Search-FailedProtocolLog

    {

        param(

            [Parameter(Mandatory=$true)]

            $serverName

        )

       

        $logPath = (Get-TransportServer -Identity $serverName).ConnectivityLogPath

        $logs = Get-ChildItem $logPath

       

        $data = $logs | %{

            Get-Content $_.Fullname | %{

                $IsHeaderParsed = $false

                if($_ -like '#Fields: *' -and !$IsHeaderParsed) {

                    $_ -replace '^#Fields: '

                    $IsHeaderParsed = $true

                }

                else {

                    $_

                }

                } | ConvertFrom-Csv

            }

           

            $data | Where-Object { $_.Description -like '*fail*'}       

    }

     

    Search-FailedProtocolLog "ForumQAExch01"

     

     

     

    참고 자료

    Set-ReceiveConnector

    http://technet.microsoft.com/en-us/library/bb125140.aspx

     

    Set-SendConnector

    http://technet.microsoft.com/en-us/library/aa998294.aspx

     

    Set-TransportServer

    http://technet.microsoft.com/en-us/library/bb124238.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 12월 2일 금요일 오전 8:19
    2011년 11월 14일 월요일 오전 9:29
    중재자