【 Get-MgAuditLogSignIn 】コマンドレット――Azure Active Directoryのサインインログを参照するWindows PowerShell基本Tips(71)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-MgAuditLogSignIn」コマンドレットを解説します。

» 2023年05月26日 05時00分 公開
[国井傑株式会社エストディアン]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Azure Active Directory」(Azure AD)に記録されたサインインログを参照する「Get-MgAuditLogSignIn」コマンドレットです。

Get-MgAuditLogSignInコマンドレットとは?

 「Get-MgAuditLogSignIn」は、PowerShellを利用してAzure ADにサインインしたユーザーとアプリの履歴を参照するためのコマンドレットです。Azure ADは最大で「30日前」までのサインインログしか参照できないため、実行結果を保存するコマンドレットと組み合わせて使用することで、永続的にログを参照できるような運用が可能になります。

 なお、New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットは、本連載第45回で解説した「Connect-MgGraph」コマンドレットで「Connect-MgGraph -Scopes "AuditLog.Read.All", "Directory.Read.All"」と実行して、Azure ADへの接続とアクセス許可を与えておくことが前提条件になります。

Get-MgAuditLogSignInコマンドレットの書式

Get-MgAuditLogSignIn [オプション]


Get-MgAuditLogSignInコマンドレットの主なオプション

オプション 意味
-Filter 特定の条件におけるサインインだけを出力する

ユーザーがアプリにアクセスした日時を調べる

 Get-MgAuditLogSignInコマンドレットをオプションなしで実行すると、サインインしたユーザーの「ユーザーID」、アクセスしたアプリの「表示名」、アプリの「ID」の3つだけが表示されます。これでは人の目から見て実用的なログではないため、Get-MgAuditLogSignInコマンドレットに続けてログの出力結果として見たい列を「ft」コマンドで指定します(画面1)。

コマンドレット実行例

Get-MgAuditLogSignIn |ft userPrincipalName,AppDisplayName,CreatedDateTime

画面1 画面1 Get-MgAuditLogSignInコマンドレットを実行し、実行結果からユーザーのUPN(userPrincipalName)、アプリの表示名(AppDisplayName)、サインイン日時(CreatedDateTime)が表示されるようにした。なお、ftコマンドに続けて指定可能な列の一覧は「Get-MgAuditLogSignIn |gm」と指定して実行することで確認できる

特定のユーザーがサインインしたログだけを参照する

 Get-MgAuditLogSignInコマンドレットで出力されるサインインログのうち、特定の条件を満たすログだけを出力するように指定する場合は、「-Filter」オプションを使用します(画面2)。-Filterオプションでは「"startsWith(userPrincipalName,'muto')"」のように指定することで、userPrincipalName属性の値が「muto」で始まる(startsWith)ログだけを出力するように指定できます。

コマンドレット実行例

Get-MgAuditLogSignIn -Filter "startsWith(userPrincipalName,'muto')" |ft userPrincipalName,AppDisplayName,CreatedDateTime

画面2 画面2 Get-MgAuditLogSignInコマンドレットに続けて-FilterオプションでUPN(userPrincipalName属性)がmutoで始まるログだけを出力するように指定した。なお、-Filterオプションで使用できる演算子にはstartsWith以外にも「○○が含まれる場合」のように指定する際に使用できるcontains演算子や、完全一致する値を指定する際に使用できるeq演算子などが利用できる。eq演算子の場合は「-Filter userPrincipalName eq 'muto@ij7301.onmicrosoft.com'」のように指定する必要がある

サインインログをCSV形式で保存する

 Get-MgAuditLogSignInコマンドレットによる実行結果をCSV(Comma-Separated Values)形式に変換し、CSVファイルとして保存したい場合は、Get-MgAuditLogSignInコマンドレットに続けて「Export-Csv」コマンドレットを使用します(画面3)。

コマンドレット実行例

Get-MgAuditLogSignIn |Select-Object -Property userPrincipalName,AppDisplayName,CreatedDateTime | Export-Csv -Path C:\export\signinlog.csv

画面3 画面3 Get-MgAuditLogSignInコマンドレットに続けてSelect-Objectコマンドレットを使用してユーザーのUPN(userPrincipalName)、アプリの表示名(AppDisplayName)、サインイン日時(CreatedDateTime)が表示されるようにした(Select-Objectコマンドレットではなくftコマンドを使用した場合、CSV形式で保存することができなくなるので注意)。その後、Export-Csvコマンドレットで実行結果をCSVファイルとして保存した

筆者紹介

国井 傑(くにい すぐる)

株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。