社畜の所業

社畜の所業

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

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

【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

 

【Microsoft365参考書】パスワードの有効期限を無期限に設定するには?

 

今回は、Powershellにて、ユーザーのパスワードーの有効期限を無期限に設定する方法についてご紹介したいと思います。

 

事前準備 : 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 "User.ReadWrite.All"

 

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

 

【コマンドレット】

Import-Module -Name Microsoft.Graph.Users

 

 

 

指定したユーザーのパスワードの有効期限を無期限に設定

 

以下のコマンドレットを実行して、特定のユーザーのパスワード無期限化を実施します。

 

【コマンドレット】

Update-MgUser -UserId "<ユーザー ID>" -PasswordPolicies DisablePasswordExpiration

 

【実行例】

Update-MgUser -UserId user01@contoso.com -PasswordPolicies DisablePasswordExpiration

 

 

指定したユーザーのパスワードの無期限化設定を確認

 

以下のコマンドレットを実行して、ユーザーのパスワード有効期限が無期限に設定されているか確認します。

 

【コマンドレット】

Get-MGuser -UserId "<ユーザー ID>" -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName,@{

N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}

 

【実行例】

Get-MGuser -UserId user01@contoso.com -Property UserPrincipalName, PasswordPolicies | Select-Object UserPrincipalName,@{

N="PasswordNeverExpires";E={$_.PasswordPolicies -contains "DisablePasswordExpiration"}}

 

 

 

対象とするユーザーが複数いる場合には、以下の手順で実施します。

 

パスワードを無期限化するユーザーの一覧を CSV ファイルで作成する

 

【フォーマット】

UserPrincipalName

user01@contoso.com

user02@contoso.com

user03@contoso.com

 

留意事項

 

・編集するファイルは、メモ帳、もしくは Excel にて作成いただき、ファイルを保存する際に、CSV ファイル形式で保存します。

 Excel ファイルにて作成する場合は、保存する際の形式を [CSV UTF-8 (コンマ区切り) ] と指定してください。

・エラー発生時のリスク回避のため、1 ファイルにつき 1,000 名以内に CSV ファイルを分割して作業いただくことをお勧めします。

 

 

複数ユーザーのパスワードの有効期限を一括で無期限に設定

 

 

【コマンドレット】

$CSV = Import-CSV -Path "<作成した CSV ファイルのパス>"

$params.passwordPolicies = "DisablePasswordExpiration"

$CSV | ForEach-Object {Update-Mguser -UserId $_.UserPrincipalName -BodyParameter $params}

 

【実行例】

$CSV = Import-CSV -Path "C:\temp\UserList.csv"

$params.passwordPolicies = "DisablePasswordExpiration"

$CSV | ForEach-Object {Update-Mguser -UserId $_.UserPrincipalName -BodyParameter $params}

 

※ 上記実行例では、C ドライブ直下の temp フォルダーに UserList.csv ファイルを出力しています。

※ 読み込む CSV ファイルの項目名がUserPrincipalName の場合です

 

ユーザーのパスワードの無期限化設定を確認

 

以下のコマンドレットを実行して、ユーザーのパスワード有効期限が無期限に設定されているか確認します。

 

【コマンドレット】

$CSV = Import-CSV -Path "<作成した CSV ファイルのパス>"

$CSV | ForEach-Object {Get-MgUser -UserId $_.UserPrincipalName -Property UserPrincipalName,PasswordPolicies} | select UserPrincipalName,PasswordPolicies | Export-Csv <出力先のパスとファイル名> -NoTypeInformation -Encoding UTF8

 

【実行例】

$CSV = Import-CSV -Path "C:\temp\UserList.csv"

$CSV | ForEach-Object {Get-MgUser -UserId $_.UserPrincipalName -Property UserPrincipalName,PasswordPolicies} | select UserPrincipalName,PasswordPolicies | Export-Csv <出力先のパスとファイル名> -NoTypeInformation -Encoding UTF8

 

※ 上記実行例では、C ドライブ直下の temp フォルダーに UserList.csv ファイルを出力しています。