スマホ向け表示

記事一覧

Exchange Server 2003 複数ドメインの設定方法

Exchange Server を設定するとき、英文字は大文字・小文字(SMTP・smtp など)がそれぞれ
別の設定として認識されるので必ず間違いがないかを確認 
 
 
★設定したい内容
・Windows Server 2003ドメインで操作
・現在のドメイン名:test.local
・追加したいドメイン名:test1.local
 ※ただしプライマリには、現在のドメイン名を継続で利用が前提条件であること
 (後に、プライマリを変更予定) 
・追加ドメインユーザー用のメールアカウント設定
・既存+追加アカウントという構成にして、複数ドメインアカウントで電子メールを受信可能にするための設定
・新規ユーザーを作成して転送専用メールアドレスとして使う。作成したユーザーアカウントでログオンしない
 
 
====================================================
☆複数ドメインの設定方法
====================================================
   
① 「スタート」
   -「すべてのプログラム」
    -「Microsoft Exhange」
     -「システム マネージャ」の順にクリック
② 「受信者」
   -「受信者ポリシー」
    -「Default Policy」の順にクリックし、プロパティ開く
③ 「電子メール アドレス(ポリシー)」タブクリック
   -「新規」クリック
④ 「SMTP アドレス」選択し、「OK」クリック
⑤ 「アドレス」へ「@test1.local」を入力
⑥ "このアドレスへのメール配信すべてに、このExchange組織を使用する"
  チェックが入っていることを確認して「OK」クリック
⑦ 「電子メール アドレス(ポリシー)」タブに戻るので、
  追加したドメインにチェックを入れずに「適用」クリック
⑧ 「OK」 クリックし、Exchange システム マネージャを終了する
 
 
数分程度待ってから、(ユーザーの規模などによるので一概にはいえない)
  ADユーザーとコンピュータを開き、ドメインに所属しているユーザーアカウントのプロパティで、
  [電子メール アドレス]タブに、新ドメインのメールアカウントが追加されていないかを確認しておくとよい 
 
 
 
//////////////////////////////////////////////////////////////////////////////// 
プライマリを変更する場合は、⑦に戻り、プライマリにする側のアドレスを選択してから
「プライマリに設定」をクリックし、「適用」 をクリック 
 
 【確認メッセージ】ウィンドウが表示される
種類が[smtp]の電子メール アドレスが変更されました。
対応する受信者の電子メール アドレスをすべて更新して、これらの新しいアドレスと一致させますか?
 「はい」 をクリックする
 
 【確認メッセージ】ウィンドウが表示される
種類が[SMTP]の電子メール アドレスが変更されました。
対応する受信者の電子メール アドレスをすべて更新して、これらの新しいアドレスと一致させますか?
 「はい」 をクリックする
 
「OK」 をクリックし、[Default Policy のプロパティ] を終了する
 
 
※上記手順では、全体を通して既存の既定アカウントが新ドメインのメールアドレスに変更となるため、
既存ドメインと新ドメインの両方を使用する場合には、
上記手順⑦ 生成ルールにある、[smtp] のチェックもせずに
「適用」 後、「OK」 クリックすること
 
いつどのタイミングで実行するかは状況によって変わるので、
いつでも変更しても問題のないようにテストは絶対したほうがいいのかなと思います。
 
////////////////////////////////////////////////////////////////////////////////
ここから下の設定は、プライマリを変更するまでの間、いったん複数ドメインの設定だけ登録をしておいて、
メールアカウントは既存のもので送受信するユーザーと、新規アカウントを使用するユーザー用の設定
あとからプライマリを変更したときに全体が変わってしまうのを防ぐ目的です 


 
 
====================================================
☆新ドメイン用にメールアカウントを変更する
====================================================
  
