Exchange Server 2007, 2010
2010. 01. 15.
안혁
http://hyok.kr



Exchange 2007 이상에서는 Powershell을 이용하여 사서함 사용량을 쉽게 알 수 있습니다.

[code]
Get-MailboxStatistics | ft DisplayName, TotalItemSize
[/code]

DisplayName           TotalItemSize
-----------           -------------
홍길동                904B
왕서방                4770B
나사장                199927050B


일정 용량 이상 사용자를 알고 싶은 경우도 있을 겁니다.

[code]
Get-MailboxStatistics | Where-Object { $_.TotalItemSize -gt 1024000 } | ft DisplayName, TotalItemSize
[/code]

조금 더 생각해보면 현재 사서함의 평균 사용량도 알아볼 수 있겠지요? 용량을 모두 더하고 수 만큼 나누면 되니 어렵지 않겠습니다.

[code]
#평균 사용량 계산
$result = Get-MailboxStatistics |  Where-Object {$_.objectclass -eq "Mailbox"} #사서함 정보 목록
$total = $null #이전 작업 결과가 들어 있으면 의도치 않은 결과 출력됨
$result | ForEach-Object { $total += $_.TotalItemSize } #사서함 용량의 합
$average = $total / $result.Count #사서함 평균 사용량
 
#결과 처리
$average.Value.ToGB() #용량을 GB로 가져옴
$average.Value.ToKB() #용량을 KB로 가져옴
$average.Value.ToBytes() #용량을 Byte로 가져옴
[/code]

Get-MailboxStatistics을 실행하면 사용자 사서함 이외에 정보도 출력되므로 조건을 걸어 ObjectClass가 MailBox인 것만 가져옵니다. 각각의 TotalItemSize를 합하고 총 개수로 나눕니다. 여기서 나누는 수는 $result의 개수인데요. 이는 사용된 적이 없는 사서함을 포함하지는 않습니다. (유령회원은 회원일까요? 아닐까요?) 그런 것과 상관 없이 모든 사서함 수를 기준으로 하고 싶다면 Get-Mailbox을 활용하면 되겠습니다.

[code]
$average = $total / (Get-Mailbox).Count
[/code]

Posted by 안혁 windfruit

Exchange Server 2007/2010
2009. 12. 22.
안혁
http://hyok.kr



Exchange Server 2007, 2010 개발 시 유용하게 사용할 수 있는 프로그램을 소개합니다. Exchange Web Services(EWS)를 기반으로 만들어진 EWS Editor인데요. 사서함에 들어 있는 아이템의 속성을 일목요연하게 확인할 수 있습니다.

사용자 삽입 이미지

사서함에 있는 여러 폴더에 대하여 접근할 수 있고, 그 각각에 대한 속성들을 볼 수 있습니다. 그리고 자세히 보고 싶은 폴더 더블 클릭하면 내부에 있는 아이템 목록과 각 아이템의 속성을 볼 수 있습니다.

사용자 삽입 이미지

개발 시 손대고 싶은 값이 어떤 속성에 있는지, 어떤 속성이 작업 대상인지 확인할 수 있다는 것은 반가운 일입니다. 일부 속성(String 타입)들은 EWS Editor에서 직접 수정해볼 수도 있습니다. 확장 프로퍼티(Extended Property)는 기본적으로 보이지 않지만 설정하면 확장 프로퍼티 값도 볼 수 있습니다.

사용자 삽입 이미지


확장 프로퍼티는 Tag 또는 ID (+Property Set 필요) 형태로 설정할 수 있는데, 이를 활용하려면 직접 입력해야 하는 만큼 관련 지식에 대한 이해가 필요할 것 같습니다. 잘 알려진 확장 프로퍼티들을 한 번에 입력해주는 버튼도 보이네요. 일괄 입력인 만큼 아이템을 선택했을 때 가져올 수 없는 프로퍼티가 있는 경우 에러가 발생합니다. 프로퍼티를 가져오지 못한 에러라면 확인해서 넘어갈 수 있습니다. (넘어갈 수 없는 에러가 나기도 합니다.)

