108bones Technical Notes
108bonesが日々勉強している技術系のメモ。 初心者に優しいサイトを目指します。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ActiveSync Windows Mobile との同期
Active Sync での同期の検証を行いました。

■ TechNet Webcast: 24 Hours of Exchange Server 2007 (Part 18 of 24): Mobility
http://msevents.microsoft.com/cui/WebCastEventDetails.aspx?culture=en-US&EventID=1032323564&CountryCode=US
■ Windows Mobile 6.0 SDK
http://www.microsoft.com/downloads/details.aspx?familyid=06111a3a-a651-4745-88ef-3d48091a390b&displaylang=en

ヘルプにも情報があると思うんですが、とりあえず上記の情報をもとに検証したので、その
結果をまとめておきます。尚、今回利用した OS は Windows Server 2003 です。VISTA の
場合は Activesync ではなくモバイルセンターで Windows Mobile との同期を行えます

- 事前準備 -
1. Windows Mobile 6.0 SDK と ActiveSync 4.5 をインストールします。

2. Emulater を起動して 「File」 → 「Configure」 より 「Network」 タブをクリックします。
  「Enable NE2000 PCMCIIA network adapter and bind to;」 にチェックを入れて
  「Connected network card」 を選択し 「OK」 をクリックします。
ActiveSync_01.gif

3. Windows Mobile 上で 「スタート」 → 「設定」 をクリックします。
ActiveSync_02.gif

4. 「接続」 をクリックして 「ネットワークカード」 をダブルクリックします。
ActiveSync_03.gif

5. 設定は環境によって異なりますので割愛しますが、Exchange Server に対して
  通信が可能な設定を行ってください。また名前解決ができるようにしてください。

- ActiveSync Mailbox Policy の作成 -
1. Exchange 管理コンソールの 「組織の構成」 - 「クライアントアクセス」 で右クリックし、
  「Exchange ActiveSync メールボックス ポリシーの新規作成」 をクリックします。
ActiveSync_07.gif

2. 必要に応じて設定をして 「新規作成」 をクリックします。作成が完了したら
  「終了」 をクリックしてください。
ActiveSync_08.gif

3. 管理シェルで以下のコマンドを実行して、全てのメールボックスに作成したポリシーを
  適応します。 (実際は必要なメールボックスにだけ設定します)
Get-CASMailbox | Set-CASMailbox -ActiveSyncMailboxPolicy:"Default ActiveSync Mailbox Policy"
  ※ポリシーはメールボックスに対して 1 つしか設定できません。

4. 「管理ツール」 より 「インターネットインフォメーション サービス マネージャ」 を起動します。

5. 「Microsoft-Server-ActiveSync」 を右クリックして 「プロパティ」 をクリックします。
ActiveSync_13.gif

6. 「ディレクトリ セキュリティ」 タブをクリックして 「セキュリティで保護された
  通信」 の 「編集」 をクリックします。
ActiveSync_14.gif

7. 「セキュリティで保護されたチャネル(SSL)を要求する」 のチェックが
  外れていることを確認します。
ActiveSync_15.gif

- Windows Mobile ActiveSync の設定 -
1. Windows Mobile 上で 「スタート」 → 「プログラム」 をクリックします。
ActiveSync_09.gif

2. ActiveSync をダブルクリックします。
ActiveSync_10.gif

3. 「Exchange Server と同期するようにデバイスを設定できます。」 をクリックします。
ActiveSync_11.gif

5. サーバ アドレスを入力して、 「このサーバーは暗号化(SSL)接続が必要」
  のチェックを外します。警告を「OK」で閉じで 「次へ」 をクリックします。
※サーバ名は名前解決できるものにしてください。
ActiveSync_12.gif

6. 必要な情報を入力して 「次へ」 をクリックします。
ActiveSync_16.gif

7. 「完了」 をクリックします。
ActiveSync_17.gif

8. 元の画面に戻ると同期が始まります。初めての同期の際に、ポリシー適用が確認されます。
  「OK」 をクリックしてください。
ActiveSync_18.gif

9. パスワード入力を必須にした場合はパスワードの設定を行います。ポリシーを満たすように
  パスワードを設定してください。