※既存ユーザーの電子メール アドレスの一括変更(追加)をする場合には、
 最初に登録されている電子メール アドレスをエクスポートする
 これは、既存のメールアカウントで送受信するという場合に設定すると便利
 その後、設定内容を編集してインポートしておく 
 
 
① Exchange Server側でコマンドプロンプトを開く
② 以下を入力し、実行する
 
LDIFDE -u -f c:\export.ldf -r "(objectClass=User)" -d "cn=users,DC=test,DC=local" -l proxyaddresses
 
  
※ オプションの説明:
  -u unicode文字の扱いを行う
  -f ファイル選択(ここでは保存先を指定している)
  -r オブジェクトの選択
  -d ドメイン名
  -l 属性の選択 proxyaddresses は、[電子メール アドレス] タブのこと
 
 
③ エクスポートしたファイルをメモ帳で開く
 
開くと以下のような感じになる
------------------------------------------------

dn: CN=IUSR_EXCHANGE2003,CN=Users,DC=test,DC=local
changetype: add

dn: CN=IWAM_EXCHANGE2003,CN=Users,DC=test,DC=local
changetype: add

dn: CN=Administrator,CN=Users,DC=test,DC=local
changetype: add
proxyAddresses: SMTP:Administrator@test.local
proxyAddresses: X400:c=JP;a= ;p=test;o=Exchange;s=Administrator;
proxyAddresses: smtp:postmaster@test.local

dn: CN=Guest,CN=Users,DC=test,DC=local
changetype: add

dn: CN=SUPPORT_388945a0,CN=Users,DC=test,DC=local
changetype: add

dn: CN=テスト 太郎,CN=Users,DC=test,DC=local
changetype: add
proxyAddresses: SMTP:test-taro@test.local
proxyAddresses: X400:c=JP;a= ;p=test;o=Exchange;s=test-taro;

dn: CN=test-jiro,CN=Users,DC=test,DC=local
changetype: add
proxyAddresses: SMTP:test-jiro@test.local
proxyAddresses: X400:c=JP;a= ;p=test;o=Exchange;s=test-jiro;

dn: CN=testuser3,CN=Users,DC=test,DC=local
changetype: add
proxyAddresses: SMTP:testuser3@test.local
proxyAddresses: X400:c=JP;a= ;p=test;o=Exchange;s=testuser3;

dn: CN=krbtgt,CN=Users,DC=test,DC=local
changetype: add

------------------------------------------------ 
④ 電子メールアドレスの変更が必要なユーザー以外は全削除し、
  以下のような内容に編集する
  ※ここではユーザー名「テスト 太郎」と「test-jiro」を対象とする
 
 
<設定したい内容>
 
「テスト 太郎」のメールアドレス:
現)test-taro@test.local
新)taro@test1.local (プライマリ)
  test-taro@test.local 
 
「test-jiro」のメールアドレス:
現)test-jiro@test.local
新)jiro@test1.local (プライマリ)
  test-jiro@test.local
 
 
---------------ここから---------------
 
dn: CN=テスト 太郎,CN=Users,DC=test,DC=local
changetype: modify
replace: proxyAddresses
proxyAddresses: smtp:test-taro@test.local
-
add: proxyAddresses
proxyAddresses: SMTP:taro@test1.local
-

dn: CN=test-jiro,CN=Users,DC=test,DC=local
changetype: modify
replace: proxyAddresses
proxyAddresses: smtp:test-jiro@test.local
-
add: proxyAddresses
proxyAddresses: SMTP:jiro@test1.local
-

---------------ここまで---------------
 
ファイルの内容の解説だが、「テスト 太郎」を例にしてみると、
 1行目…変更したいユーザーを選択している
 2行目…変更する種類(修正)
 3行目…proxyaddresses=「電子メール アドレス」タブのこと
      replace=変更
 4行目…電子メールアドレスとその種類(SMTP)
 6行目…add=登録。電子メール アドレス登録をしますという宣言
 7行目…登録したい電子メール アドレス
 
