Open watahani opened 3 years ago
サインイン アクティビティについては、Microsoft Graph SDK がレスポンスを独自のオブジェクトに変換するため、ConvertTo-Json
で日付のオブジェクトが Date(1629178519000)
のようになってしまう。
$signIns = Get-MgAuditLogSignIn -Top 10
$signIns[0].CreatedDateTime | ConvertTo-Json
# {
# "value": "\/Date(1629178519000)\/",
# "DateTime": "2021年8月17日 5:35:19"
#}
結局 Invoke-GraphRequest で nextlink の処理を自前で実装するしかなさそうであるが、429 エラーの処理が怪しく、であれば現状 MSAL ライブラリを生で使って自前でコードを書いたほうが取り回しが楽そう。何か良い手があればコメントください。
一応、生の JSON を取得するには Azure AD Graph SDK を使って、以下のようにするのが最も容易。ただしスロットリングのエラーハンドリングはおそらく実装されていないと思う。
(Get-AzureADAuditSignInLogs).ToJson()
MSAL.PS か Azure AD PowerShell Module, Microsoft Graph PowerShell SDK でできるのであれば生で MSAL 使うのをやめたい。