PowerShell で Microsoft 365 ユーザー アカウントを表示する

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

Microsoft 365 管理センターを使用して、Microsoft 365 テナントのアカウントを表示できます。 PowerShell for Microsoft 365 では、これが可能なだけでなく、追加の機能も用意されています。

Microsoft Graph PowerShell を使用してユーザー アカウントを表示する

注:

Azure Active Directory (AzureAD) PowerShell モジュールは非推奨となり、Microsoft Graph PowerShell SDK に置き換えられます。 Microsoft Graph PowerShell SDK を使用して、すべての Microsoft Graph API にアクセスできます。 詳細については、「Microsoft Graph PowerShell SDK の使用を開始する」 を参照してください。

Microsoft Graph PowerShell のインストールと Microsoft Graph PowerShell へのアップグレードの方法については、「Microsoft Graph PowerShell SDK のインストール」と「 Azure AD PowerShell から Microsoft Graph PowerShell へのアップグレード」も参照してください。

  1. まず、Microsoft Graph PowerShell を使用するために必要なソフトウェアをインストールします。 詳細については、「 Microsoft Graph PowerShell を使用して Microsoft 365 に接続 する」を参照してください。

  2. 次に、次のコマンドレットを実行して、必要なアクセス許可スコープ (この場合は User.ReadBasic.All) を使用してorganizationに接続します。

# Connect to Microsoft Graph
Connect-Graph -Scopes User.ReadBasic.All

すべてのアカウントを表示する

ユーザー ID とユーザー プリンシパル名を持つユーザー アカウントの完全な一覧を表示するには、次のコマンドを実行します。

Get-MgUser -All | Select DisplayName,Id,UserPrincipalName

次のような情報が表示されます。

DisplayName               Id                                   UserPrincipalName
-----------               --                                   -----------------
Conf Room Adams           6e206948-b2b6-406c-a728-80bbe78e4003 Adams@M365x89521157.OnMicrosoft.com
Adele Vance               916a6a08-b9d0-44b6-870f-562d8358a314 AdeleV@M365x89521157.OnMicrosoft.com
MOD Administrator         5710f237-df3f-4bcd-b875-82deb02f98aa admin@M365x89521157.onmicrosoft.com
Alex Wilber               8aa561dc-441d-4d74-aeb3-e2be41c116c8 AlexW@M365x89521157.OnMicrosoft.com
Allan Deyoung             6b629e5e-3cf4-42d0-8007-3a93f0253382 AllanD@M365x89521157.OnMicrosoft.com
Automate Bot              3a70feb4-9407-47b5-9b61-7526ac0e98d8 AutomateB@M365x89521157.OnMicrosoft.com      
Conf Room Baker           d8cf3fef-1d03-4b9c-9be0-fed44fb87596 Baker@M365x89521157.OnMicrosoft.com
Bianca Pisani             7fe8c2d1-eb8e-4032-96ba-26242ff0acd9 BiancaP@M365x89521157.OnMicrosoft.com        

特定のアカウントを表示する

特定のユーザー アカウントを表示するには、次のコマンドを実行します。 ユーザー アカウントのサインイン アカウント名 (ユーザー プリンシパル名 (UPN) とも呼ばれる) を入力します。 "" 文字と "<>" 文字を削除します。

Get-MgUser -UserId '<user principal name>'

次に例を示します。

Get-MgUser -UserId 'BelindaN@litwareinc.onmicosoft.com'

特定のアカウントの追加のプロパティ値を表示する

既定では、 Get-MgUser コマンドレットには、アカウントの DisplayNameIdMailUserPrincipalName の各プロパティのみが表示されます。

表示するプロパティをより選択的にするには、Get-MgUser コマンドレットと組み合わせて Select コマンドレットを使用します。 この 2 つのコマンドレットを組み合わせるには、"パイプ" 文字 ("|") を使用します。この文字は、1 つのコマンドの結果を次のコマンドに送るよう PowerShell に指示します。 すべてのユーザー アカウントの DisplayNameDepartmentUsageLocation を表示するコマンドの例を次に示します。

Get-MgUser -All | Select DisplayName,Department,UsageLocation