"-"(ハイフン) は、必ず必要
また、組織単位(OU)での設定もできる
 
「Administrator」アカウントのように、デフォルトから2つ存在
しているようなメールアドレスを削除するような場合には、
いったん、プライマリを変更しないといけないようである
 
SMTP(大文字)…プライマリに設定したメールアドレス
smtp(小文字)…プライマリではない側のアドレス
 
「Exchange全般」タブのエイリアスを変更する場合は、
proxyaddresses -> mailNickname に変更すればできる
 
もし、プライマリアドレスを削除するなら、以下のように追加する
--------------------------------------
  
delete: proxyAddresses
proxyAddresses: SMTP:test-taro@test.local
-
 
-------------------------------------- 
  
⑤ 名前をつけて.ldfファイルとして保存する(unicode)
   ここでは、Cドライブルートにファイル名 「import.ldf」 として保存する
⑥ コマンドプロンプトを開き、以下を入力・実行する
 
   ldifde -i -u -f c:\import.ldf
 
オプションの説明:
 -i インポートするモード
 -u unicode文字の扱いを行う
 -f ファイル選択(ここでは保存したファイルを呼び出すときに指定している)
 
  
========================================
 
これで変更されるまで数分待ちます。
その後、ADユーザーとコンピュータで確認する
※すぐに確認すると、種類:X400  c=JP;a= ;p=test;o=Exchange;s=test-taro;
が表示されない場合があるが、数分経てば表示される
 
 
上の例で変更し、インポートした結果は次のようになる
ADユーザーとコンピュータで確認しておく
-------------------------------------- 
 
「テスト 太郎」
SMTP(大文字/太字)プライマリ:taro@test1.local
smtp(小文字/細字)その他:test-taro@test.local
X400:c=JP;a= ;p=test;o=Exchange;s=test-taro;
 
「test-jiro」
SMTP(大文字/太字)プライマリ:test-jiro@test.local
smtp(小文字/細字)その他:jiro@test1.local
X400:c=JP;a= ;p=test;o=Exchange;s=test-jiro;
 
-------------------------------------- 
上記のようになっていれば成功
もし、転送設定をしたい場合には、上記で書いた内容を行うようにすればよい
 
 
ただし、ここで最初に書いた複数ドメインの設定をしていて、
プライマリを変更しているとこれとは違った動作になる。
この場合、各ユーザーの電子メールアドレスがアカウントは同一で、
複数ドメインの設定したドメイン名で最初から登録されるようになる
設定しだいでいろいろと変化があるので、ちゃんと確認しないといけない
 
 プライマリドメイン:test.local
 複数追加ドメイン:test1.local
 ユーザーアカウント名:test-taro
 だと、登録される電子メールアドレスは以下のようになっている
  SMTP:test-taro@test.local
  smtp:test-taro@test1.local

上記のエクスポートデータの編集例では、M&Aなんかで、とある会社が、別の会社と合併した(された)ときなど、
ドメインが複数にまたがって存在していてそれぞれでメールアドレスを取得するときなどに便利なのかな?
  
   
それと、やはり送信時にはプライマリドメインでしか送信できないので、
新規ドメインで送信をする場合には、対応するユーザーを作成しておかなければいけない
 
 
====================================================  
☆転送用メールアドレスの設定を行う
====================================================
 
① 転送のための新規ユーザー追加を行う
 
事前準備(確認)
・新規ユーザー追加するためのユーザーログオン名と表示名、パスワードなどのリスト
・転送のみのユーザー追加なので、パスワード無期限にチェックをすることが前提
・転送先のメール アドレス
・転送先(連絡先)の表示名・姓・名・転送先メール アドレスなどのリスト
・連絡先オブジェクト用に新規OUを作成する際の名前
 ※例)これは、ユーザー名[test-jiro]と、連絡先[test-jiro] を同一のOU(Usersコンテナ)に作成できないから。
  別名でそれぞれ登録するのなら、[新規ユーザー1 + 連絡先新規ユーザー1] の2つを
  用意しなければいけない
  ここではわかりやすいように 【転送用】 としている
  
