Exchange Online、Exchange Server で使用可能な代表的なコマンドです。
PowerShell コマンドの形式は、”動詞-名詞” の表記となります。
動詞部分は、コマンドレットの動作を示しますが、ここでは主に Get 動詞 (情報を取得する) に関連するコマンドを紹介しています。
主な動詞 | 説明 |
---|---|
Get | 設定情報を取得します。 |
Set | 設定情報を変更します。 |
New | メールボックスなどのリソースを作成します。 |
Add | リソースをリソースのコンテナー (配布グループなど) に追加します。 |
Remove | リソースをリソースのコンテナー (配布グループなど) から削除します。 |
Enable | 設定を有効にします。 |
Disable | 設定を無効にします。 |
- Exchange Online への接続
- Get-Mailbox
- Get-MailboxStatistics
- Get-MailboxFolderStatistics
- Get-User
- Get-DistributionGroup
- Get-DistributionGroupMember
- Get-MailContact
- Get-InboxRule
- Get-MailboxPermission
- Get-MailboxFolderPermission
- Get-CalendarProcessing
- Get-MailboxCalendarConfiguration
- Get-CalendarDiagnosticObjects (Exchange Online のみ)
- Get-MessageTrace、Get-MessageTraceDetail
- Start-HistoricalSearch
- Get-CASMailbox
- Search-Mailbox
- 「プロパティ情報」は使用頻度の高いものを説明しています。
- 「プロパティ情報」の「既定値」は [Exchange 管理センター] からメールボックスなどのオブジェクトを作成した場合の既定値です。
オンプレミスの Exchange Server でのみ使用できるコマンドはこちらです。
Exchange Online への接続
各種コマンドを実行するためには PowerShell で Exchange Online へ接続します。
Exchange Online への接続方法は以下です。
Get-Mailbox
メールボックスの情報を取得するためには、Get-Mailbox コマンドレットを使用します。
- SMTP アドレスは?
- アドレス帳に表示される?
- 訴訟ホールドは有効?
- 訴訟ホールドの期間は?
- 転送してる?
- 代理人の設定はどうなってる?
- 監査の設定は有効?
- インプレース アーカイブは有効?
構文
Get-Mailbox -Identity 'メールボックス名'
サンプル
この例は、User1 という名前のメールボックスに関する詳細情報を返します。
-Identity は省略可能です。
Get-Mailbox -Identity User1 |fl
この例は、User1 という名前のメールボックスで、以下のプロパティを返します。
- 表示名
- エイリアス
- SMTP アドレス
- アドレス帳に表示するかどうか
Get-Mailbox user1 | select DisplayName,Alias,PrimarySmtpAddress,HiddenFromAddressListsEnabled
この例は、User1 の Alias プロパティを返します。
(Get-Mailbox -Identity User1).Alias
この例は、特定のプロパティ (‘office’ プロパティなど) に”東京都” の文字列が含まれるメールボックスの一覧を返します。
Get-Mailbox -Anr '東京都'
この例は、表示名に「システム」を含む会議室の一覧を返します。
Get-Mailbox -RecipientType RoomMailbox -Filter {DisplayName -like 'システム*'} -ResultSize Unlimited
この例は、グローバルアドレス帳で非表示になっているメールボックスの一覧を返します。
Get-Mailbox -RecipientType UserMailbox -Filter {HiddenFromAddressListsEnabled -eq $true}
この例は、Exchange Online で新規のメールボックスを作成します。
ユーザー アカウントも同時に作成されます。
ライセンスは別途付与する必要があります。
New-Mailbox -Alias makoto -Name makoto -FirstName makoto -LastName ito -DisplayName "伊藤 誠" -MicrosoftOnlineServicesID makoto@test001.com -Password (ConvertTo-SecureString -String 'P@ssw0rd' -AsPlainText -Force) -ResetPasswordOnNextLogon $false
user1 のインプレース アーカイブを作成します。
Enable-Mailbox -Identity user1 -Archive
プロパティ情報
プロパティ | 説明 | 既定 |
---|---|---|
ServerName | メールボックスをホストするサーバー | – |
ExchangeGuid | メールボックスに割り当てられた一意の属性値 | – |
EmailAddresses | SMTP アドレス | – |
PrimarySmtpAddress | SMTP アドレス SMTP : プライマリメールアドレス (返信用アドレス) smtp : セカンダリアドレス | – |
LegacyExchangeDN | Exchange 組織内部のメール配送に使用される一意の属性値 | – |
Alias | メールボックス名 | – |
DisplayName | メールボックスの表示名 | – |
HiddenFromAddressListsEnabled | アドレス帳に表示しない | False |
ArchiveStatus | インプレース アーカイブの状態 有効な場合は “Active” | None |
SingleItemRecoveryEnabled | 単一アイテムの回復が有効 | True |
RetainDeletedItemsFor | [削除済みアイテムを復元 (Deletions)] に格納されたアイテムの格納期間 | 14 |
LitigationHoldEnabled | 訴訟ホールドが有効 | False |
LitigationHoldDuration | 訴訟ホールドの保存期間 | Unlimited |
RetentionPolicy | アイテム保持ポリシー (MRM) の設定 | Default MRM Policy |
RetentionHoldEnabled | アイテム保持ポリシー (MRM) を停止する | False |
ForwardingAddress | 転送先アドレスを指定する (Exchange 組織内) | – |
ForwardingSmtpAddress | 転送先アドレスを指定する (Exchange 組織外) | – |
DeliverToMailboxAndForward | コピー転送する | False |
GrantSendOnBehalfTo | 代理人設定 | {} |
AcceptMessagesOnlyFrom | 特定の送信者からのメールだけを受信 (ユーザー指定) | {} |
AcceptMessagesOnlyFromDLMembers | 特定の送信者からのメールだけを受信 (グループ指定) | {} |
RejectMessagesFrom | 特定の送信者からのメールを拒否 (ユーザー指定) | {} |
RejectMessagesFromDLMembers | 特定の送信者からのメールを拒否 (グループ指定) | {} |
AuditEnabled | 監査ログが有効 | True |
AuditOwner | メールボックス所有者が実行したアクションがメールボックスに対してログに記録される | {Update…} |
AuditDelegate | 代理人ユーザーが実行したアクションがメールボックスに対してログに記録される | {Update…} |
AuditLogAgeLimit | メールボックス監査ログの、ログの保存期間が表示される。 | 90 |
RecipientType | メールボックスのタイプ | UserMailbox |
RecipientTypeDetails | メールボックスのタイプの詳細 ユーザーメールボックス : UserMailbox 会議室メールボックス : RoomMailbox 備品用メールボックス : EquipmentMailbox 共有メールボックス : SharedMailbox | – |
SimpleDisplayName | 簡易表示名。海外などの組織外へ送信する際表示される表示名 | – |
WhenMailboxCreated | ユーザーのメールボックスが作成された日時 | – |
WhenSoftDeleted | メールボックスが削除された日時 | – |
WhenChanged | 最後にユーザー情報が更新された日時 | – |
WhenCreated | Azure Active Directory 内にアカウントが作成された日時 | – |
WhenChangedUTC | 最後にユーザー情報が更新された日時 (グリニッジ標準時間) | – |
WhenCreatedUTC | Azure Active Directory 内にアカウントが作成された日時 (グリニッジ標準時間) | – |
MicrosoftOnlineServicesID | ユーザーの Microsoft Online Services ID (Exchange Online のみ) | – |
Get-MailboxStatistics
メールボックスのサイズ、その中にあるメッセージの数、最後にメールボックスにアクセスした日時など、メールボックスに関する情報を取得するには、Get-MailboxStatistics コマンドレットを使用します。また、完了した移動要求の移動履歴または移動レポートを取得できます。
- メールボックスに含まれるアイテム数は?
- メールボックスの使用領域のサイズは?
- 回復可能なアイテムはどれくらいあるか?
- 回復可能なアイテムのサイズはどれくらいか?
構文
Get-MailboxStatistics -Identity 'メールボックス名'
サンプル
この例では、エイリアス User1 を使用するメールボックスについてのメールボックス統計情報の詳細を取得します。
Get-MailboxStatistics -Identity User1 |fl
この例では、User1 という名前のメールボックスで、特定のプロパティを返します。
Get-MailboxStatistics -Identity User1 | select DisplayName,ItemCount,TotalItemSize,DeletedItemCount,TotalDeletedItemSize
プロパティ情報
プロパティ | 説明 |
---|---|
DisplayName | 表示名 |
ItemCount | メールボックスの合計アイテム数 |
TotalItemSize | メールボックスの使用領域 |
DeletedItemCount | [回復可能なアイテム] フォルダー内のアイテム数 |
TotalDeletedItemSize | [回復可能なアイテム] フォルダー内のアイテムサイズ |
回復可能なアイテムについては以下です。
Get-MailboxFolderStatistics
メールボックス内のフォルダーに関する情報を取得するには、Get-MailboxFolderStatistics コマンドレットを使用します。
- メールボックスのフォルダー内のアイテム数は?
- メールボックスのフォルダーのサイズは?
- [回復可能なアイテム] フォルダー内のアイテム数は?
- [回復可能なアイテム] フォルダーのサイズは?
サンプル
この例では、FolderScope パラメーターを指定せずに、ユーザー User1 に関するすべての情報を取得します。
Get-MailboxFolderStatistics -Identity User1
この例では、FolderScope パラメーターを指定し、[Inbox] (受信トレイ) とサブフォルダーのみの情報を取得します。
Get-MailboxFolderStatistics User1 -FolderScope Inbox | Select Name,FolderSize,ItemsinFolder,FolderPath
※ 「test1」、「test2」は [Inbox] のサブフォルダーです。
プロパティ情報
プロパティ | 説明 |
---|---|
Name | フォルダー名 |
ItemsInFolder | フォルダー内のアイテム数 |
ItemsInFolderAndSubfolders | 対象フォルダーと配下のサブ フォルダーに格納されているアイテムの数 |
FolderSize | フォルダーのサイズ |
FolderAndSubfolderSize | 対象フォルダーと配下のサブ フォルダーに格納されているアイテムの容量 |
FolderPath | フォルダーのパス |
Date | フォルダーが作成された時間 |
FolderType | フォルダータイプ ※ユーザ作成のもか既定のものかどうか |
[回復可能なアイテム] フォルダー
以下のコマンドで、[回復可能なアイテム] フォルダーの状態を確認する事も可能です。
Get-MailboxFolderStatistics daisuke -FolderScope RecoverableItems |select FolderPath,ItemsInFolderAndSubfolders,FolderAndSubfolderSize
回復可能なアイテムについては以下です。
Get-User
メールボックスの連絡先情報を取得するためには、Get-User コマンドレットを使用します。
- どこの部署に所属してる?
- 事業所はどこ?
- 役職は何?
- 上司はだれ?
- 携帯電話の番号は?
構文
Get-User -Identity 'メールボックス名'
この例は、User1 の連絡先に関する詳細情報を返します。
Get-User -Identity User1 |fl
この例では、User1 という名前のメールボックスで、特定のプロパティを返します。
Get-User -Identity User1 |select DisplayName,Company,Department,Title,Manager
プロパティ情報
プロパティ | 説明 |
---|---|
SamAccountName | ユーザーログオン名 (Active Directory) |
UserPrincipalName | ユーザーログオン名 (Active Directory,Azure AD) |
ResetPasswordOnNextLogon | 初回ログイン時にパスワードの変更を強制 |
MicrosoftOnlineServicesID | ユーザーの Microsoft Online Services ID (Exchange Online のみ) |
City | 市区町村 |
Company | 会社名 |
CountryOrRegion | 国/地域 |
Department | 部署 |
DisplayName | メールボックスの表示名 |
FirstName | 名 |
LastName | 姓 |
Manager | 管理者 |
MobilePhone | 携帯電話 |
Office | 事業所 |
Phone | 電話番号 |
PhoneticDisplayName | ふりがな |
PostalCode | 郵便番号 |
SimpleDisplayName | 簡易表示名。海外などの組織外へ送信する際表示される表示名 |
StateOrProvince | 都道府県 |
StreetAddress | 番地 |
Title | 役職 |
IsDirSynced | オンプレ Active Directory との同期の有無 |
Get-DistributionGroup
配布グループ、またはメールが有効なセキュリティ グループを確認するために使用します。グループのメンバーを表示するには、Get-DistributionGroupMember コマンドレットを使用します。
- SMTP アドレスは?
- アドレス帳に表示される?
- グループ参加は所有者の承認が必要?
- DSN の送信先は?
- 全てのユーザーが使用可能?
- 外部ユーザーも使用可能?
サンプル
この例では、ml01 というグループを取得し、オブジェクトを Format-List コマンドにパイプライン処理して、配布グループに関する詳細情報を表示します。
Get-DistributionGroup -Identity ml01 | fl
この例では、エイリアスが ml02、名前が「メール管理2」という配布リスト グループを作成します。この配布グループは既定の OU に作成され、グループ所有者による承認なしに誰でもグループに参加できます。
New-DistributionGroup -Name 'メール管理2' -Alias ml02 -PrimarySmtpAddress ml02@test001.com -MemberJoinRestriction open
プロパティ情報
プロパティ | 説明 | 既定 |
---|---|---|
EmailAddresses | SMTP アドレス | – |
HiddenFromAddressListsEnabled | アドレス帳に表示しない | False |
MemberJoinRestriction | 所有者による承認なしにグループに参加 | Open |
MemberDepartRestriction | 所有者による承認なしにグループから脱退 | Open |
ManagedBy | 配布グループの管理者 | {管理者} |
ReportToManagerEnabled | 管理者に DSN を送信 | False |
ReportToOriginatorEnabled | 送信者に DSN を送信 | True |
RequireSenderAuthenticationEnabled | (Active Directory で) 認証されたユーザーからのみ受信する | True |
AcceptMessagesOnlyFrom | 指定した送信者 (ユーザー) のみがこのグループにメッセージを送信できる | {} |
AcceptMessagesOnlyFromDLMembers | 指定した送信者 (グループ) のみがこのグループにメッセージを送信できる | {} |
AcceptMessagesOnlyFromSendersOrMembers | 指定した送信者 (ユーザー、グループ) のみがこのグループにメッセージを送信できる | {} |
RecipientType | グループのタイプ | – |
RecipientTypeDetails | グループのタイプの詳細 配布グループ : MailUniversalDistributionGroup メールが有効なセキュリティグループ : MailUniversalSecurityGroup | – |
Get-DistributionGroupMember
既存の配布グループ メンバー一覧を表示します。
- 配布グループのメンバー
- 配布グループのメンバーはメールボックスか配布グループか
サンプル
この例を実行すると、配布グループ ml01 の既存の配布グループ メンバーが返されます。
Get-DistributionGroupMember -Identity ml01
この例では、User1 を ml01 という名前の配布グループに追加します。
Add-DistributionGroupMember -Identity ml01 -Member User1
この例では、ml01 という名前の配布グループから User1 を削除します。
Remove-DistributionGroupMember -Identity ml01 -Member User1
プロパティ情報
プロパティ | 説明 |
---|---|
Name | メンバーの名前 |
RecipientType | メンバーのタイプ UserMailbox : メールボックス MailUniversalDistributionGroup : メーリングリスト |
Get-MailContact
メール連絡先は、Exchange 組織外に存在するユーザーに関する情報を含むメールが有効なオブジェクトです。 メール連絡先には、外部ユーザー用のメール アドレスを設定します。
- SMTP アドレスは?
- アドレス帳に表示される?
サンプル
この例では、メールが有効な User1 の連絡先を取得します。
Get-MailContact -Identity User1 | Format-List
この例では、jiro tanaka のメール連絡先を作成します。
New-MailContact -Name 'jiro tanaka' -DisplayName '田中二郎' -ExternalEmailAddress jiro@test01.com -Alias jiro
プロパティ情報
プロパティ | 説明 | 既定 |
---|---|---|
DisplayName | 表示名 | – |
Name | 名前 | – |
Alias | メールボックス名 | – |
ExternalEmailAddress | Exchange 組織外メールアドレス | – |
HiddenFromAddressListsEnabled | アドレス帳に表示しない | False |
RecipientType | メールボックスのタイプ | MailContact |
RecipientTypeDetails | メールボックスのタイプの詳細 | MailContact |
Get-InboxRule
仕分けルールのプロパティを表示するには、Get-InboxRule コマンドレットを使用します。
大量のルールはメールを見失う可能性があるため、注意が必要です。
- メールボックスに設定されているルールの一覧
- 各種ルールの詳細な内容
- ルールを削除する方法
構文
Get-InboxRule -Mailbox 'メールボックス名'
サンプル
この例では、User1 というメールボックスの受信トレイ ルールを取得しています。
Get-InboxRule -Mailbox User1
この例では、User1 というメールボックスに設定されたルールの情報を取得しています。
Get-InboxRule -Mailbox User1 | fl Description,From,MoveToFolder
Description | ルールの説明 |
From | 差出人 |
MoveToFolder | 移動先フォルダー名 |
この例では、メールボックス User1 の仕分けルールを全削除します。
Get-InboxRule -Mailbox user1 | Remove-InboxRule
Get-MailboxPermission
メールボックスのアクセス権を表示するには、Get-MailboxPermission コマンドレットを使用します。
構文
Get-MailboxPermission -Identity 'メールボックス名'
サンプル
この例は、メールボックス User1 に対し、フルアクセス権のあるユーザー情報を返します。
Get-MailboxPermission User1 |? {$_.AccessRights -eq "FullAccess"} |select user,AccessRights
User1 のメールボックスに対し、taro@test01.com がフルアクセス権を所有しています。
Get-MailboxFolderPermission
メールボックスのフォルダー レベルのアクセス許可を表示するには、Get-MailboxFolderPermission コマンドレットを使用します。
- 他人の予定表が全くみえないのはなぜ?
- 他人の予定があるのは分かるが、中身が見れず青く潰れてしまっているのはなぜ?
- 他人の予定表をダブルクリックで開く方法は?
- 他人の予定表を直接編集する方法は?
構文
Get-MailboxFolderPermission -Identity 'メールボックス名'
サンプル
この例では、User1 のメールボックスにある予定表に対する現在のユーザー アクセス許可の一覧を取得します。
※ 日本語環境では [calendar] は [予定表] になります。
Get-MailboxFolderPermission User1:\calendar
この例では、User1 のメールボックスの [予定表] フォルダーで User2 に参照者ロールを付与します。
Add-MailboxFolderPermission -Identity User1:\calendar -User User2 -AccessRights Reviewer
この例では、User1 のメールボックスの [予定表] フォルダーに対する User2 の既存のアクセス許可を上書きします。これで、User2 にフォルダの所有者ロールが付与されました。
Set-MailboxFolderPermission -Identity User1:\calendar -User User2 -AccessRights Owner
この例では、User1 のメールボックスの [予定表] フォルダーに対する User2 のアクセス許可を削除します。
Remove-MailboxFolderPermission -Identity User1:\calendar -User User2
プロパティ情報
プロパティ | 説明 |
---|---|
FolderName | フォルダーの名前 |
User | アクセス権が付与されるユーザー |
AccessRights | アクセス権 |
SharingPermissionFlags | 非公開の予定が参照可能か (Delegate,CanViewPrivateItems) |
予定表アクセス権
以下アクセス許可のレベルです。ユーザーやグループに適切なアクセス権を付与します。
よくあるケースとしては、会社組織レベルでは厳しいアクセス権 (空き時間情報のみ) を設定し、自身が所属する部署などに対してはやや緩いアクセス権 (空き時間情報、件名、場所) を設定します。
アクセス権 | アクセス許可レベル |
---|---|
None | なし |
Owner | 所有者 |
PublishingEditor | 発行編集者 |
Editor | 編集者 |
PublishingAuthor | 発行作成者 |
Author | 作成者 |
NonEditingAuthor | 非編集作成者 |
Reviewer | 参照者 |
Contributor | 寄稿者 |
LimitedDetails | 空き時間情報、件名、場所 |
AvailabilityOnly | 空き時間情報 |
Outlook から見た予定表アクセス権の設定例です。
名前 | 対象ユーザー | アクセス許可 | 見え方 |
---|---|---|---|
既定 | Exchange 組織内の全ユーザー | 空き時間情報、件名、場所 | 件名、場所は見えるが、ダブルクリックで開くことはできない。 |
User1 | User1 | 参照者 | ダブルクリックして内容の詳細が確認可能。 |
User2 | User2 | 編集者 | ダブルクリックして内容の詳細が確認可能。 予定表アイテムの作成、削除、編集が可能。 |
User3 | User3 | 空き時間情報 | 予定が埋まっている (青く潰れている) 状態はわかるが、内容の確認はできない。 |
Get-CalendarProcessing
対象のメールボックスのカレンダー アテンダントの構成を取得するには、Get-CalendarProcessing コマンドレットを使用します。
- 会議の重複は許可される?
- 定期的な会議は許可される?
- 会議出席依頼の件名や添付ファイルはどうなる?
- 予約可能な期間は?
- 予約可能な最大の期間は?
- 会議出席依頼が自動的に承認されるユーザーはどこで設定?
構文
Get-CalendarProcessing -Identity '会議室名'
サンプル
この例では、Identity パラメーターをエイリアス形式で指定して、room1 のカレンダー アテンダントの構成を取得しています。
Get-CalendarProcessing -Identity room1 | Format-List
この例では、会議室 room2 で予約可能なメンバーを制限しています。
会議室 room2 を予約可能なメンバーは Group1 に所属するユーザーのみです。
※ Group1 はメールが有効なセキュリティグループです。他にユーザー、共有メールボックスが指定可能で、複数指定はカンマ区切りを使用します。
Set-CalendarProcessing -Identity room2 -BookInPolicy Group1 -AllBookInPolicy $false
「Group1」に所属していないユーザーが「room2」を予約すると辞退メールが生成されます。
プロパティ情報
プロパティ | 説明 | 既定 |
---|---|---|
AutomateProcessing | 会議の予約が入った場合は自動承認する | AutoAccept |
AllowConflicts | 重複する会議出席依頼を許可する | False |
DeleteComments | コメントを削除する | True |
DeleteSubject | 出席依頼に含まれる件名を削除する | True |
DeleteAttachments | 会議出席依頼に含まれる添付ファイルを削除する | True |
AddOrganizerToSubject | 出席依頼の件名に開催者を追加する | True |
AllowRecurringMeetings | 定期的な会議を許可する | True |
BookingWindowInDays | 何日先まで予約が可能かを制御する | 180 |
EnforceSchedulingHrizon | 予約可能な期間を越えたら予約情報を拒否する | True |
MaximumDurationInMinutes | 会議出席依頼の最大期間 (分) 一度の会議で最大何分までできるか | 0 (無制限) |
ScheduleOnlyDuringWorkHours | 稼動時間内のみに制限する | False |
AllBookInPolicy | 全てのユーザーからの会議出席依頼を許可する $false に変更した場合、BookInPolicy で許可するユーザー、グループを指定 | True |
BookInPolicy | 会議出席依頼が自動的に承認されるユーザー/グループを指定 | {} |
ProcessExternalMeetingMessages | 外部ユーザーからの会議出席依頼を自動処理 (承認、辞退) するかどうか 会議出席依頼のメール自体を拒否するものではない | False |
Get-MailboxCalendarConfiguration
指定したメールボックスについての予定表設定値を表示するには、Get-MailboxCalendarConfiguration コマンドレットを使用します。
構文
Get-MailboxCalendarConfiguration -Identity 'メールボックス名'
サンプル
この例では、Identity パラメーターをエイリアス形式で指定して、User1 のメールボックスのすべての予定表設定値を取得しています。
Get-MailboxCalendarConfiguration -Identity User1 | Format-List
プロパティ情報
プロパティ | 説明 |
---|---|
WorkDays | 稼働時間 (曜日) |
WorkingHoursStartTime | 稼働時間 (開始時間) |
WorkingHoursEndTime | 稼働時間 (終了時間) |
WorkingHoursTimeZone | タイムゾーン |
Get-CalendarDiagnosticObjects (Exchange Online のみ)
Outlook の予定表を CSV ファイルとして出力します。
メールボックスで発生する予定表の問題のトラブルシューティングに使用できます。ログは、すべての予定表アイテムと会議メッセージを追跡します。
サンプル
この例では、User1 のメールボックスから、すべてのアイテムの予定表診断ログを取得します。
Get-CalendarDiagnosticObjects -Identity User1 | Export-Csv -NoTypeInformation -Encoding UTF8 -path D:\work\schedule.csv
この例では、User1 のメールボックスから、期間を指定し、件名が「打ち合わせ」と部分一致するすべてのアイテムの予定表診断ログを取得します。
Get-CalendarDiagnosticObjects -Identity User1 -StartDate 1/9/2021 -EndDate 7/10/2022 -Subject "打ち合わせ" -ExactMatch $false | Export-Csv -NoTypeInformation -Encoding UTF8 -path D:\work\schedule.csv
※ 一部のみ抜粋しています。
プロパティ情報
プロパティ | 説明 |
---|---|
NormalizedSubject | 件名 |
DisplayAttendeesAll | メンバー |
Location | 場所 |
StartTime (GMT) | 開始時刻 |
EndTime (GMT) | 終了時刻 |
CreationTime | アイテム作成日時 |
Get-MessageTrace、Get-MessageTraceDetail
Exchange Online でメッセージをトレースするには、Get-MessageTrace コマンドレットを使用します。
- メールが受診者に配送されたか
- メールがいつ配送されたか
- Outlook の [受信トレイ] 以外のフォルダーに配送されていないか
- 迷惑メール判定されていないか
- 受信したはずのメールが存在しない原因
- メールがどこまで正常に送信されたか
- メールのサイズはどれくらいか
構文
Get-MessageTrace -SenderAddress <送信者メールアドレス> -RecipientAddress <受信者メールアドレス>
サンプル
この例では、送信者、受信者、日時を指定してトレース情報を取得しています。
Get-MessageTrace -StartDate "2022/7/5 14:00" -EndDate "2022/7/10 19:00" -SenderAddress kimura@akbmacha.net -RecipientAddress yamada@abc.onmicrosoft.com |fl
※ StartDate は、当日から 10 日より前に設定することはできません。
上記の [Message ID] から更に詳細な情報を取得します。
Get-MessageTrace -MessageId DM6PR04MB65759E539CC9B18B63B47B63FC859@DM6PR04MB6575.namprd04.prod.outlook.com | Get-MessageTraceDetail
メールが正常に受信トレイに配信 (Delivered) されていることが分かります。
他のフォルダーに配送されている場合の確認方法はこちらです。
プロパティ情報
プロパティ | 説明 |
---|---|
SenderAddress | 送信者 |
RecipientAddress | 受信者 |
StartDate | 開始日 |
EndDate | 終了日 |
Subject | 件名 |
MessageID | メッセージ ID |
Status | 配送ステータス |
Start-HistoricalSearch
Get-MessageTraceDetail より更に詳細な情報を取得するために、Start-HistoricalSearch コマンドレットを使用します。
90 日以内の情報について検索が可能ですが、レポートのステータスが完了になるまでに数時間を要する場合があります。
- メールが受診者に配送されたか
- メールがいつ配送されたか
- 配布グループは展開されたか
- 配送に失敗した理由は何か
- 迷惑メール判定されていないか
- メールがどこまで正常に送信されたか
- メールのサイズはどれくらいか
構文
<送信者、受信者を指定して実行する場合>
Start-HistoricalSearch -ReportTitle <任意の実行名> -StartDate yyyy/mm/dd -EndDate yyyy/mm/dd -SenderAddress <送信者メールアドレス> -RecipientAddress <受信者メールアドレス> -ReportType MessageTraceDetail -NotifyAddress <通知メールアドレス>
<メッセージ ID を指定して実行する場合>
Start-HistoricalSearch -ReportTitle <任意の実行名> -StartDate yyyy/mm/dd -EndDate yyyy/mm/dd -MessageID "<メッセージ ID>" -ReportType MessageTraceDetail -NotifyAddress <通知メールアドレス>
サンプル
この例では、送信者、受信者、日付/時間を指定して履歴検索を開始しています。
Start-HistoricalSearch -ReportTitle test0715 -StartDate "2022/07/10 18:00" -EndDate "2022/07/15 20:00" -SenderAddress kimura@akbmacha.net -RecipientAddress yamada@abc.onmicrosoft.com -ReportType MessageTraceDetail -NotifyAddress yamada@abc.onmicrosoft.com
この例では、メッセージ ID を指定して検索履歴を開始しています。
Start-HistoricalSearch -ReportTitle test0716 -StartDate "2022/07/05 14:00" -EndDate "2022/07/16 19:00" -MessageID '20171211023303.EB9E9240AD0@sv123.yamareco.com' -ReportType MessageTraceDetail -NotifyAddress yamada@abc.onmicrosoft.com
[JobId] を控えます。
プロパティ情報
プロパティ | 説明 |
---|---|
SenderAddress | 送信者 |
RecipientAddress | 受信者 |
StartDate | 開始日。90日以内の指定が可能 |
EndDate | 終了日。90日以内の指定が可能 |
ReportTitle | 任意の検索のタイトルを記載 |
ReportType | 取得するレポートのタイプ |
MessageID | メッセージの ID |
NotifyAddress | 通知メール送信先 承認済ドメインのみ指定可 |
出力結果の確認
控えた [JobId] を指定し、以下のコマンドを実行して Status が Done となっていることを確認します。
Get-HistoricalSearch -JobId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" | select JobId,Status,FileUrl
該当の JobId の Status が Done となったら、FileUrl に記載されている URL より CSV 形式のメッセージ追跡ログをダウンロードします。
※ Status が Done となるまでには数時間かかる場合があります。
FileUrl の URL が全て表示されない場合は以下のコマンドを実行します。
(Get-HistoricalSearch -JobId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").FileUrl
ダウンロードした CSV ファイルからは以下のような追跡ログが確認可能です。(一部抜粋)
出力結果のプロパティ情報
追跡ログの主なプロパティ情報は以下です。
プロパティ | 説明 |
---|---|
event_id | DELIVER:メッセージがローカル メールボックスに配信された EXPAND:配布グループが展開された FAIL:メッセージの配信が失敗した SEND:トランスポート サービス間でメッセージが SMTP で送信された RECEIVE:トランスポートサービスの SMTP 受信コンポーネントからメッセージが受信された DSN:配信状態通知 (DSN) が生成された DUPLICATEDELIVER:重複するメッセージが受信者に配信された 重複は、受信者が複数の入れ子になった配布グループのメンバーである場合に発生する可能性あり。重複するメッセージはインフォメーション ストアによって検出され、削除される。 |
recipient_address | 受信者のアドレス event_id が EXPAND の場合はメーリングリストのメンバーが表示される。 |
sender_address | 送信者のアドレス |
recipient_count | 受信者の数 event_id が EXPAND の場合はメーリングリスト内のメンバー数が表示される。 |
recipient_status | 配布グループが展開された等の情報 |
message_subject | 件名 |
message_id | メッセージ ID メッセージ ヘッダー内の Message-Id: header field の値。Message-Id: header field が存在しないか、または空白の場合、Exchange は任意の値を割り当てる。 この値は、メッセージの有効期間全体にわたって不変。 Exchange で作成されたメッセージの場合、値は山かっこ (< >) を含む形式になる。 たとえば、<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com> など。 他のメッセージング システムは異なる構文や値を使用する可能性がある。 |
Get-CASMailbox
メールボックス上で構成されたクライアント アクセス設定 (プロトコルの状態) を確認するために Get-CASMailbox コマンドレットを使用します。
サンプル
次の例は、User1 というユーザーのクライアント アクセス設定値 (プロトコルの状態) を返します。
Get-CASMailbox -Identity User1
プロパティ情報
プロパティ | 説明 | 既定 |
---|---|---|
ActiveSyncEnabled | ActiveSync 有効 | True |
OWAEnabled | OWA 有効 | True |
PopEnabled | POP 有効 | True |
ImapEnabled | IMAP 有効 | True |
MapiEnabled | MAPI 有効 | True |
Search-Mailbox
Search-Mailbox コマンドレットでは、コピー元のメールボックス内のアイテムを検索し、検索結果に合致したアイテムをコピー先のメールボックス内の指定したフォルダーへコピーを行うことが可能です。
特定の条件に合致したメールの削除、PST ファイルへのコピーも可能です。
コマンド実行ユーザーには次の役割が割り当てられている必要があります。
Mailbox Search
Mailbox Import Export
※ Exchange Online ではこのコマンドは 2020/7/1 に廃止となっており、サポートも利用できないようですが、使用は可能です。(2022/7/1 現在)
構文
Search-Mailbox -Identity <コピー元メールボックスのメールアドレス> -TargetMailbox <コピー先メールボックスのメールアドレス> -TargetFolder <コピー結果を格納するフォルダー名>
サンプル
この例は、UserA のメールボックス内のアイテムを、UserB のメールボックスに “Copy-UserA” というフォルダーを作成し格納します。
Search-Mailbox -Identity UserA -TargetMailbox UserB -TargetFolder "Copy-UserA"
この例は、UserA の Recovalbe Items 配下のアイテムを、UserB のメールボックスに “Copy-UserA” というフォルダーを作成し格納します。
Search-Mailbox -Identity UserA -TargetMailbox UserB -TargetFolder "Copy-UserA" -SearchDumpsterOnly
※ -SearchDumpsterOnly オプションは、Recovalbe Items 配下のアイテムのみを検索するオプションです。
次の例は、UserA のメールボックスを検索し、差出人が tanaka@contoso.com であるメッセージを、UserB のメールボックスに “Copy-UserA” というフォルダーを作成し格納します。
Search-Mailbox -Identity UserA -SearchQuery from:tanaka@contoso.com -TargetMailbox UserB -TargetFolder "Copy-UserA"
コメント