
Microsoft 365 環境のセキュリティ評価を自動化する PowerShell スクリプト。

Microsoft 365 環境のセキュリティ評価を自動化する PowerShell スクリプトを作成することで、Microsoft 365 セキュリティの状態を向上させます。
Soteria Inspect は365Inspectプロジェクトから生まれ、Microsoft 365サービスの全スイートにわたる200以上の検査ポイントでMicrosoft 365テナントのセキュリティ評価を支援するSoteriaのSaaSソリューションです。
Soteria Inspect for Microsoft 365を使用すると、顧客は各検出結果の影響を受けるオブジェクトの経時的な変更や修復作業を追跡でき、さらにMSPや親組織が子テナントの状況を把握できるマルチテナンシー機能を含むようになりました。
Soteria Inspect for Microsoft 365 は、Soteria から直接、または Azure Marketplace から入手できます。
Soteria Inspect for Microsoft 365 の全オファー をご覧ください。

365Inspect Community Edition では、Exchange管理、Microsoft Graph、Microsoft Teams、SharePoint管理モジュールの管理用PowerShellモジュールが必要です。
365Inspect は PowerShell Core (6+) に対応しており、必要なモジュールの依存関係により Microsoft Windows オペレーティングシステムが必要です。
365Inspect.ps1 PowerShellスクリプトは、インストールされているモジュールと、インスペクターが機能するために必要なモジュールの最小バージョンを検証します。
これらのモジュールがインストールされていない場合は、インストールを促すプロンプトが表示され、承認を得るとスクリプトがインストールを試みます。それ以外の場合は、管理者用PowerShellプロンプトで以下のコマンドを使用してインストールするか、以下の参考資料の指示に従ってインストールできます。
Install-Module -Name ExchangeOnlineManagement -AllowClobber -Force
Install-Module -Name PnP.PowerShell -AllowClobber -Force
Install-Module -Name Microsoft.Graph -AllowClobber -Force
Install-Module -Name MicrosoftTeams -AllowClobber -Force
Exchange Online PowerShell をインストールする
SharePoint PnP PowerShell モジュールをインストールする
上記がインストールされたら、ブラウザまたは git clone を使用して、Githubから365Inspectソースコードフォルダをダウンロードします。
2024年9月9日以降、PnP.PowerShell ではテナント管理者が SharePoint/PnP サービスを使用するために独自のアプリケーションを登録する必要があります。 必要な手順については、以下の PnP.PowerShell ドキュメントを参照してください。 PnP PowerShell で使用する Entra ID アプリケーションの登録 アクセス許可の決定 認証
注: PowerShell 5.1 を使用している場合、PnP PowerShell は互換性がなくなり、実行時にすべての SharePoint インスペクターが除外されます。
この手順を自動化するために実行できるコマンドがあります。この手順を自動化する。```powershell Register-PnPEntraIDAppForInteractiveLogin -ApplicationName "PnP Rocks" -Tenant [yourtenant].onmicrosoft.com -Interactive
作成したアプリケーションの名前またはアプリケーション/クライアントIDを忘れずにメモしてください。これは認証に必要となり、AppIDの入力を求められます!
# モジュール互換性
現在、Microsoft.GraphおよびMicrosoft.Graph.Betaモジュールのバージョン2.23.0は、ExchangeOnlineManagementバージョン3.5.1と互換性がありません。
以下のバージョンは互換性があります:
- Microsoft.Graph バージョン 2.21.1
- Microsoft.Graph.Beta バージョン 2.21.1
- ExchangeOnlineManagement バージョン 3.5.0
以下のコマンドを使用して互換性のあるバージョンをインストールできます:```powershell
Install-Module -Name Microsoft.Graph -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name Microsoft.Graph.Beta -Scope CurrentUser -RequiredVersion 2.21.1 -AllowClobber -Force
Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser -RequiredVersion 3.5.0 -AllowClobber -Force
365Inspect を管理者権限で実行するため、論理的な場所に配置し、フォルダの内容が管理ユーザーのみが読み取り・書き込み可能であることを確認してください。これは、365Inspect を頻繁に実行する場所や、自動化プロセスの一部として使用する予定がある場合に特に重要です。注: 365Inspect は、管理者用 PowerShell ウィンドウで実行する必要はありません。
365Inspect を実行するには、PowerShell コンソールを開き、365Inspect をダウンロードしたフォルダに移動します:
cd 365Inspect
PowerShell コマンドプロンプトでメインスクリプトファイル 365Inspect.ps1 を実行することで、365Inspect を操作します。
365Inspect が M365 テナントを検査するために必要なのは、適切な権限を持つ M365 アカウントによるアクセスだけです。そのため、ほとんどのコマンドラインパラメータは、評価対象の組織と認証方法に関連しています。
365Inspect の実行は次のようになります:
.\365Inspect.ps1 -OutPath <値> -UserPrincipalName [email protected] -Auth <MFA|DEVICE|ALREADY_AUTHED|APP> -pnpPowerShellApplicationId <ご利用の Pnp PowerShell アプリケーション/クライアント ID>
たとえば、MFA 対応のブラウザで資格情報を入力してログインする場合:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA
政府またはその他の各国クラウド(中国、ドイツなど)にログインする場合は、-Environment パラメータを次のように指定します:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -Environment USGovGCCHigh
-Environment の有効な引数は次のとおりです:
アプリケーション認証は、次のパラメータでスクリプトを実行することで実現できます:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP
政府またはその他の各国クラウド(中国、ドイツなど)にログインする場合は、-Environment パラメータを次のように指定します:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth APP -Environment USGovGCCHigh
-Environment の有効な引数は次のとおりです:
注: アプリケーション認証を使用して 365Inspect を実行するには、前提条件があります。アプリケーション認証の要件 に進んでください。
365Inspect は、HTML(デフォルト値)、CSV、XML 形式へのレポート出力をサポートするようになりました。
たとえば、-ReportType パラメータを呼び出すことで CSV レポートを生成できます:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -ReportType CSV
365Inspect は、指定されたインスペクターモジュールのみを実行するか、逆に指定されたモジュールを除外して実行できます。
たとえば、MFA 対応のブラウザで資格情報を入力してログインする場合:
.\365Inspect.ps1 -OutPath ..\365_report -UserPrincipalName [email protected] -Auth MFA -SelectedInspectors inspector1, inspector2
または
.\365Inspect.ps1 -OutPath ..\365_report -Auth MFA -ExcludedInspectors inspector1, inspector2, inspector3
パラメータの詳細な説明:
OutPath は、365Inspect によって生成されたレポートが配置されるフォルダへのパスです。
Auth は、"MFA" または "ALREADY_AUTHED" のリテラル値のいずれかであるセレクタです。