0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Office365のゲストユーザー(外部ユーザー)の一覧を取得する

Posted at

外部ユーザーをテナントに招待するといろいろ便利なんだけど、ゲストユーザーも数十を超えると管理がつらくなってくる。定期的に一覧取得して、不要なアカウントを削除する方法を考えておく。

とりあえず、今回は一覧を取得する。

# ゲストユーザー一覧を取得する

こんな記事があったので、倣ってみた。
Powershell – Useful Azure AD queries using the AzureAD Module

Conect-AzureAD
$_default_log = $env:userprofile + '\Documents\azuread_guest_accounts.csv'

Get-AzureADUser -Filter "userType eq 'Guest'" -All $true | select DisplayName,UserPrincipalName,Mail,RefreshTokensValidFromDateTime,AccountEnabled | export-csv $_default_log -NoTypeInformation

ドキュメントフォルダの直下に、csvファイルでエクスポート。
ゲストユーザーの表示名、UPN(ゲストユーザーお約束、#EXT#@.onmicrosoft.com)、メールアドレス(こっちは一般的なメールアドレス)、有効になった日時、テナントにアクセス可能か、を一覧にしてくれている。

# 属性取得する

Connect-AzureAD
Get-AzureADUser -UserPrincipalName <UPN> | Select-Object *

ゲストユーザーを取得するときは、さっきの#EXT#@を含むほうで実施する。

Connect-msolService
Get-MsolUser -UserPrincipalName <UPN> | Select-Object *

上記でも同じように取得できる。(一部内容が違う)

ゲストユーザーを削除する。

Connect-AzureAD
Remove-AzureADUser -ObjectID <Account>

アカウントには、ゲストユーザーのUPN(さっきの#EXT#@のやつ)で行う。

課題いくつか

課題1.最終ログインを取得したい

LastLogonを取得したい。社内のアカウント以上に、能動的に消さないと残ってしまいがち。
GUIならできるんだけどね・・・。

課題2.外部のAzureADユーザーか、MSアカウントユーザーか取得する

GUIならできるんだけどね・・・。

課題3.自動削除

最終的には、週次バッチとかで、最終ログインが30日以上前のゲストユーザーは自動削除、とかできたら管理ラクになりそう。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?