カスタムアドレス帳とは、会社ごとの目的に合わせて新規に作成できるアドレス帳のことです。例えば、事業部や部署が多数ある大きな組織では、従業員が別事業部や別部署の相手にメールを送信する場合、相手を見つけることが大変な場合があります。そこで事業部ごとや部署ごとのカスタムアドレス帳を作成すると、各事業所や各部署の相手の一覧が容易に閲覧できるようになります。
この記事では、PowerShellでExchange Onlineに接続してカスタムアドレス帳を作成する方法について解説します。
手順1 事前準備
1.PowerShellを「管理者として実行する」より開きます。
2.「はい」をクリックします。
3.下記コマンドを入力し、実行ポリシーをRemoteSignedに変更します。
Set-ExecutionPolicy RemoteSigned
4.「実行ポリシーを変更しますか?」と表示されるので、「Y」を入力します。 これにより、実行ポリシーがRemoteSignedに変更されます。
5.下記コマンドを入力し、Exchange Online PowerShell モジュールをインストールします。
Install-Module -Name ExchangeOnlineManagement
6.「プロバイダーをインストールしてインポートしますか?」と表示されるので、「Y」を入力します。
7.「’PSGallery’からモジュールをインストールしますか?」と表示されるので、「Y」を入力します。
8.インストールしています。
9.下記コマンドを入力し、モジュールを更新します。
Update-Module -Name ExchangeOnlineManagement
10.下記コマンドを入力し、Exchange Online PowerShell モジュールを取り込みます。
Import-Module ExchangeOnlineManagement
手順2 カスタムアドレス帳の作成方法
1.記コマンドを入力し、管理権限のあるユーザーのメールアドレスを使用してExchange Onlineに接続します。
Connect-ExchangeOnline -UserPrincipalName "管理権限のあるユーザーのメールアドレス"
2.管理権限のあるユーザーのアカウントを選択し、サインインをします。
3.認証アプリを使用し、サインインします。
4.下記コマンドを入力し、カスタムアドレス帳「ABC社」を作成します。
New-AddressList -Name “株式会社ABC" -ConditionalCompany “株式会社ABC” -IncludedRecipients MailboxUsers
5.エラーが出てしまいました。 これは、管理者にアドレスリストを作成する 「役割」 が付与されていない為のエラーなので、役割を付与していきます。
6.Exchange管理センターより「役割」を展開し、「管理者の役割」をクリックします。
7.「役割グループを追加する」をクリックします。
8.任意の名前と説明を入力し、「次へ」をクリックします。
9.「Address Lists」を選択し、「次へ」をクリックします。
10.割り当てたいユーザーを選択し、「次へ」をクリックします。
11.役割の割り当てが完了しました。 「役割グループのコピー」をクリックし、詳細の控えを取ります。
12.「完了」をクリックします。
13.「管理者の役割」の画面に戻るので下にスクロールし、新規で作成されているか確認します。
14.作成されていました。
16.PowerShellを新しく開きます。下記コマンドを入力し、 Exchange Onlineに接続します。
Connect-ExchangeOnline
17.アカウントを選択し、サインインをします。
18.下記コマンドを入力し、カスタムアドレス帳「株式会社ABC社」を作成します。
19.実行されました。
20.同様に下記コマンドを入力し、カスタムアドレス帳「株式会社DEF社」を作成してみます。
21.実行されました。
22.Outlookを開き、「新規メール」をクリックします。
23.「宛先」をクリックします。
24.作成したカスタムアドレス帳が反映されました。
手順3 ユーザーをアドレス帳に追加する方法
1.1.下記を参考にし、メモ帳に追加したいユーザーの情報を入力します。
※今回は、「名前・メールアドレス・会社名・部署・支店・電話番号・場所」などの情報を含めました。それぞれ「,」で区切り、入力します。
Name,Alias,ExternalEmailAddress,FirstName,LastName,Company,Department,Office,Phone,MobilePhone,HomePhone,PostalCode,StateOrProvince,City,StreetAddress,CountryOrRegion,Fax,Notes,Title
中村 美咲,nakamura,misaki@contoso.com,美咲,中村,株式会社ABC,営業部,品川本社,03-0000-0000,080-0000-0000,03-0000-0000,000-0000,東京,港区港南,0-0-0,JP,03-0000-0000,メモ,役職
松本 直美,naomi,matsumoto@contoso.com,直美,松本,株式会社ABC,総務部,品川本社,03-0000-0000,080-0000-0000,03-0000-0000,000-0000,東京,港区港南,0-0-0,JP,03-0000-0000,メモ,役職
2.入力後、「ファイル」をクリックし、「名前を付けて保存」をクリックします。
3.保存場所を選択し、ファイルの種類を「すべてのファイル」に変更します。
4.「ファイル名」を入力し、エンコードを「UTF-8」にします。
5.「保存」をクリックします。
6.ファイルが保存されていることを確認できました。
7.「アドレスバー」をクリックし、アドレスをコピーします。
※後ほどコマンドで使用するため、メモ帳などに記録しておいてください。
8.同じく「ファイル名」もコピーをし、記録しておきます。
9.検索バーに「Power Shell」と入力し、「管理者として実行する」をクリックします。
10.「はい」をクリックします。
11.下記コマンドを入力し、Exchange Onlineに接続します。
Connect-ExchangeOnline
12.アカウントを選択し、サインインをします。
13.下記コマンドを入力し、CSVファイルを読み込みます。
※ここで、先ほど記録しておいた「アドレス」と「ファイル名」を下記コマンドに置き換えてください。
$Contacts = Import-CSV "C:\Users\Public\Documents\TestList.csv"
14.下記コマンドを入力します。
$Contacts | ForEach {New-MailContact -Name $_.Name -Alias $_.Alias -ExternalEmailAddress $_.ExternalEmailAddress -FirstName $_.FirstName -LastName $_.LastName}
15.読み込んだCSVファイルの情報を基に、新しいメール連絡先が一括で作成されました。
16.下記コマンドを入力し、既存の連絡先の情報を更新します。
$Contacts | ForEach {Set-Contact $_.Name -Company $_.Company -Department $_.Department -Office $_.Office -Phone $_.Phone -MobilePhone $_.MobilePhone -HomePhone $_.HomePhone -PostalCode $_.PostalCode -StateOrProvince $_.StateOrProvince -City $_.City -StreetAddress $_.StreetAddress -CountryOrRegion $_.CountryOrRegion -Fax $_.Fax -Notes $_.Notes -Title $_.Title}
17.下記コマンドを入力します。これにより、アドレスリストが更新され「株式会社ABC」という会社に属するメール連絡先が含まれるようになります。
Set-AddressList -Identity “株式会社ABC" -ConditionalCompany “株式会社ABC” -IncludedRecipients MailContacts
18.Power Shell での実行はこれで以上となります。
19.アドレス帳にユーザーが追加されていることを確認できました。
その他お困りごとも動画で解説!