社畜の所業

社畜の所業

Microsoft365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

※このサイトはPR記事を含みます。

【Office365参考書】共有メールボックスのアドレスで送信したユーザーを特定するには?監査ログで可能?

f:id:it-bibouroku:20200305151118j:plain

 

メールボックス監査ログ(Search-MailboxAuditLog)と管理者監査ログ(Search-AdminAuditLog)が廃止され、統合監査ログで取得することが可能となりました。

it-bibouroku.hateblo.jp

 

 

共有メールボックスのメンバーに登録することで、フルアクセス許可とメールボックス所有者として送信する権限が付与され、共有メールボックスのアドレスを利用して送信することが可能となります。

 

メールボックス所有者として送信する権限にて、共有メールボックスのアドレスで送信したユーザーを特定する場合、メールボックス監査ログの機能を利用することで可能です。 

  

以下にメールボックス所有者として送信する権限にて、共有メールボックスのアドレスで送信したユーザーを確認するメールボックス監査ログのコマンドレットをご案内いたします。 

  

以下のサイトの手順にて、Exchange Online に接続してから実行してください。 

  

 

it-bibouroku.hateblo.jp

 

  

 

共有メールボックスのアドレスを利用して送信したユーザーを確認するコマンド 

[構文] 

Search-MailboxAuditLog -StartDate <開始日> -EndDate <終了日> -Identity <対象のメールボックス> -ShowDetails -Operations SendAs | Export-Csv -NoTypeInformation -Encoding UTF8 -Path "<ファイル名を含んだ保存先のパス>" 

  

[実行例] 

Search-MailboxAuditLog -StartDate 2021/03/01 -EndDate 2021/03/05 -Identity Shared001@contoso.com -ShowDetails -Operations SendAs | Export-Csv -NoTypeInformation -Encoding UTF8 -Path "C:\Temp\MailboxAuditLog.csv

  