② 事前に連絡先オブジェクト用OU【転送用】 を新規作成しておくため、以下のコマンドを実行する
 
   dsadd ou OU=転送用,dc=test,dc=local
 
 
③ Users コンテナへユーザー追加をする
  ここでは、5ユーザー追加している
  追加する場合には、一括登録コマンドds コマンドを使う
    
-------------ここから-------------
 
dsadd user "cn=test-user1,cn=users,dc=test,dc=local" -display test-user1 -upn test-user1 -pwd p@ssWord -ln test-user1 -pwdneverexpires yes
dsadd user "cn=test-user2,cn=users,dc=test,dc=local" -display test-user2 -upn test-user2 -pwd p@ssWord -ln test-user2 -pwdneverexpires yes
dsadd user "cn=test-user3,cn=users,dc=test,dc=local" -display test-user3 -upn test-user3 -pwd p@ssWord -ln test-user3 -pwdneverexpires yes
dsadd user "cn=test-user4,cn=users,dc=test,dc=local" -display test-user4 -upn test-user4 -pwd p@ssWord -ln test-user4 -pwdneverexpires yes
dsadd user "cn=test-user5,cn=users,dc=test,dc=local" -display test-user5 -upn test-user5 -pwd p@ssWord -ln test-user5 -pwdneverexpires yes
 
-------------ここまで-------------
   
コマンドの説明:
dsadd user ………… dsコマンドでADユーザーを追加します
-display …………… [全般] タブ-「表示名」
-pwd ………………… パスワードを設定する (ここでは、p@ssWord  と設定)
-upn ………………… [アカウント] タブ-「ユーザーログオン名(U)」
-pwdneverexpires … パスワードを無期限設定にするかどうかのオプション yes|no で設定変更が可能
その他、-ln(姓),-fn(名)などいろいろある。
 
  
④ ADユーザーとコンピュータを開き、③で作成したユーザー(test-user1~5)をすべて選択する
⑤ 右クリックして、Exchange タスクを選択する。
⑥ "Exchange タスク ウィザードへようこそ" が起動する
   次へ をクリック
⑦ "実行可能なタスク" では、「メールボックスの作成」 をクリックし、「次へ」 をクリック
⑧ "メールボックスの作成" では、任意のエイリアス名を確認(入力)し、
  "サーバー"、"メールボックス ストア" に表示されている内容を確認し、「次へ」 をクリック
  -> 複数選択している場合のエイリアス部分は、<新しい受信者のエイリアスは自動的に作成されます> 
   と表示され、グレーアウトしている
⑨ "Exchange タスク ウィザードの完了" が表示されれば「完了」 をクリックする
⑩ 作成したユーザーアカウントにExchange属性が付与され、
  電子メール アカウントの設定がされるまでしばらく待つ
⑪ 続いて連絡先(転送先)オブジェクトを、②で作成したOU【転送用】 へ登録する
 
-------------ここから-------------
 
dsadd contact cn=test-user1,ou=転送用,dc=test,dc=local -display test-user1
dsadd contact cn=test-user2,ou=転送用,dc=test,dc=local -display test-user2
dsadd contact cn=test-user3,ou=転送用,dc=test,dc=local -display test-user3
dsadd contact cn=test-user4,ou=転送用,dc=test,dc=local -display test-user4
dsadd contact cn=test-user5,ou=転送用,dc=test,dc=local -display test-user5
 
-------------ここまで-------------
  
コマンドの説明:
dsadd contact… dsコマンドで、ADへ連絡先オブジェクト追加します
-display……… [全般] タブ-「表示名」
 
 
⑫ 登録した連絡先にExchangeメールボックスを作成する
  ※ここでは、"Exchange タスク" を使うことができないのでコマンドにて設定する
  ・メモ帳などで以下のように入力し、csv形式などで保存する。
   ここでは、C:\create_mailbox.csv(unicode形式で保存)とした