以上で設定は完了です。予定やメールなどを作成して、同期確認をしてください。

Webcast のデモを見た限り SSL 通信を無効にして設定をしていたので、今回もそれに
合わせて検証してみましたが、次回は SSL 通信での検証をしたいと思います。

Add-ADPermission と Add-MailboxPermission
Outlook の設定で代理送信がありますが、Exchange では完全にその人になりすましてメールを
送信することができます。(なりすますってなんか響きが悪いですね。。その人としてがいいかな)

■メールボックスに対する送信者アクセス許可を与える方法
http://technet.microsoft.com/ja-jp/library/5b67866c-d466-4200-a438-d1adf01482f0.aspx
■メールボックス アクセスを許可する方法
http://technet.microsoft.com/ja-jp/library/aa996343.aspx

Outlook を利用する場合と、OWA を利用する場合で手順が異なります。
共通する部分としては、 Active Directory の権限として送信者の権限を与える必要があります。

今回は UserB が UserA としてメールを送信するための手順を検証しました。

- 送信者アクセス許可を与える -
1. 管理シェルで以下のコマンドを実行します。
Add-ADPermission -Identity:"UserA" -User:"UserB" -ExtendedRights:"send-as"

ちなみに 「Active Directory ユーザとコンピュータ」 でも設定が可能ですが今回は省略

2. 変更をすぐに反映する場合は、サービスの再起動をします。
Restart-Service msexchangeis

- owa を利用する場合 -
1. 管理シェルで以下のコマンドを実行します。
Add-MailboxPermission -Identity:"UserA" -User:"UserB" -AccessRights:"FullAccess"

2. owa に UserB でログインします。

3. 右上にあるユーザ名をクリックします。
send_as_01.gif

4. ボックスに UserA と入力して 「開く」 をクリックします。
send_as_02.gif

5. UserA のメールボックスが開くので、任意の宛先に送信します。受信側では、UserA から
送信されたように見えます。

- Outlook を利用する場合 -
1. UserA のプロファイルで Outlook を起動します。

2. 「ツール」 → 「オプション」 より 「代理人」 タブをクリックします。

3. 「追加」 をクリックして UserB 選択して、「OK」 をクリックします。
4. 「受信トレイ」 にて 「参照と作成(アイテムを参照、作成できる)」 を選びます。
send_as_03.gif

5. 「OK」 を押して全てを閉じます。Outlook も終了します。

6. UserB のプロファイルで Outlook を起動します。

7. メールの新規作成をします。新規作成画面で 「オプション」 をクリックします。
send_as_04.gif

8. 「差出人の表示」 をクリックします。
send_as_05.gif

9. 差出人に 「UserA」 を入力して、任意の宛先にメールを送信します。受信側では、UserA から
送信されたように見えます。
send_as_06.gif

仮に一番初めの手順を実行しなかった場合には、受信者には UserB が UserA の
代理で送付した旨のメッセージが出るようになっています。

権限の設定が Exchange 側と AD 側で分かれているのでちょっとややこしい気がします。

認定試験に関する噂とワザ
面白い記事を見つけたので紹介。

■Certification Rumors and Tips
http://www.sqlservercentral.com/columnists/btarvin/3052.asp

うーむまさにその通り!!

エッジトランスポートサーバの追加
エッジトランスポートサーバの追加を検証しました。ヘルプは以下の通り。

■エッジ トランスポート サーバーの複製構成関連
http://technet.microsoft.com/ja-jp/library/aa998622.aspx
http://technet.microsoft.com/ja-jp/library/aa996008.aspx

■エッジトランスポートサブスクリプションに関して
http://technet.microsoft.com/ja-jp/library/aa997590.aspx
http://technet.microsoft.com/ja-jp/library/bb123538.aspx

■トランスポートルールに関して
http://technet.microsoft.com/ja-jp/library/bab70bf2-3ad2-4721-a7e5-fd999ef49378.aspx

では早速やったことをまとめます。

-構成ファイルの複製-
1. 2台目のサーバにエッジトランスポートの役割をインストールします。

2. 1台目のサーバ上で管理シェルを起動して、 Script フォルダに移動します。
cd C:\Program Files\Microsoft\Exchange Server\Scripts