このコマンドによって PowerShell に対して次の処理が命令されます。

  1. ユーザー アカウントに関するすべての情報 (Get-MgUser) を取得し、次のコマンド (|) に送信します。

  2. ユーザー アカウント名、部署、使用場所 (Select DisplayName、Department、UsageLocation) だけを表示する。

特定のユーザー アカウントのすべてのプロパティを表示するには、Select コマンドレットとワイルドカード文字 (*) を使用します。 次に例を示します。

Get-MgUser -UserID 'BelindaN@litwareinc.onmicosoft.com' | Select *

別の例として、次のコマンドを実行して、特定のユーザー アカウントの有効な状態を確認します。

Get-MgUser -UserID '<sign-in name of the user account>' | Select DisplayName,UserPrincipalName,AccountEnabled

アカウントの同期状態を表示する

ユーザー アカウントには、次の 2 つのソースがあります。

  • オンプレミス AD からクラウドに同期するアカウントである Windows Server Active Directory (AD)。

  • Microsoft Entraアカウント。これはクラウドで直接作成されます。

次のコマンドを使用して、オンプレミス AD のアカウントから同期しているアカウントを検索できます。 OnPremisesSyncEnabled 属性が True に設定されているすべてのユーザーを取得するように PowerShell に指示します。

Get-MgUser -All -Filter 'OnPremisesSyncEnabled eq true'

次のコマンドを使用して、クラウド専用アカウントを検索できます。 OnPremisesSyncEnabled 属性が False に設定されているか、設定されていない (Null) すべてのユーザーを取得するように PowerShell に指示します。 オンプレミス AD から同期されなかったアカウントには、 OnPremisesSyncEnabledNull に設定されています。 オンプレミス AD から最初に同期されたが、同期されなくなったアカウントには、 OnPremisesSyncEnabledFalse に設定されています。

Get-MgUser -All | Where OnPremisesSyncEnabled -ne true
OnPremisesSyncEnabled```

### View accounts based on a common property

To be more selective about the list of accounts to display, you can use the **Where** cmdlet in combination with the **Get-MgUser** cmdlet. To combine the two cmdlets, use the "pipe" character ("|"), which tells PowerShell to take the results of one command and send it to the next command. Here is an example command that displays only those user accounts that have an unspecified usage location:
  
```powershell
Get-MgUser | Where UsageLocation -eq $Null

このコマンドによって PowerShell に対して次の処理が命令されます。

  1. ユーザー アカウントに関するすべての情報 (Get-MgUser) を取得し、次のコマンド (|) に送信します。

  2. 指定されていない使用場所を持つすべてのユーザー アカウントを検索します (Where UsageLocation -eq $Null)。 コマンドは、 UsageLocation ユーザー アカウント プロパティ (UsageLocation) が指定されていないアカウントのセットのみを検索するように PowerShell に指示します (-eq $Null)。

UsageLocation プロパティは、ユーザー アカウントに関連付けられている多数のプロパティのうちの 1 つに過ぎません。 特定のユーザー アカウントのすべてのプロパティを表示するには、Select コマンドレットとワイルドカード文字 (*)を使用します。 次に例を示します。

Get-MgUser -UserID BelindaN@litwareinc.onmicosoft.com | Select *

たとえば、City がユーザー アカウント プロパティの名前であるとします。 つまり、以下のコマンドを使用すると、ロンドン在住のユーザーのすべてのアカウントの一覧を表示できます。

Get-MgUser | Where City -eq "London"

ヒント

これらの例の Where コマンドレットの構文は、 Where [user account property name] [comparison operator] [value] の値です。> [比較演算子] は、等号の 場合は -eq 、等しくない場合は -ne 、より小さい場合は -lt 、より大きい場合は -gt 、その他です。 [value] は通常、文字列 (文字、数字などのシーケンス)、数値、$Null (未指定の場合) のいずれかです。 詳細については、「Where」を参照してください。

関連項目

Microsoft 365 ユーザー アカウント、ライセンス、PowerShell を使用したグループを管理する

PowerShell で Microsoft 365を管理する

Microsoft 365 用 PowerShell の使用を開始する