-------------ここから-------------
 
dn: cn=test-user1,ou=転送用,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user1
-
add: targetAddress
targetAddress: SMTP:test-user1@nekoprint.mobi
-

dn: cn=test-user2,ou=転送用,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user2
-
add: targetAddress
targetAddress: SMTP:test-user2@nekoprint.mobi
-

dn: cn=test-user3,ou=転送用,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user3
-
add: targetAddress
targetAddress: SMTP:test-user3@nekoprint.mobi
-

dn: cn=test-user4,ou=転送用,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user4
-
add: targetAddress
targetAddress: SMTP:test-user4@nekoprint.mobi
-

dn: cn=test-user5,ou=転送用,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user5
-
add: targetAddress
targetAddress: SMTP:test-user5@nekoprint.mobi
-
 
-------------ここまで-------------
  
説明:
mailNickname ………[Exchange全般] タブ-「エイリアス」
targetAddress ……[Exchange全般] タブ-「電子メール」
 
 
⑬ 作成したファイルをインポートする。以下のように入力・実行する。
 
   ldifde -i -u -f C:\create_mailbox.csv
 
 
ここまで設定すると、はじめて転送先として既存のユーザーに転送設定が入れられる。
   
⑭ 転送したいユーザーに対して転送先を設定する。
  ※ここではUsersに所属するtest-user1~5を、OU=転送用に登録した
  連絡先オブジェクトtest-user1~5 とを紐付ける
 
  ・メモ帳などで以下のように入力し、csv形式などで保存する
  ここでは C:\altRecipient.csv (unicode形式で保存)とした
 
-------------ここから-------------
 
dn: cn=test-user1,cn=users,DC=test,DC=local
changetype: modify
add: altRecipient
altRecipient: CN=test-user1,OU=転送用,DC=test,DC=local
-

dn: cn=test-user2,cn=users,DC=test,DC=local
changetype: modify
add: altRecipient
altRecipient: CN=test-user2,OU=転送用,DC=test,DC=local
-

dn: cn=test-user3,cn=users,DC=test,DC=local
changetype: modify
add: altRecipient
altRecipient: CN=test-user3,OU=転送用,DC=test,DC=local
-

dn: cn=test-user4,cn=users,DC=test,DC=local
changetype: modify
add: altRecipient
altRecipient: CN=test-user4,OU=転送用,DC=test,DC=local
-

dn: cn=test-user5,cn=users,DC=test,DC=local
changetype: modify
add: altRecipient
altRecipient: CN=test-user5,OU=転送用,DC=test,DC=local
-
 
-------------ここまで-------------
   
説明:
altRecipient…[Exchange全般] タブ-[配信オプション]-「転送先」
 
 
⑮ 以下を入力・実行する。 
 
  ldifde -u -i -f C:\altRecipient.csv
 
 
これで外部メールアドレスへ転送する用意ができました。
 
ここまでの設定で、Userコンテナに所属しているユーザー(例:test-user1)にメールが配信されると、
OU=転送先 に登録した連絡先ユーザー(test-user1)のメールアドレス宛に配信されるようになる。
 
 
 
 
 
/////////////////////////////////////////////////////////////////////////
※追記。
 
 ここでは、⑥の手順に、【Exchange タスク】 を使用しました。
 それには理由がありまして、ADユーザーとコンピュータを開いて、ユーザーのプロパティを
 見ればわかるのですが、下の1枚目の画像のようになっているのが通常なんです。
 
ファイル 198-3.jpg
 
しかし、ココを上記のコマンドで作成してしまうと2枚目の写真のようになってしまいます。
※[Exchange 全般] タブの表示内容と、[Exchange の機能] タブがない状態になってしまう。
 
