アドレス書き換えエントリをインポートする方法

 

適用先: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

トピックの最終更新日: 2007-02-19

ここでは、Exchange 管理シェルを使用して、Microsoft Exchange Server 2007 エッジ トランスポート サーバーの役割がインストールされているコンピュータにアドレス書き換えエントリをインポートする方法について説明します。

Exchange 管理シェルを使用して、エッジ トランスポート サーバーにアドレス書き換えエントリを一括インポートできます。アドレス書き換えエントリを一括インポートする一般的なシナリオの一部を以下に示します。

  • 移行   エッジ トランスポート サーバー ソリューションで置き換えようとしている以前のソリューションから、アドレス書き換えエントリを一括インポートします。
  • アウトソーシング   サード パーティのソリューション プロバイダとの間で、そのプロバイダの電子メール アドレスの書き換えが必要な契約を結んだ場合、アドレス書き換えエントリの一括インポートが必要になる場合があります。
  • 買収   他の組織を買収した場合、被買収組織の電子メール アドレスを暫定的に書き換えるためにアドレス書き換えエントリの一括インポートが必要になる場合があります。

複数のエッジ トランスポート サーバーがある場合、以下の手順を使用して、1 台のエッジ トランスポート サーバーにアドレス書き換えエントリをインポートし、そのエッジ トランスポート サーバーの構成を組織内の他のエッジ トランスポート サーバーに複製することをお勧めします。

エッジ トランスポート サーバーを複製する方法の詳細については、「エッジ トランスポート サーバーの複製構成の使用」を参照してください。

開始する前に

エッジ トランスポート サーバーの役割がインストールされているコンピュータで以下の手順を実行するには、そのコンピュータのローカルの Administrators グループのメンバであるアカウントを使用してログオンする必要があります。

コンマ区切り (CSV) ファイルを使用してアドレス書き換えエントリを一括インポートする前に、アドレス書き換えエントリを作成する方法を十分に理解しておく必要があります。アドレス書き換えエントリを作成する方法の詳細については、「新しいアドレス書き換えエントリを作成する方法」を参照してください。

手順

以降のセクションは、CSV ファイルを使用してアドレス書き換えエントリをインポートする方法を理解するために役立ちます。

  • CSV ファイルの作成   ここでは、アドレス書き換えエントリをインポートするために使用できる CSV ファイルの必須フィールドおよび省略可能なフィールドについて説明します。また、CSV ファイルで ExceptionList パラメータおよび OutboundOnly パラメータを使用する場合の特定の要件についても説明します。
  • New-AddressRewriteEntry コマンドレットでの CSV ファイルの使用について   ここでは、アドレス書き換えエントリをインポートするために、CSV ファイルに含まれるデータを Exchange 管理シェルがどのように書式設定して使用するのかについて説明します。
  • CSV ファイルのインポートによる複数のアドレス書き換えエントリの作成   ここでは、前のセクションの情報を踏まえ、CSV ファイルをインポートして複数のアドレス書き換えエントリを作成するために必要な Exchange 管理シェル コマンドを使用する方法について説明します。

CSV ファイルの作成

最初に、New-AddressRewriteEntry コマンドレットの必須パラメータと相互に関連付けられる値の列を含む CSV ファイルを作成する必要があります。New-AddressRewriteEntry コマンドレットでは以下の値が必要です。したがって、CSV ファイルにはこれらに対応する列が含まれている必要があります。

  • Name   このパラメータには、アドレス書き換えエントリを一意に識別する文字列を指定する必要があります。
  • InternalEmailAddress   このパラメータには、書き換える内部 SMTP (簡易メール転送プロトコル) アドレスを指定します。
  • ExternalEmailAddress   このパラメータには、書き換える外部 SMTP (簡易メール転送プロトコル) アドレスを指定します。

以下のパラメータは省略可能です。必要に応じて、これらのパラメータの列を CSV ファイルに含めることができます。

  • ExceptionList   このパラメータには、書き換えの対象としないサブドメインの一覧を指定します。指定したサブドメイン内の SMTP アドレスは書き換えられません。
  • OutboundOnly   このパラメータには、Exchange 2007 組織が送信および受信するメッセージの SMTP アドレスをアドレス書き換えエントリで書き換えるか、または Exchange 2007 組織から送信するメッセージの SMTP アドレスだけを書き換えるのかを指定します。

CSV ファイルで ExceptionList 列および OutboundOnly 列の値を指定する場合、すべての行にそれらの列の値を含める必要があります。たとえば、CSV ファイルのいずれかの行に ExceptionList 列の値を指定する場合、他のすべての行にもその列の値を含める必要があります。これは、コマンド ラインの ExceptionList パラメータが CSV ファイルからの値を期待するためです。

ここに示した各パラメータの詳細については、「New-AddressRewriteEntry」を参照してください。