사용자 삽입 이미지

이런 일련의 작업들은 모두 EWS를 통하여 작동하고 있는데요. 어떤 XML을 주고받는지도 쉽게 확인할 수 있습니다.. 많은 기능이 이 안에 있으므로 참고 자료로서도 충분히 활용될 수 있겠습니다.

사용자 삽입 이미지

사용하다 보면 예상치 못한 곳에서 에러가 발생하기도 하는데요. 지금 기능도 요긴하기에 점차 나아지지 않을까 기대해보렵니다.

다운로드는 다음의 경로에서 가능합니다.
http://code.msdn.microsoft.com/ewseditor

설치하려면 .Net Framework 3.5와 EWS Managed API 1.0이 미리 설치되어 있어야 합니다. 연결 대상 서버는 Exchange Server 2007 SP1 이상이어야 합니다.
Posted by 안혁 windfruit

Exchange Server 2007
2009. 12. 21.
안혁
http://hyok.kr


참고문서
http://simoncpage.co.uk/blog/2008/08/21/exchange-2007-e-mail-rules-limits/



Exchange Server 2007에서 제공하는 규칙에는 제한 용량이 있습니다. 기존 Exchange Server 2003은 32KB인데다가 늘릴 수도 없었지만 2007에서는 더 유연하게 변경되었습니다.

기본값은 64KB이고 파워쉘 명령을 사용해서 사서함별로 이를 128KB, 256KB로 변경할 수 있습니다. Exchange 관리 쉘을 실행합니다.

모든 계정에 대하여 규칙 용량을 256KB로 설정하려면 다음과 같이 실행합니다.

Get-Mailbox | Set-Mailbox -rulesquota 256kb


hyok이라는 계정에 대하여만 설정하려면 다음과 같겠죠.

Set-Mailbox hyok -rulesquota 256kb


설정이 되었는지 확인하고 싶다면 다음과 같이 해보세요.

Get-Mailbox hyok | fl rulesquota

Posted by 안혁 windfruit

Exchange Server 2007
2009. 05. 29.
안혁
http://hyok.kr



Exchange Server 2003이 설치된 환경에 Exchange Server 2007을 설치하면, 기존 2003에서 설정했던 메일 주소 정책은 Exchange 관리 콘솔(조직 구성>허브 전송>전자 메일 주소 정책)에서 볼 수는 있지만, 수정할 수는 없습니다.

사용자 삽입 이미지

Exchange Server 2007에서 관리하기 위해서는 메일 주소 정책의 업그레이드 필요합니다. 업그레이드가 필요한 정책의 목록을 보는 명령어는 다음과 같습니다.

Get-EmailAddressPolicy | where { $_.RecipientFilterType -eq "Legacy" }


타입이 Legacy인 정책들을 출력하는 것인데요. 여기서 출력되는 정책들이 업그레이드의 대상입니다. 업그레이드 명령은 다음과 같습니다.

Set-EmailAddressPolicy "Default Policy" -IncludedRecipients AllRecipients


첫번째 값은 정책 이름입니다. 실행하면 Exchange Server 2003에서 관리할 수 없게 된다는 경고가 출력되고 진행하시면 업그레이드가 됩니다.

Set-EmailAddressPolicy : 사서함 관리자 설정이 들어 있는 받는 사람 정책 "Default Policy"은(는) 현재 버전의 Exchange 관리 콘솔(Management Console)에서 관리할 수 없습니다. 개체와 동일한 버전의 관리 콘솔을 사용하십시오.At line:1 char:23+ Set-EmailAddressPolicy  <<<< "Default Policy" -IncludedRecipients AllRecipients


모든 메일 정책을 업그레이드한다면 다음과 같이 하면 되겠지요.