ファイル 198-4.jpg

これもコマンドで一括修正できるのですが、そのぶん、行数が増えてしまうので、
大量のユーザーを登録する場合にはメンドイからです。
 
 
それでもコマンドで、という場合にはいったん以下のコマンドで Users にある、
全ユーザーデータをエクスポートします。 
 ldifde -u -f c:\export2.ldf -d "cn=users,dc=test,dc=local"
  
 
※ここでは、ファイルの保存先にCドライブルートを指定し、export2.ldf という名前で保存。
  
今度はそのエクスポートしたデータにある内容を、新規作成するユーザーに登録するのですが、
それは、【homeMTA:】 という部分をそのままコピー&ペーストすればできます。
ユーザーを新規作成後、下のようにすれば可能になる。
 
※ここでは、test-user10 をコマンドで新規作成し、
 その後メールボックスの新規作成と、[Exchange 全般] タブの "エイリアス" を設定する、とします。
 
-------------ここから-------------
 
dn: cn=test-user10,cn=Users,DC=test,DC=local
changetype: modify
add: mailNickname
mailNickname: test-user10
-
add: homeMTA
homeMTA:
CN=Microsoft MTA,CN=EXCHANGE2003,CN=Servers,CN=最初の管理グループ,CN=Administrative Gro
ups,CN=Exchangeテスト,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=local
-

-------------ここまで------------- 
 
コマンドの説明:
homeMTA・・・[Exchange 全般] タブ
※ CN=Exchangeテスト・・・ここには、Exchange システム マネージャ で表示されている名前が入る 
 
 
 
また、もう作っちゃったという場合には、以下のようにすれば、修正できる。
 
-------------ここから-------------
 
dn: cn=test-user10,cn=Users,DC=test,DC=local
changetype: modify
add: homeMTA
homeMTA:
CN=Microsoft MTA,CN=EXCHANGE2003,CN=Servers,CN=最初の管理グループ,CN=Administrative Gro
ups,CN=Exchangeテスト,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=test,DC=local
-

-------------ここまで------------- 


このようにすれば、1枚目の写真と同じになる。(Exchane タスクで作成した場合と同じになる。)
もちろん、[Exchange の機能] タブも一緒に表示されるようになる。 
 
ま、こんなややこしいことをするくらいなら、というわけで【Exchange タスク】を使用したということです。 
///////////////////////////////////////////////////////////////////////// 
 
 
 
 
 
 
==================================================== 
☆ ここまでの設定の確認をしておく(転送設定確認) 
====================================================
 
ユーザーオブジェクトに対して電子メールアドレスの設定内容と
転送先である連絡先が正しく割り当てられているかを
確認するためのコマンドは以下のようになる。
※ -dオプションでOUなどの指定もできる。
 
ここではCドライブ直下に exchange.csv として保存。
 
ldifde -u -f c:\exchange.csv -r "(objectclass=user)" -l altrecipient,proxyaddresses
 
 
下のような感じで出力される。
※一番上で書いた複数ドメインの設定をしているが、プライマリはまだ変更していないときの出力例
 
  ユーザー名:test-user1
  プライマリドメイン:test.local
  その他ドメイン:test1.local
  プライマリメールアドレス:user-test1@test.local
  転送先(連絡先オブジェクト):転送用OU内にtest-user1を作成し、紐付けしている場合
 
-------------------------------
dn: CN=test-user1,CN=Users,DC=test,DC=local
changetype: add
altRecipient: CN=test-user1,OU=転送用,DC=test,DC=local
proxyAddresses: SMTP:test-user1@test.local
proxyAddresses: X400:c=JP;a= ;p=test;o=Exchange;s=test-user1;
-------------------------------
 
クエリベースの配布グループも作成しておいたほうがよい。 
ただし、作成する場合には、Exchange サーバーをネイティブモードにしないといけない。