CSV ファイルに ExceptionList パラメータを含める場合の特定の要件

作成する複数のアドレス書き換えエントリの中に、ExceptionList パラメータの値を必要とするエントリと必要としないエントリがある場合は、それらのアドレス書き換えエントリを分けて個別の CSV ファイルを作成し、それぞれをインポートする必要があります。また、ExceptionList パラメータで使用する値は二重引用符 (") で囲む必要があります。ExceptionList パラメータに複数のドメインを指定する場合は、コンマ (,) で各値を区切る必要があります。たとえば、文字列 "domain1.com,domain2.com, domain3.com" は、コンマで区切られ、二重引用符で囲まれた 3 つのドメインを含んでいます。

CSV ファイルに OutboundOnly パラメータを含める場合の特定の要件

CSV ファイルの 1 つの行に OutboundOnly 列の値を指定する場合、ExceptionList パラメータと同様に、CSV ファイルの他のすべての行にも OutboundOnly 列の値を指定する必要があります。ただし、この要件は、各行で OutboundOnly パラメータに True または False を指定することで簡単に対処できます。

Exchange 管理シェルの他の場所でのブール値の使用法とは異なり、CSV ファイルで OutboundOnly パラメータの値を指定する場合は、$True または $False ではなく、True または False という値を指定する必要があります。これは、コマンド ラインで CSV ファイルを解釈する際に、CSV ファイル内の値を手動でブール値に変換するためです。

OutboundOnly パラメータを使用する必要がある場合、および OutboundOnly パラメータを使用する方法の詳細については、「アドレス書き換えの計画」の「送信のみのアドレス書き換えを使用する場合の考慮事項」を参照してください。

省略可能なパラメータが指定された CSV ファイルの例

次の例は、省略可能な ExceptionList パラメータおよび OutboundOnly パラメータを CSV ファイルに指定する方法を示しています。

Name,InternalAddress,ExternalAddress,ExceptionList,OutboundOnly
"Wingtip UK", *.wingtiptoys.co.uk, tailspintoys.com,"legal.wingtiptoys.co.uk,finance.wingtiptoys.co.uk,support.wingtiptoys.co.uk",True
"Wingtip USA", *.wingtiptoys.com, tailspintoys.com,"legal.wingtiptoys.com,finance.wingtiptoys.com,support.wingtiptoys.com,corp.wingtiptoys.com",True
"Wingtip Canada", *.wingtiptoys.ca, tailspintoys.com,"legal.wingtiptoys.ca,finance.wingtiptoys.ca,support.wingtiptoys.ca",True

次の例は、省略可能な OutboundOnly パラメータを CSV ファイルに指定する方法を示しています。

Name,InternalAddress,ExternalAddress,OutboundOnly
"Contoso Sales",*.sales.contoso.com,contoso.com,True
"Contoso Research",*.research.contoso.com,contoso.com,True
"Contoso UK",*.contoso.co.uk,contoso.com,True
"Contoso Japan",*.contoso.co.jp,contoso.com,True
"Contoso Support",support@adatum.com,support@contoso.com,False
"Contoso Financial External",contosofinancial@woodgrovebank.com,financialinqueries@contoso.com,False

New-AddressRewriteEntry コマンドレットでの CSV ファイルの使用について

CSV ファイルを使用してアドレス書き換えエントリをインポートするには、Import-Csv コマンドレットを使用する必要があります。Import-Csv コマンドレットは CSV ファイルを読み取り、CSV ファイルの各行を、その行の各列をプロパティとして持つ 1 つの配列要素として出力します。このトピックで前に示した「省略可能なパラメータが指定された CSV ファイルの例」の CSV ファイルを使用して、このしくみを確認できます。この例のテキストを example.csv という名前のファイルにコピーした後、次のコマンドを使用してその CSV ファイルをインポートします。

$CsvContents = Import-Csv c:\example.csv

次に、次のコマンドをコマンド ラインに入力します。

$CsvContents

以下のデータが返されます。

Name                InternalAddress     ExternalAddress     OutboundOnly
----                ---------------     ---------------     ------------
Contoso Sales       *.sales.contoso.com contoso.com         True
Contoso Research    *.research.conto... contoso.com         True
Contoso UK          *.contoso.co.uk     contoso.com         True
Contoso Japan       *.contoso.co.jp     contoso.com         True
Contoso Support     support@adatum.com  support@contoso.com False
Contoso Financia... contosofinancial... financialinqueri... False

3 行目の InternalAddress 列に含まれる値だけを表示する場合は、次のコマンドを使用します。

$CsvContents[2].InternalAddress

このコマンドは、値 *.contoso.co.uk を返します。

note注 :
配列は常に 0 から始まります。したがって、3 行目から値を取得するには、配列要素 2 を指定する必要があります。配列の詳細については、「配列」を参照してください。

この例を理解すると、Exchange 管理シェルが CSV ファイルを処理し、その CSV ファイルを使用して New-AddressRewriteEntry コマンドレットにデータを渡す方法を理解しやすくなります。

この例でわかるように、CSV ファイルの各行は 1 つの配列要素になり、各列はその配列要素の 1 つのプロパティになります。Exchange 管理シェルで ForEach コマンドレットを使用すると、配列を先頭から最後まで自動的に移動しながら、配列要素 (この場合は CSV ファイルの 1 つの行) を検出するたびに処理を実行できます。パイプラインで 1 つの配列要素が ForEach コマンドレットに渡されると、Exchange 管理シェルはその配列要素内に格納されているプロパティにアクセスできるようになります。この場合のプロパティは、各行に含まれている列です。

これらのプロパティを使用すると、アドレス書き換えエントリを作成するために必要な New-AddressRewiteEntry コマンドを作成できます。各プロパティには、CSV ファイルの列見出しを使用して名前を付けます。プロパティ名がコマンドレットのパラメータ名と一致する必要はありません。この例の説明に基づいて作成したコマンドを次に示します。

Import-Csv c:\example.csv | ForEach { New-AddressRewriteEntry -Name $_.Name -InternalAddress $_.InternalAddress -ExternalAddress $_.ExternalAddress -OutboundOnly ([Bool]::Parse($_.OutboundOnly)) -ExceptionList ($_.ExceptionList.Split(","))}
note注 :
このセクションの最初の例で示したように、インポートする CSV ファイルを変数に割り当てる必要はありません。上の例のように、Import-Csv コマンドレットを使用し、このコマンドレットの出力を ForEach コマンドレットにパイプします。

このコマンドは example.csv ファイルの各行をループ処理した後、New-AddressRewriteEntry コマンドレットを使用して、各行に存在する列から取得したパラメータ値に基づいてアドレス書き換えエントリを作成します。

このコマンドでは、$_ という特別な変数が使用されています。特別な変数 $_ は、パイプライン内の現在のオブジェクトを調べるようにコマンドに指示します。この場合、それは CSV ファイルの現在の行です。

OutboundOnly プロパティおよび ExceptionList プロパティも、それぞれ追加のテキストで囲まれています。([Bool]::Parse($_.OutboundOnly)) というテキストは、OutboundOnly プロパティ内の文字列をブール値として解釈するように Exchange 管理シェルに指示します。($_.ExceptionList.Split(",")) というテキストは、ExceptionList プロパティ内の複数の値をコンマで区切るように Exchange 管理シェルに指示します。ExceptionList プロパティがこのテキストで囲まれていない場合、ExceptionList プロパティ内の値は、コンマが含まれていても 1 つの文字として扱われます。

パイプライン処理の詳細については、「パイプライン処理」を参照してください。

CSV ファイルのインポートによる複数のアドレス書き換えエントリの作成

これで内部的な処理について理解できたので、次に、CSV ファイルを作成し、それを使用して複数のアドレス書き換えエントリを作成します。少なくとも NameInternalAddress、および ExternalAddress の各列を含む CSV ファイルを作成します。ExternalAddress パラメータおよび OutboundOnly パラメータの値を指定する場合は、それらの列も含めます。すべての行のすべての列に値が指定されている必要があります。適切に書式設定された CSV ファイルについては、このトピックで前に示した「省略可能なパラメータが指定された CSV ファイルの例」を参照してください。

CSV ファイルを使用して複数のアドレス書き換えエントリを作成するには、次のコマンド構文を使用します。

Import-Csv <CSV file path> | ForEach { New-AddressRewriteEntry -Name $_.<Name CSV column heading> -InternalAddress $_.<InternalAddress CSV column heading> -ExternalAddress $_.<ExternalAddress CSV column heading> -OutboundOnly ([Bool]::Parse($_.<OutboundOnly CSV column heading>)) -ExceptionList ($_.<ExceptionList CSV column heading>.Split(","))}

Exchange 管理シェルで CSV ファイルを使用して複数のアドレス書き換えエントリを作成するには

  1. C:\ImportAddressRewriteEntries.csv という名前の CSV ファイルを作成し、このファイルにパラメータを指定します。

  2. 次のコマンドを実行します。

    Import-Csv c:\ImportAddressRewriteEntries.csv | ForEach { New-AddressRewriteEntry -Name $_.Name -InternalAddress $_.InternalAddress -ExternalAddress $_.ExternalAddress -OutboundOnly ([Bool]::Parse($_.OutboundOnly)) -ExceptionList ($_.ExceptionList.Split(","))}
    

構文およびパラメータの詳細については、「New-AddressRewriteEntry」を参照してください。

参照している情報が最新であることを確認したり、他の Exchange Server 2007 ドキュメントを見つけたりするには、Exchange Server TechCenter を参照してください。