Get-EmailAddressPolicy | Set-EmailAddressPolicy "Default Policy" -IncludedRecipients AllRecipients


더 자세한 내용은 아래 경로를 참고하세요.

http://msexchangeteam.com/archive/2007/01/11/432158.aspx








 

Posted by 안혁 windfruit

Exchange Server 2007
2008. 4. 1.
안혁
http://hyok.kr



Rollup 설치를 시작하면 설치 프로그램은 Exchange Server와 관련되어 있는 모든 서비스의 상태를 사용 안 함으로 변경합니다. 정상적으로 설치를 완료하면 다시 원래의 상태로 설정되지만, 설치를 실패 했거나 중단할 경우, 이후에 설치를 성공하여도 사용 안 함 상태로 유지됩니다. 그래서 Exchange Server가 정상적으로 작동하지 않게되는 일이 발생합니다. 가능하다면, Rollup 설치는 시작했다면 중단하지 않는 것이 좋겠지요. 이미 중단해버렸다면 다음을 참고하여 서비스를 다시 설정, 시작합니다.

사용자 삽입 이미지

서비스가 수동/자동으로 설정되어 있는지, 위처럼 시작됨 상태인지를 확인해 보세요. 서비스를 시작할 때, 실패할 수 있습니다만 그것은 시작 순서가 있기때문이므로 걱정하지 마십시오. 되는 것부터 먼저 진행 후 다시 시도하시면 시작될 것입니다. 시작시킬 수 있는 서비스는 다 했는데도 시작되지 않는 서비스가 남아있다면, 해결 되어야 할 문제가 있다는 의미입니다. 이벤트 뷰어(실행 - eventvwr)를 참고하여서 문제를 해결하세요.

빨간 선으로 싸여진 서비스는 특히 중요한 서비스입니다. 상태가 이상할 경우 가상 먼저 이 둘의 상태를 확인하세요. 설정을 바꿨는데도 반영이 안되는 것 같다면, 가상 먼저 이 둘을 재 시작하여 보기 바랍니다. 파란 선으로 싸여진 서비스는 Exchange와 관련 없어보이는, 하지만 사용되는 서비스입니다.

Posted by 안혁 windfruit

Exchange Server 2007
2008. 11. 28.
안혁
http://hyok.kr



Exchange Server 2007을 설치하면 기본 인증서가 있지만 새로운 인증서로 등록해야할 필요가 있습니다. Exchange Management Shell(이하 EMS)을 사용하여 인증서 요청 문서를 생성하고, 발급받은 인증서를 등록할 수 있습니다.

New-ExchangeCertificate -GenerateRequest -SubjectName "cn=autodiscover.hyok.kr" -DomainName "owa.hyok.kr", "ah-ex.hyok.kr", ah-ex, autodiscover.hyok.kr, autodiscover -PrivatekeyExportable $True -Path c:\certreq_new.txt

EMS에서 위 명령을 실행하면 c:\ 위치에 certreq_new.txt라는 이름으로 인증서 요청 문서가 생성됩니다.

-SubjectName 뒤에 오는 것은 주체 이름이라고 불려지는 항목이며, 이 FQDN에 대하여 인증서를 발급 요청하는 것입니다. 즉, 발급되는 인증서는 autodiscover.hyok.kr에 HTTPS 접속하는 것에 대하여 인증하는 역할을 하게 됩니다.

Outlook 2007에서 Exchange 연결 프로필을 생성할 때 메일 주소를 입력하라고 하는데, 예를 들어 anhyok@hyok.kr이라고 메일 주소를 입력했다면, Exchange Server의 정보를 확인하기 위하여 https://autodiscover.hyok.kr/autodiscover/autodiscover.xml에 정보를 요청합니다. 이 기능은 사용자가 서버 정보를 몰라도 연결 설정을 할 수 있다는 기능입니다. https 요청이므로 이를 위해서 Exchange Server에 등록되는 인증서는 autodiscover.hyok.kr을 주체 이름으로 하여 발급해야 합니다.

