本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-MgServicePrincipal」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は「Microsoft Entra ID」(旧称:Microsoft Azure Active Directory《Azure AD》)に登録された「サービスプリンシパル」の情報を参照する「Get-MgServicePrincipal」コマンドレットです。
「Get-MgServicePrincipal」は、PowerShellを利用してMicrosoft Entra IDに登録されたサービスプリンシパルの情報を参照するためのコマンドレットです。サービスプリンシパルはアプリケーションが認証に使うIDで、サービスプリンシパルとして登録されたアプリケーションは「条件付きアクセス」によるアクセス制御を実施できます。
通常、Microsoft Entra IDの「エンタープライズアプリケーション」に登録されたアプリケーションがサービスプリンシパルとして登録されます。しかし、「Microsoft Office 365」ように、明示的にエンタープライズアプリケーションに登録する必要のないアプリケーションでもサービスプリンシパルとして自動的に登録されている場合があります。
このように、エンタープライズアプリケーションとサービスプリンシパルは必ずしも同じアプリケーションが登録されているわけでありません。そのため、サービスプリンシパルの一覧を参照する必要がある場合は、本連載第87回で解説したエンタープライズアプリケーションの一覧を参照する「Get-MgApplication」コマンドレットではなく、今回紹介するGet-MgServicePrincipalコマンドレットを利用します。
なお、Get-MgServicePrincipalコマンドレットは、本連載第45回で解説した「Connect-MgGraph」コマンドレットで「Connect-MgGraph -Scopes "Application.Read.All"」と実行して、Microsoft Entra IDへの接続とアクセス許可を与えておくことが前提条件になります。
オプション | 意味 |
---|---|
-All | 全てのサービスプリンシパルを表示する。省略可能 |
-Property | 特定のプロパティ(属性)を表示する。省略可能 |
-ConsistencyLevel | ConsistencyLevelヘッダを定義し、Advanced Queryを有効化する。省略可能 |
-Count | Get-MgServicePrincipalコマンドレットが返した値を変数として設定する。省略可能 |
-Filter | 条件に合致するサービスプリンシパルを表示する。省略可能 |
Get-MgServicePrincipalコマンドレットをオプションなしでそのまま実行した場合は、最大で100個のサービスプリンシパルまでしか表示しません。Microsoft Entra IDに登録されている全てのサービスプリンシパルを表示させる場合は、「-All」オプションを付けて実行します(画面1)。
Copyright © ITmedia, Inc. All Rights Reserved.