3. 構成ファイルをエクスポートします。
ExportEdgeConfig.ps1 -CloneConfigData:"C:\CloneConfigData.xml"

4. エクスポートしたファイルを 2台目のサーバの C 直下にコピーします。

5. 管理シェルを起動して、Script フォルダに移動します。
cd C:\Program Files\Microsoft\Exchange Server\Scripts

6. 以下のコマンドで応答ファイルを作成します。
ImportEdgeConfig.ps1 -CloneConfigData:"C:\CloneConfigData.xml" -IsImport $false -CloneConfigAnswer:"C:\CloneConfigAnswer.xml"

7. 作成された応答ファイルを Notepad 等で開いて、必要に応じで編集します。
  ※私の場合はサーバ名の変更だけでした。

8. 以下のコマンドで構成ファイルをインポートします。
ImportEdgeConfig.ps1 -CloneConfigData:"C:\CloneConfigData.xml" -IsImport $true -CloneConfigAnswer:"C:\CloneConfigAnswer.xml"

確認が出るので必要に応じて Y を押していきます。以上で構成ファイルのインポート完了。

-サブスクリプション購読-
1. 2台目のサーバ上で管理シェルを開きます。

2. 以下のコマンドでエッジトランスポートサブスクリプションを作成します。
New-EdgeSubscription -filename "C:\EdgeSubscriptionInfo.xml"

3. 作成されたファイルを、トランスポートサーバの役割がインストールされているサーバの
  C ドライブ直下にコピーします。

4. トランスポートサーバ上で管理シェルを起動して、以下のコマンドを実行します。
New-EdgeSubscription -Filename "C:\EdgeSubscriptionInfo.xml" -Site:"Default-First-Site-Name"
※サイト名は環境に合わせて変更してください。

以上でエッジトランスポートサブスクリプションの購読完了。

-トランスポートルールの複製-
1. 1台目のサーバ上で管理シェルを開きます。

2. 以下のコマンドを実行して、トランスポートルールをエクスポートします。
Export-TransportRuleCollection -FileName "C:\TransportRules.xml"

3. 作成されたファイルを 2台目のサーバの C ドライブ直下にコピーします。

4. 2台目のサーバ上で管理シェルを開きます。

5. 以下のコマンドを実行して、トランスポートルールをインポートします。
Import-TransportRuleCollection -FileName "C:\TransportRules.xml"

以上でトランスポートルールの複製完了

- DSN の登録 -
1. DNS サーバで 2台目のサーバのホストを登録します。

2. 環境に合わせて MX レコードを追加します。優先度に注意してください。

- その他 -
すぐに EdgeSync を実行したい場合はトランスポートサーバ上で以下のコマンドを実行します。
Start-EdgeSynchronization

以上ですべての作業完了です。これから動作検証しますが、なにか抜けてるかも。。。
トランスポートルールの複製がヘルプになく、忘れがちかなと思いました。ただハブトランス
ポートサーバと異なり、毎回手動で複製が必要なので、重要なポイントだと思います。


障害対策 : Dial Tone の利用
障害発生時に、とりあえずユーザがメールを使えるようにする技術として Dial Tone というものが
あるそうです。ヘルプで調べましたが、日本語では見つけることが出来なかったので、以下のURL
を参考に検証しました。

■ Technet - Dial Tone Recovery
http://technet.microsoft.com/en-us/library/bb310765.aspx

■回復用ストレージ グループを使用してメールボックスを回復する方法
http://technet.microsoft.com/ja-jp/library/aa997694.aspx

当然何パターンか回復方法があるようですが、今回は同一サーバで別ストレージに Dial Tone
データベースを作って検証をしてみました。微妙にやり方あっているのか不安ですが、動いたので
紹介だけしておきます。

■前提 ドメイン:misaki.com DC兼Exchange:KEN-W23E