-DomainName 뒤에 오는 것은 SAN(Subject Alternative Name)이라고 불려지는 주체 대체 이름입니다. 공인 인증 기관에서 인증서를 발급 받으려면 비용이 발생하는데, a.hyok.kr, b.hyok.kr, c.hyok.kr 등 모든 FQDN을 위해 인증서를 발급한다면 비용에 대하여 걱정하지 않을 수 없을 것입니다. 하나의 인증서에 여러 개의 FQDN을 넣을 수 있도록 인증서를 발급할 수 있으며 이 FQDN들을 SAN이라고 합니다. 위의 경우 autodiscover.hyok.kr 이외이도 owa.hyok.kr, ah-ex.hyok.kr 등 여러가지에 대하여 인증서가 사용될 수 있도록 요청하였습니다.(ah-ex는 Exchange Server의 컴퓨터 이름입니다.)

SAN 첫번째 항목으로 owa.hyok.kr을 입력하였습니다. OWA에 접속할 때 https://autodiscover.hyok.kr/owa라고 해서 접속할 수 있겠지만, 사용자들은 이러한 경로보다는 https://owa.hyok.kr/owa 또는 https://webmail.hyok.kr/owa 등과 같은 이해하기 쉬운 주소를 선호할 것입니다. 이를 위해서 SAN에 owa.hyok.kr을 추가했습니다. 이와 같은 경우가 얼마든지 발생할 수 있기 때문에 SAN이 존재한다고 할 수 있습니다.