※ 上記実行例は、2021  3  1 日から 2021  3  5 日の、共有メールボックス (Shared001@contoso.comの監査ログより、所有者として送信が行われたログのみを出力し、 C ドライブ配下の Temp フォルダーに MailboxAuditLog という名前のファイルで CSV ファイルとして出力いたします。 

  

~~ 関連箇所抜粋 ~~ 

パラメーターの意味はそれぞれ以下の通りです。 

  

Operation : 操作の内容 

OperationResult : 操作の成否 

LogonType : 操作を行ったユーザーが所有者 (Owner) か代理ユーザー (Delegate 

ClientIPAddress : クライアントの IP アドレス 

ClientInfoString : 操作したクライアントの情報 

ClientProcessName : クライアント プロセス名 

LogonUserDisplayName : オペレーションを実行したユーザー名 

SourceItemSubjectsList :メッセージアイテムの件名 

LastAccessed : オペレーションを実行した日時 

~~~~~~~~~~~ 

  

上記監査項目が出力されている場合、"LogonUserDisplayName" には操作を行われたユーザー、"LastAccessed" には操作を行われた日時、"SourceItemSubjectsList" には対象アイテムの件名が記録されております。 

 

なお、共有メールボックスの [AuditDelegate]  SendAsの監査項目が含まれていない場合は、監査ログで情報を取得できませんので、以下の手順にてご確認ください。

※既定で共有メールボックスを作成した場合は含まれています。

 

 

メールボックス単位で設定状況を確認する 

[構文] 

Get-Mailbox -Identity <対象メールボックスのアドレス> | Select AuditDelegate | Export-Csv -NoTypeInformation -Encoding UTF8 "<ファイル名を含んだ保存先のパス>" 

  

[実行例] 

Get-Mailbox -Identity User001@contoco.com | Select AuditDelegate | Export-Csv -NoTypeInformation -Encoding UTF8 "C:\temp\AuditEnabledList.csv

  

 全てのメールボックスの設定状況を確認する 

[構文] 

Get-Mailbox -ResultSize unlimited -Filter {RecipientTypeDetails -ne "DiscoveryMailbox"} | Select DisplayName,AuditDelegate | Export-Csv -NoTypeInformation -Encoding UTF8 "<ファイル名を含んだ保存先のパス>" 

  

[実行例] 

Get-Mailbox -ResultSize unlimited -Filter {RecipientTypeDetails -ne "DiscoveryMailbox"} | Select DisplayName,AuditDelegate | Export-Csv -NoTypeInformation -Encoding UTF8 "C:\temp\AuditEnabledList_AllList.csv

  

※ 実行例は C ドライブの Temp フォルダーに情報が出力されます。適宜ファイル名の変更をお願い申し上げます。 

  

なお、上記の手順にて、[AuditDelegate]  SendAsの監査項目が含まれていない場合は、以下のコマンドレットにて、追加することが可能です。

  

メールボックス単位で有効化する場合 

[構文] 

Set-Mailbox -Identity <有効化するメールボックスのアドレス> -AuditDelegate @{add="SendAs"} 

  

[実行例] 

Set-Mailbox -Identity User001@contoso.com -AuditDelegate @{add="SendAs"} 

  

全てのメールボックスに対し、一括で有効化する場合 

[実行例] 

Get-Mailbox -ResultSize unlimited -Filter {RecipientTypeDetails -ne "DiscoveryMailbox"} | Set-Mailbox -AuditDelegate @{add="SendAs"} 

【Microsoft365参考書】受信したメールが自動的に削除済みアイテムフォルダに移動する?無視とは?

無視

 

Outlookで受信したメールが何もしていないのに自動的に削除済みアイテムフォルダに移動する場合、「無視」という機能が関係している可能性があります。

 

メールを右クリックすると「無視」という項目があり、クリックすると以下のような画面が表示されます。

 

 

Outlookでは「スレッドとして表示」することが可能であり、スレッドのアイテムを「無視」した場合、そのスレッドに関係したメールを受信した場合、自動的に削除済みアイテムフォルダに移動されます。

 

今回のシナリオとしては、Outlookを利用していること、スレッドとして表示している場合に「無視」をすることで発生します。

「スレッドとして表示」する設定がおこなわれているかは、Outlook上部の「表示」タブをクリックし、「現在のビュー」から「スレッドとして表示」にチェックが入っているかで確認することができます。

 

ちなみに「無視」を解除したい場合は、自動的に削除済みアイテムフォルダに移動したメールを右クリックし「無視」をクリックすると、以下のような画面が表示されるので「スレッドの無視の中止」をクリックすると解除できます。

 

 

自動的に削除済みアイテムフォルダに移動する場合は、「無視」の設定を確認してみましょう。

 

送信済みアイテムフォルダのメールが自動的に削除される場合は、以下の記事でご紹介しておりますので参考としてくださいね。

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】特定のサービス プランが有効なユーザー情報を出力するには?

 

今回はライセンスに含まれている特定のサービスプランが有効なユーザーの情報を一覧として取得する方法についてご紹介したいと思います。

 

 

事前準備 : Windows PowerShell の起動と接続

 

下記公開情報の [1. Microsoft Graph PowerShell のインストール] を参考に、Microsoft Graph PowerShell 用モジュールのインストールをしてから実行してください。

※ すでに本モジュールのインストールが完了している場合、再インストールは不要ですので、後述の <Windows PowerShell への接続> の手順からご実施ください。

 

jpazureid.github.io

 

Windows PowerShell への接続

 

Microsoft Graph PowerShell 用モジュールのインストールが完了したら、以下の手順にて、Windows PowerShell へ接続してください。

 

1. Windows PowerShell を右クリックして [管理者として実行] で起動します。

 

2. 以下のコマンドレットを実行し、管理者ユーザーの ID とパスワードを入力します。

 

【コマンドレット】

Connect-MgGraph -Scopes "Organization.Read.All","User.ReadWrite.All"

 

3. 以下のコマンドレットを実行し、モジュールをインポートします。

 

【コマンドレット】

Import-Module -Name Microsoft.Graph.Users

 

 

テナントに紐づくライセンス情報を確認する

以下のコマンドレットを実行し、ご契約中のライセンスの SkuId を確認します。

 

【コマンドレット】

Get-MgSubscribedSku | ft Id, SkuId, SkuPartNumber -Wrap

 

出力例

Id                                                                        SkuId                                SkuPartNumber

--                                                                        -----                                --------

a818a9d9-4bf7-4316-b8bb-e0f1a52ce5ea_6fd2c87f-b296-42f0-b197-1e91e994b900 6fd2c87f-b296-42f0-b197-1e91e994b900 ENTERPRISEPACK

 

説明

・ 上記出力例は、[Office 365 E3/ENTERPRISEPACK] のライセンスのみを契約している場合の例です。

・ テナントにて複数のライセンスを所有している場合には所得しているすべてのライセンスが表示されます。

 

learn.microsoft.com

 

 

ライセンス内のサービスを確認する

以下のコマンドレットを実行し、ライセンスに含まれるサービス プランの情報を確認します。

 

【コマンドレット】

Get-MgSubscribedSku -SubscribedSkuId "<Get-MgSubscribedSku コマンドで確認した、サービス プランを確認したいライセンスの Id>" | Select-Object -ExpandProperty ServicePlans | ft ServicePlanId, ServicePlanName

 

【実行例】

Get-MgSubscribedSku -SubscribedSkuId "a818a9d9-4bf7-4316-b8bb-e0f1a52ce5ea_6fd2c87f-b296-42f0-b197-1e91e994b900" | Select-Object -ExpandProperty ServicePlans | ft ServicePlanId, ServicePlanName

 

説明

上記実行例では、[Office 365 E3] に含まれるサービスプランを確認してます。

 

 

特定のサービス プランが有効なユーザー情報を出力する

以下のコマンドレットを実行することで、特定のサービス プランが有効なユーザーを CSV ファイルに出力することが可能です。

 

ライセンスを指定するコマンドレット例

【コマンドレット】

$users | ForEach {$user = $_ ; Get-MgUserLicenseDetail -UserId $user.UserPrincipalName | Select-Object SkuPartNumber,SkuId -ExpandProperty ServicePlans | Select @{n="UserPrincipalName"; e={%{$user.UserPrincipalName}}}, SkuPartNumber,SkuId,ProvisioningStatus,ServicePlanId,ServicePlanName}|Where{($_.SkuId -eq "<対象ライセンスの skuId>") -and ($_.ServicePlanId -eq "<対象サービス プランの ServicePlanId>") -and ($_.ProvisioningStatus -ne "Disabled") } | Export-csv "<出力する CSV ファイル名>" -NoTypeInformation -Encoding UTF8

 

【実行例】

$users | ForEach {$user = $_ ; Get-MgUserLicenseDetail -UserId $user.UserPrincipalName | Select-Object SkuPartNumber,SkuId -ExpandProperty ServicePlans | Select @{n="UserPrincipalName"; e={%{$user.UserPrincipalName}}}, SkuPartNumber,SkuId,ProvisioningStatus,ServicePlanId,ServicePlanName}|Where{($_.SkuId -eq "6fd2c87f-b296-42f0-b197-1e91e994b900") -and ($_.ServicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0") -and ($_.ProvisioningStatus -ne "Disabled") } | Export-csv "C:\temp\EXOUser.csv" -NoTypeInformation -Encoding UTF8

 

ライセンスを指定しないコマンドレット例

【コマンドレット】

$users | ForEach {$user = $_ ; Get-MgUserLicenseDetail -UserId $user.UserPrincipalName | Select-Object SkuPartNumber,SkuId -ExpandProperty ServicePlans | Select @{n="UserPrincipalName"; e={%{$user.UserPrincipalName}}}, SkuPartNumber,SkuId,ProvisioningStatus,ServicePlanId,ServicePlanName}|Where{($_.ServicePlanId -eq "<対象サービス プランの ServicePlanId>") -and ($_.ProvisioningStatus -ne "Disabled") } | Export-csv "<出力する CSV ファイル名>" -NoTypeInformation -Encoding UTF8

 

【実行例】

$users | ForEach {$user = $_ ; Get-MgUserLicenseDetail -UserId $user.UserPrincipalName | Select-Object SkuPartNumber,SkuId -ExpandProperty ServicePlans | Select @{n="UserPrincipalName"; e={%{$user.UserPrincipalName}}}, SkuPartNumber,SkuId,ProvisioningStatus,ServicePlanId,ServicePlanName}|Where{($_.ServicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0") -and ($_.ProvisioningStatus -ne "Disabled") } | Export-csv "C:\temp\EXOUser.csv" -NoTypeInformation -Encoding UTF8

 

説明

・ 対象の全ユーザーを取得するには、 Get-MgUser のすぐ後ろに -All オプションを指定します。-All を指定しない場合は、100 ユーザーなど一部の結果のみが返されます。

PowerShell 7 を利用している場合、環境によって文字化けする可能性があります。出力されたファイルに文字化けが発生している場合は、コマンドレット内の [-Encoding UTF8] を [-Encoding UTF8BOM] に書き換えて実行し、文字化けの回避が可能かお試しください。

【Microsoft365参考書】共有メールボックスの作成できる上限は?配布リストなどのグループの作成できる上限は?

共有メールボックス上限

 

共有メールボックスと配布リストやメールが有効なセキュリティグループなどのグループの作成数に上限はありません

ただし、Microsoft365 テナント全体のオブジェクト数の上限として、テナントに承認済みドメイン (カスタムドメイン) をひとつでも登録している場合は、300,000 オブジェクト、承認済みドメインの登録がない場合(onmicrosoft.comのドメインのみ)は、50,000 オブジェクトまで作成が可能です。

 

 

なお、承認済みドメインの登録がない場合のオブジェクト数の上限は、microsoftテナントを作成した日時により上限が異なります。

 

2011  10  5 日より前に作成した場合

10,000 オブジェクト

 

2011  10  5 日から2012  5 月に作成した場合

20,000 オブジェクト

 

2012  5 月以降に作成した場合

50,000 オブジェクト

 

learn.microsoft.com

 

共有メールボックスを一括で複数作成する場合は以下の記事でご紹介しておりますので参考としてくださいね。

it-bibouroku.hateblo.jp

 

 

また、配布リストを一括で作成する場合は以下の記事で紹介しています。

it-bibouroku.hateblo.jp

 

【Microsoft365参考書】DMARCやDKIMがFAILになったメールを一覧で確認するには?

エクスプローラーDKIM

 

DKIMやDMARC FAIL となったメールを一覧で確認するには、Microsoft Defender  [エクスプローラ] の機能を利用することで可能です。

なお、[元の配信場所] で受信時の格納場所、[最新の配信場所]で現在の格納場所が確認できますので、DMARCポリシーにより削除、または、検疫に隔離されたかなども確認することができます。

 

 

 

DMARC または、DKIM FAIL となったメールを確認する手順

 

1. 管理者アカウントで Microsoft 365 Defender (https://security.microsoft.com) にアクセスします。  

2. 左メニューの [エクスプローラ] をクリックします。  

3. グラフ左上部の [すべてのメール] をクリックします。

4. その下の検索期間指定欄で、対象メールの送受信日時を含める期間を指定します。(30 日前まで指定が可能です)

5. その右の [送信者] のプルダウンメニューから [DMARC]または[DKIM] を選択します。

6. 右の [オプションを選んでください] のプルダウンメニューから [失敗] にチェックを入れます。  

7. [更新] をクリックします。

8. グラフ下部に表示された一覧にDKIM、または、DMARCがFAILになったメールが表示されます。

 

 

learn.microsoft.com