1. ストレージグループ : SG1、データベース:MBD1、TestUser メールボックスをつくります。
New-StorageGroup -Name:"SG1" -Server:KEN-W23E
New-MailboxDatabase -Name:"MBD1" -StorageGroup:"SG1"
Mount-Database -Identity:"MBD1"
New-Mailbox -Database:"SG1\MBD1" -Name:"TestUser" -FirstName:"Test" -LastName:"User" -UserPrincipalName:"testuser@misaki.com" -OrganizationalUnit:"misaki.com/Users"
※パスワードは聞かれた時に入力するか、 ConvertTo-SecureString を利用してください。

2. owa で接続して、予定を 1 件作ります。
dial_tone_01.gif

3. データベースのバックアップを取得します。
dial_tone_02.gif

4. Dial Tone 用に ストレージグループ : SG2、データベース:MBD1 を作成します。
※データベース名は揃える必要があるようです。
New-StorageGroup -Name:"SG2" -Server:KEN-W23E
New-MailboxDatabase -Name:"MBD1" -StorageGroup:"SG2"
Mount-Database -Identity:"SG2\MBD1"

5. ここで障害が発生したと過程します。以下のコマンドを実行してユーザを Dial Tone
  データベースに接続できるようにします。(ここでは TestUser だけ)
Move-Mailbox -Identity:TestUser -TargetDatabase:"SG2\MBD1" -ConfigurationOnly -Confirm:$false

-ConfigurationOnly を付けることで、実際のデータは移動せず、接続先情報だけ移動します。

6. owa に再度接続します。登録した予定が存在しないことを確認し、別の予定を作成します。
dial_tone_03.gif


7. 元のストレージグループで回復用ストレージグループとデータベースを作成します。
また元のデータベースと回復用データベースで上書を有効にします。
New-StorageGroup -Recovery -Name:"RSG" -Server:KEN-W23E
New-MailboxDatabase -MailboxDatabaseToRecover:"SG1\MBD1" -StorageGroup:"RSG"
Set-MailboxDatabase -Identity:"SG1\MBD1" -AllowFileRestore:$true
Set-MailboxDatabase -Identity:"RSG\MBD1" -AllowFileRestore:$true

8. 先ほど取得したバックアップを復元します。(Windows のバックアップツールから SG1 向けに
  復元すれば OK です。)
※今回別にファイル破損している訳ではないのですが一応復元。

9. 回復用のデータベースをマウントしてデータを回復します。
Mount-Database -Identity:"RSG\MBD1"
Restore-Mailbox -Identity:TestUser -RSGDatabase:"RSG\MBD1" -Confirm:$false

10. 以下のコマンドを実行してユーザを元のデータベースに接続できるようにします。
Move-Mailbox -Identity:TestUser -TargetDatabase:"SG1\MBD1" -ConfigurationOnly -Confirm:$false

11. owa に接続して、初めに登録した予定が存在することを確認します。

12. 回復用ストレージのデータベースと、Dial Tone 用のデータベースをアンマウントします。
Dismount-Database "RSG\MBD1"
Dismount-Database "SG2\MBD1"

13. Dial Tone 用のデータベースファイルを回復用ストレージの保存先へコピーします。
※MDB01.edb と log ファイル

14. 回復用のデータベースをマウントしてデータを回復します。
Mount-Database -Identity:"RSG\MBD1"
Restore-Mailbox -Identity:TestUser -RSGDatabase:"RSG\MBD1" -Confirm:$false

15. 再度 owa に接続して、両方の予定が見れることを確認します。
dial_tone_04.gif

以上で回復も終了して、無事に使えるようになりました。
最後に回復用ストレージグループを削除すれば終了です。
Remove-MailboxDatabase -Identity:"RSG\MBD1" -Confirm:$false
Remove-StorageGroup -Identity:"RSG" -Confirm:$false
del -Path:'C:\Program Files\Microsoft\Exchange Server\Mailbox\RSG' -Recurse

個人的に気になる点としては、手順 13 の手動でファイルコピーするところなんですが、
これって本当はコマンドでできたりするのかもしれません。あとは Restore-Mailbox の
使い方を詳しく調べてみたいです。

実際にはこれらの作業はほとんど ツールボックスのデータベース回復管理で実行できます。
GUI の方が簡単に分かるのでお勧めですが、コマンドの方が何をやっているかより正確に
把握できると思い、今回はコマンドで検証してみました。

早くヘルプが日本語化されるといいですねぇ。



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。