ISA 2006이라는 방화벽 솔루션은 주체 이름과 첫번째 SAN만을 통과시켜주도록 디자인되어 있습니다. 이 방화벽 없이 접속할 때는 모든 SAN으로 접속해도 인증서가 작동하지만  ISA 2006을 통하여 접근하게 되면 주체 이름과 첫번째 SAN만을 통과 시킵니다. 이는 오류가 아니라  계획된 설계라고 합니다.(http://blogs.technet.com/isablog/archive/2007/08/29/certificates-with-multiple-san-entries-may-break-isa-server-web-publishing.aspx)

하지만 다행히도 ISA 2006 SP1에서는 Multiple SAN을 지원한다고 합니다.(2008. 12. 09. 추가)(http://blogs.technet.com/isablog/archive/2008/05/23/isa-server-2006-service-pack-1-features.aspx)

SAN에 한 번 더 autodiscover.hyok.kr이 나오는데, 없을 경우 Outlook 2007 프로필 생성 시 인증서 오류가 발생합니다. 이에 대하여 정확한 이유는 모르겠습니다만, 주체 이름 및 주체 대체 이름에 넣으므로 해결이 되기에 이렇게 설정하고 있습니다.

c:\certreq_new.txt을 사용하여 인증 기관에서 인증서를 받았다면 다음의 명령으로 이 인증서를 가져오기 합니다.

Import-exchangeCertificate -path c:\certnew.cer

발급 받은 인증서의 파일 이름은 certnew.cer이라고 가정하였습니다.

Exchange Server에 인증서를 등록할 때 인증서의 Thumbprint가 필요합니다. 현재 가지고 있는 인증서 목록을 다음의 명령으로 확인합니다.

Get-ExchangeCertificate

명령을 실행하면 인증서 목록이 출력되며, 각각의 Thumbprint를 확인할 수 있습니다. 가장 최근에 가져오기 한 인증서가 가장 위에 출력됩니다. Thumbprint를 복사해둡니다.

Enable-ExchangeCertificate -Services "IMAP, POP, IIS, SMTP"

위 명령으로 인증서를 설정합니다. 실행하면 어떤 인증서를 사용할 것이냐고 묻기 때문에 방금 복사해둔 Thumbprint를 입력하면 해당 인증서를 사용하는 것으로 설정됩니다.

 ISA Server를 사용하는 경우, ISA Server에도 Exchange Server의 인증서를 등록하여야 합니다. (방화벽이 있다면 방화벽이 인증서를 대신 가지고 있어야 합니다. 내부 서버에 접근 못하게 하는 것이 방화벽의 역할이니까요.) 인증 기관에서 받은 파일을 사용하는 것이 아니라 서버에 등록된 인증서를 개인키 포함 내보내기 하여 사용해야 합니다.
Posted by 안혁 windfruit
Exchange Server 2007
EWS
2008. 7. 30.
안혁
http://hyok.kr

  • * 시나리오
    • 1. admin@hyok.kr 계정으로 EWS를 연결하여 user1@hyok.kr 계정의 일정을 요청
      2. admin@hyok.kr 계정은 user1@hyok.kr 사서함에 대한 권한을 가지고 있음
      3. wrongid@hyok.kr 사서함은 존재하지 않음
      4. EWS  요청 시 C#에서는 다음의 방식으로 인증합니다.
          > binding.Credentials = new NetworkCredential("admin", "wow!", "hyok.kr");

  • * 성공 요청(권한을 가지고 있는 사서함 요청)
    • 1. Request

1

2


3

4

5

6


7

8

9

10

11

12

13

14

<?xml version="1.0" encoding="utf-16"?>

<FindItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Traversal="Shallow">

<ItemShape xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

<BaseShape xmlns="http://schemas.microsoft.com/exchange/services/2006/types">Default</BaseShape>

</ItemShape>

<CalendarView MaxEntriesReturned="25" StartDate="2008-07-29T00:00:00+09:00" EndDate="2008-07-30T00:00:00+09:00" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" />

<ParentFolderIds xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

<DistinguishedFolderId Id="calendar" xmlns="http://schemas.microsoft.com/exchange/services/2006/types">

<Mailbox>

<EmailAddress>user1@hyok.kr</EmailAddress>

</Mailbox>

</DistinguishedFolderId>

</ParentFolderIds>

</FindItemType>


  • 2. Response

1

2


3

4

5

6

7

8

9

10

11

<?xml version="1.0" encoding="utf-16"?>

<FindItemResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <ResponseMessages xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <FindItemResponseMessage ResponseClass="Success">

      <ResponseCode>NoError</ResponseCode>

      <RootFolder IncludesLastItemInRange="true" TotalItemsInView="0">

        <Items xmlns="http://schemas.microsoft.com/exchange/services/2006/types" />

      </RootFolder>

    </FindItemResponseMessage>

  </ResponseMessages>

</FindItemResponseType>



  • * 실패 요청(존재 하지 않는 사서함 요청)
    • 1. Request

1

2


3

4

5

6


7

8
 

9

10

11

12

13

14

<?xml version="1.0" encoding="utf-16"?>

<FindItemType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Traversal="Shallow">

  <ItemShape xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <BaseShape xmlns="http://schemas.microsoft.com/exchange/services/2006/types">Default</BaseShape>

  </ItemShape>

  <CalendarView MaxEntriesReturned="25" StartDate="2008-07-29T00:00:00+09:00" EndDate="2008-07-30T00:00:00+09:00" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" />

  <ParentFolderIds xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <DistinguishedFolderId Id="calendar" xmlns="http://schemas.microsoft.com/exchange/services/2006/types">

      <Mailbox>

        <EmailAddress>wrongid@hyok.kr</EmailAddress>

      </Mailbox>

    </DistinguishedFolderId>

  </ParentFolderIds>

</FindItemType>


  • 2. Response

1

2


3

4

5

6

7

8

9
 

10

11

12

13

<?xml version="1.0" encoding="utf-16"?>

<FindItemResponseType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <ResponseMessages xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">

    <FindItemResponseMessage ResponseClass="Error">

      <MessageText>SMTP 주소에연결된사서함이없습니다.</MessageText>

      <ResponseCode>ErrorNonExistentMailbox</ResponseCode>

      <DescriptiveLinkKey>0</DescriptiveLinkKey>

      <MessageXml>

        <t:Value Name="SmtpAddress" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">wrongid@hyok.kr</t:Value>

      </MessageXml>

    </FindItemResponseMessage>

  </ResponseMessages>

</FindItemResponseType>



  • * C# 사용하여 테스트하는 경우
    • 1. 실제 사용하려면 Url 정보와 계정 정보를 수정해야 것임
    • 2. 윈폼 어플리케이션 생성 Form1.cs 디자인에서 텍스트 박스 2 추가
    • 3. From.cs 코드에서 다음을 작성

1

2

3

4

5

6

7

8

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33


34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

Public Form1()

{

  InitializeComponent();

  CallEWS();

}

 

private void CallEWS()

{

  ExchangeServiceBinding binding = new EWSCalendarTest.EWS.ExchangeServiceBinding();

  binding.Url = "http://localhost/ews/exchange.asmx";

  binding.Credentials = new NetworkCredential("admin", "wow!", "hyok.kr");

 

  FindItemType findRequest = new FindItemType();

  findRequest.Traversal = ItemQueryTraversalType.Shallow;

  DistinguishedFolderIdType calendarType = new DistinguishedFolderIdType();

  calendarType.Id = DistinguishedFolderIdNameType.calendar;

  calendarType.Mailbox = new EmailAddressType();

  calendarType.Mailbox.EmailAddress = "user1@hyok.kr";

  findRequest.ParentFolderIds = new DistinguishedFolderIdType[] { calendarType };

   

  findRequest.Item = CreateCalendarViewForToday();

  findRequest.ItemShape = new ItemResponseShapeType();

  findRequest.ItemShape.BaseShape = DefaultShapeNamesType.Default;

 

  FindItemResponseType findResponse = binding.FindItem(findRequest);

 

  CreateXmlMessageTextFile(findRequest, findResponse);

}

 

private CalendarViewType CreateCalendarViewForToday()

{

  DateTime dtToday12AM = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0, DateTimeKind.Local);

 

  CalendarViewType calendarView = new CalendarViewType();

  calendarView.StartDate = dtToday12AM;

  calendarView.EndDate = calendarView.StartDate.AddDays(1);

  calendarView.MaxEntriesReturned = 25;

  calendarView.MaxEntriesReturnedSpecified = true;

 

  return calendarView;

}


public void CreateXmlMessageTextFile(EWS.BaseRequestType request, EWS.BaseResponseMessageType response)

{

  using (StringWriter myReqWriter = new StringWriter())

  {

    XmlSerializer mySerializer = new XmlSerializer(request.GetType());

    mySerializer.Serialize(myReqWriter, request);

    textBox1.Text = myReqWriter.ToString();

  }

 

  using (StringWriter myRespWriter = new StringWriter())

  {

    XmlSerializer mySerializer = new XmlSerializer(response.GetType());

    mySerializer.Serialize(myRespWriter, response);

    textBox2.Text = myRespWriter.ToString();

  }

}


'Exchange Server 2007,2010 > Exchange Web Services' 카테고리의 다른 글

EWS Managed API 1.0 RC  (0) 2009.09.16
EWS로 다른 사람의 일정 요청  (0) 2008.07.30
Posted by 안혁 windfruit

Exchange Server 2007
Outlook 2003
2008. 5. 6.
안혁
http://hyok.kr


참고자료
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1064978&SiteID=17


설치 시 클라이언트에서 Outlook 2003을 사용하는지 체크하는 단계가 있습니다. 만약 이 단계에서 체크하지 않고 설치한 후 Outlook 2003을 지원하도록 하려면 다음과 같은 단계를 진행하세요.

1.Management Console에서 'First Storage Group' 저장소 그룹에 Public Folder를 생성

 



2.조직 구성 아래의 사서함의 오프라인 주소록 속성에서 배포 탭에 있는'공용 폴더 배포 사용'을 체크한 후 Outlook 2003을 지원하도록 체크 ( RPC over HTTP를 사용하여 접속 시 Outlook 2003 sp1 이상이어야 합니다. )

 



3. 서버 구성의 사서함에 있는 Mailbox Database의 속성의 클라이언트 설정 탭에서 '기본 공용 폴더 데이터 베이스'를 생성한 데이터 베이스로 설정


 


4.오프라인 주소록을 업데이트


5.다음의 서비스를 다시 시작 (실행: services.msc)


6.Outlook을 실행하여 동기화

Posted by 안혁 windfruit

Exchange Server 2007
OWA
Office Communication Server 2007
Office Communicator Mobile

2008. 1. 31.
안혁
http://hyok.kr



PDA에서 Outlook Web Access 또는 Office Communicator Mobile을 사용하려면 PDA에 인증서 체인이 설치 되어야합니다. 다음은 이를 위한 작업이며, Windows Mobile 5에서 테스트 되었습니다.

<추가 - 2009.08.29.> Windows Mobile 6 이상에서는 인증서 체인 파일을 실행하는 것만으로 설치가 가능합니다. 이후 버전에서 다음 방법은 불 필요한 것으로 생각됩니다.

<추가 - 2010.01.29.> 공인 인증서를 사용할 경우 클라이언트(PDA)에 인증서 체인을 설치할 필요가 없습니다. 서버에 사설 인증서를 등록한 경우, 해당 인증서를 발급한 사설 인증 기관을 클라이언트가 신뢰할 수 있도록 해당 기관의 인증서 체인을 설치하는 것입니다.

인증서가 설치 되어있는 컴퓨터를 사용하여 PDA용 인증서를 생성하겠습니다.
인터넷 익스플로어에서 인터넷 옵션에 보면 다음과 같이 인증서를 확인 할 수 있습니다.

사용자 삽입 이미지
PDA용으로 배포할 인증 기관을 선택하고 보기 버튼을 클릭합니다.

사용자 삽입 이미지
사용자 삽입 이미지
손도장 값이 필요합니다. 메모장에 복사하여 두세요. 그리고 '파일에 복사' 버튼을 클릭합니다.

사용자 삽입 이미지
파일 내보내기를 Base 64 인코딩으로 선택하여 임의의 폴더에 저장합니다.

사용자 삽입 이미지
저장된 파일의 내용을 보면 다음과 같은 형태로 만들어 집니다. 시작/끝 표시인 첫 줄과 마지막줄을 제외한 내용을 사용하게 됩니다.

사용자 삽입 이미지
손도장은 빈 칸을 제거하여 분홍색 사각형안에, 파일로 저장된 내용은 주황색 사각형 안에 넣어 _setup.xml이라는 이름으로 저장합니다.

사용자 삽입 이미지
다음은 XML 예제입니다.

<wap-provisioningdoc>

 <characteristic type="CertificateStore">

  <characteristic type="ROOT" >

   <characteristic type="bf989ed8test13fcd8b93491dtest2b9f52c992f">

    <parm name="EncodedCertificate" value="

MIIEjDCCA3SgAwIBAgIQdWJxG4Cbk7xFMnfAr33j4jANBgkqhkiG9w0BAQUFADBT

MRIwEAYKCZImiZPyLGQBGRYCa3IxEjAQBgoJkiaJk/IsZAEZFgJjbzEVMBMGCgmS

JomT8ixkARkWBXNpczIxMRIwEAYDVQQDEwlPQ1MyMDA3Q0EwHhcNMDcxMjIwMDEx

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

kiaJk/IsZAEZFgJjbzEVMBMGCgmSJomT8ixkARkWBXNpczIxMRIwEAYDVQQDEwlP

Q1MyMDA3Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4ick7NxUx

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

rQ9wJsb5801+ezx/tQitK9C77IxIkcOB7CwSD6LE96kn2x0H+qzsUuVkkDaajQut

635fRIbzyGoSgnTN0fmnqNUEWfVArX6fDQzXwCHnRISG0AKYvWSBWiZLLZfxSjx8

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

jrtHW6/WnVwtAgMBAAGjggFaMIIBVjALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw

AwEB/zAdBgNVHQ4EFgQUgq/HZ8E7miMZw0ccuzJG0T4TyogwggEDBgNVHR8Egfsw

gfgwgfWggfKgge+GgbVsZGFwOi8vL0NOPU9DUzIwMDdDQSxDTj1zLWVjcC1vY3Ms

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

PUNvbmZpZ3VyYXRpb24sREM9c2lzMjEsREM9Y28sREM9a3I/Y2VydGlmaWNhdGVS

ZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENsYXNzPWNSTERpc3RyaWJ1dGlvblBv

aW50hjVodHRwOi8vcy1lY3Atb2NzLnNpczIxLmNvLmtyL0NlcnRFbnJvbGwvT0NT

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

BjKJ3HNFjABHkntl9Bjw9nmTFwKfD9COlyJhq0C7BTmLUWmetdxY2BL4nOpK6HhP

zYQ/Pt4kf0VW0+Xk3jW9d/uUyiaj5qD1zsbDvxKGsrWnELRggckJo6MaC2PkSzWA

Test1tEset2teSt3tesT4Test1tEset2teSt3tesT4Test1tEset2teSt3tesT41

Na6U5rgENKtIkUzIyeKBuJn9CreAlNwctrhxHXPIPe19N9qN5y/IUHbAuvYwTqj/

6b0wYYzK/0WC9h5Thbcux4eMWQyscjdl6rjCt82bm6CT59W1rtrGfu0xM+mVbQHX

hjozp317uONIdaxfkGxGTg=="/>

   </characteristic>

  </characteristic>

 </characteristic>

</wap-provisioningdoc>

저장된 XML을 사용하여 PDA에 인증서 체인 설치에 사용할 CAB 파일을 생성합니다.
명령어는 다음과 같습니다.

makecab _setup.xml rootcert.cab

커맨드 창에서 명령어를 실행하면 다음과 같이 진행됩니다.
 

사용자 삽입 이미지
이렇게 해서 생성된 rootcert.cab가 PDA용 인증서 설치 파일 입니다. 이 파일을 PDA에 복사하여서 실행하면 인증서가 설치됩니다.




Posted by 안혁 windfruit

Exchange Server 2007
OWA
2007. 00. 00.
안혁
http://hyok.kr



Exchange Server 2007 SP1을 설치할 때에, 한글 버전을 사용하고 계신다면 설치 점검 단계에서 UM의 ko-KR 언어팩을 제거하라는 에러를 만나게 됩니다. 약간 당황스러울 수 있는데요. (제가 그랬습니다.) 다음과 같은 명령으로 언어팩을 제거 할 수 있습니다. 익스체인지 관리 쉘에서 실행했습니다. 실행되는 폴더(D:\tmp)는 서비스팩의 경로입니다.


[PS] D:\tmp>./Setup.com /RemoveUmLanguagePack:ko-KR

Microsoft Exchange Server 2007 무인 설치 시작

Exchange 설치 준비 중

다음 통합 메시징 언어 팩이 제거됩니다.

    "ko-KR용 통합 메시징 언어 팩"

Microsoft Exchange Server 선행 조건 검사 수행 중


Microsoft Exchange Server 구성 중

    (ko-KR)에 대한 UM 언어 팩        ......................... 완료

Microsoft Exchange Server 설치 작업이 완료되었습니다.


Posted by 안혁 windfruit
이전버튼 1 2 이전버튼