Microsoft Exchange から電子メール アドレスを抽出する

Microsoft Exchange から電子メール アドレスを抽出する

当社には、Active Directory ユーザー全員の大量の電子メール アドレス情報を持つ Microsoft Exchange サーバーがあります。その電子メール リストを取得して、Active Directory のユーザー アカウントに添付する最適な方法は何でしょうか。(AD にインポートする方法は知っていますが) Exchange 管理シェルを使用せずに Microsoft Exchange から情報をエクスポートする方法がわかりません。

Exchange 管理シェルにアクセスできず、入手方法もわかりません。Power-Shell/C# で実行する方法があると思っていましたが、正直なところ、何から始めればいいのかさえわかりません。始めるにあたって何かアイデアや参考になるものをお持ちの方はいらっしゃいますか?

答え1

Exchange 管理シェルは、Microsoft.exchange モジュール/構成がロードされた PowerShell です。以下のリンクのコマンドを使用して、PowerShell で Exchange を利用できます。

https://docs.microsoft.com/en-us/powershell/exchange/exchange-eop/connect-to-exchange-online-protection-powershell?view=exchange-ps

メール サーバーにアクセスする必要がないときによく使用しますが、PSRemoting が有効になっていることを確認する必要があり、リンクで詳しく説明されているいくつかの前提条件を設定する必要があります。AD 認証の設定方法に応じて、認証方法を切り替える必要がある場合があります (Kerberos/基本が最も一般的です)

これ以外にも、受信者構成 -> メールボックス セクションで Exchange からリストをエクスポートできます。右側のペインにはリストのエクスポート機能があります。これにより、表示名、OU、メールボックスの種類、電子メール アドレスなどがエクスポートされ、その後、希望どおりにフォーマットできますが、エクスポートする内容を正確に指定できる PowerShell メソッドほど詳細ではありません。

また、ユーザーのメールアドレスのロジックを定義できる場合は、たとえば次のような一貫した形式に従っている場合は、PowerShell スクリプトを使用してメールアドレスを AD にインポートできます。[メールアドレス]したがって、この方法ではメール サーバーに触れる必要さえありません。この場合、ForEach オブジェクトのインポートを使用して AD をクエリし、各名と姓を取得し、これらの文字列をインポート関数に連結して "$Firstname, $Surname"@company.co.uk を表示する必要があります。これにより、各ユーザーをループし、Set-ADUser コマンドレットを使用して電子メール アドレスが適用されます。

答え2

Exchange 管理センターにアクセスできる場合は、EAC から SMTP 電子メール アドレスをエクスポートすることもできます。これにより、データをエクスポートするための UI が提供されます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

関連情報