PowerShell Microsoft 365ユーザー アカウントを表示するView Microsoft 365 user accounts with PowerShell

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。This article applies to both Microsoft 365 Enterprise and Office 365 Enterprise.

管理センターの Microsoft 365を使用して、テナントのアカウントMicrosoft 365できます。You can use the Microsoft 365 admin center to view the accounts for your Microsoft 365 tenant. PowerShell for Microsoft 365これを有効にし、追加の機能も提供します。PowerShell for Microsoft 365 enables this but also provides additional functionality.

Graph 用 Azure Active Directory PowerShell モジュールを使用するUse the Azure Active Directory PowerShell for Graph module

最初に、テナントにMicrosoft 365しますFirst, connect to your Microsoft 365 tenant.

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

ユーザー アカウントの完全な一覧を表示するには、次のコマンドを実行します。To display the full list of user accounts, run this command:

Get-AzureADUser

次のような情報を取得する必要があります。You should get information similar to this:

ObjectId                             DisplayName                                           UserPrincipalName
--------                             -----------                                           -----------------
032fc1fc-b5a2-46f1-8635-3d7dcb52c48d Adele Vance                                           AdeleV@litwareinc.OnMicr...
bd1e6af1-41e7-4f77-a2ac-5b209950135c Global Administrator                                  admin@litwareinc.onmicro...
ec37a4d6-232e-4eb7-82a5-1613490642a5 Alex Wilber                                           AlexW@litwareinc.OnMicro...
be4bdddd-c790-424c-9f96-a0cf609b7815 Allan Deyoung                                         AllanD@litwareinc.OnMicr...
598ab87b-76f0-4bf9-9538-bd46b10f4438 Christie Cline                                        ChristieC@litwareinc.OnM...
40722671-e520-4a5f-97d4-0bc9e9b2dc0f Debra Berger                                          DebraB@litwareinc.OnMicr...

特定のアカウントを表示するView a specific account

特定のユーザー アカウントを表示するには、次のコマンドを実行します。To display a specific user account, run the following command. ユーザー アカウントのサインイン アカウント名 (ユーザー プリンシパル名 (UPN) とも呼ばれる) を入力します。Fill in the sign-in account name of the user account, which is also known as the user principal name (UPN). "<" 文字と ">" 文字を削除します。Remove the "<" and ">" characters.

Get-AzureADUser -ObjectID <sign-in name of the user account>

次に例を示します:Here's an example:

Get-AzureADUser -ObjectID BelindaN@litwareinc.onmicosoft.com

特定のアカウントの追加のプロパティ値を表示するView additional property values for a specific account

既定では、Get-AzureADUser コマンドレット は、アカウントの ObjectID、DisplayName、 および UserPrincipalName プロパティのみを表示します。 By default, the Get-AzureADUser cmdlet only displays the ObjectID, DisplayName, and UserPrincipalName properties of accounts.

表示するプロパティの詳細を選択するには 、Select コマンドレットを Get-AzureADUser コマンドレットと組み合わせて使用します。To be more selective about the properties to display, use the Select cmdlet in combination with the Get-AzureADUser cmdlet. 2 つのコマンドレットを組み合わせるには、"パイプ" 文字 ("|") を使用して、Azure Active Directory PowerShell に Graph のコマンドの結果を取得し、次のコマンドに送信します。To combine the two cmdlets, use the "pipe" character ("|"), which tells Azure Active Directory PowerShell for Graph to take the results of one command and send it to the next command. すべてのユーザー アカウントの DisplayName、Department、UsageLocation を表示する コマンド の例を次に示します。 Here's an example command that displays the DisplayName, Department, and UsageLocation for every user account:

Get-AzureADUser | Select DisplayName,Department,UsageLocation

このコマンドは、PowerShell に次の指示を行います。This command instructs PowerShell to:

  1. ユーザー アカウント (Get-AzureADUser) のすべての情報を取得し、次のコマンド ( ) に送信します |Get all the information on the user accounts (Get-AzureADUser) and send it to the next command (|).

  2. ユーザー アカウント名、部署、使用状況の場所のみを表示します ([DisplayName、 Department, UsageLocation] の選択)。Display only the user account name, department, and usage location (Select DisplayName, Department, UsageLocation).

特定のユーザー アカウントのすべてのプロパティを表示するには 、Select コマンドレットとワイルドカード文字 (*)を使用します。To see all the properties for a specific user account, use the Select cmdlet and the wildcard character (*). 次に例を示します:Here's an example:

Get-AzureADUser -ObjectID BelindaN@litwareinc.onmicosoft.com | Select *

別の例として、次のコマンドを実行して、特定のユーザー アカウントの有効な状態を確認します。As another example, run the following command to check the enabled status of a specific user account:

Get-AzureADUser -ObjectID <sign-in name of the user account> | Select DisplayName,UserPrincipalName,AccountEnabled

アカウントの同期状態の表示View account synchronization status

ユーザー アカウントには、次の 2 つのソースがあります。User accounts have two sources:

  • Windowsサーバー Active Directory (AD) は、オンプレミスのサーバーからクラウドAD同期するアカウントです。Windows Server Active Directory (AD), which are accounts that sync from on-premises AD to the cloud.

  • Azure Active Directory (Azure AD) AD、クラウドに直接作成されるアカウントです。Azure Active Directory (Azure AD) AD accounts, which are created directly in the cloud.

次のコマンドは、属性 DirSyncEnabled を True に設定しているすべてのユーザーを取得するように PowerShell に指示 しますThe following command instructs PowerShell to get all users who have the attribute DirSyncEnabled set to True. この機能を使用して、オンプレミスのアカウントから同期しているアカウントをAD。You can use it to find accounts that are synchronizing from on-premise AD.

Get-AzureADUser | Where {$_.DirSyncEnabled -eq $true}

次のコマンドは、属性 DirSyncEnabled を False に設定しているすべてのユーザーを取得するように PowerShell に指示 しますThe following command instructs PowerShell to get all users who have the attribute DirSyncEnabled set to False. クラウド専用アカウントの検索に使用できます。You can use it to find cloud-only accounts.

Get-AzureADUser | Where {$_.DirSyncEnabled -ne $false}

共通プロパティに基づいてアカウントを表示するView accounts based on a common property

表示するアカウントの一覧を選択するには 、Get-AzureADUser コマンドレットと組み合わせて Where コマンドレットを使用できます。To be more selective about the list of accounts to display, you can use the Where cmdlet in combination with the Get-AzureADUser cmdlet. 2 つのコマンドレットを組み合わせるには、"パイプ" 文字 ("|") を使用して、Azure Active Directory PowerShell に Graph のコマンドの結果を取得し、次のコマンドに送信します。To combine the two cmdlets, use the "pipe" character ("|"), which tells Azure Active Directory PowerShell for Graph to take the results of one command and send it to the next command. 使用場所が指定されていないユーザー アカウントのみを表示するコマンドの例を次に示します。Here's an example command that displays only those user accounts that have an unspecified usage location:

Get-AzureADUser | Where {$_.UsageLocation -eq $Null}

このコマンドは、次Azure Active Directory PowerShell にGraph指示します。This command instructs Azure Active Directory PowerShell for Graph to:

  1. ユーザー アカウント (Get-AzureADUser) のすべての情報を取得し、次のコマンド ( ) に送信します |Get all the information on the user accounts (Get-AzureADUser) and send it to the next command (|).

  2. 使用場所が指定されていないすべてのユーザー アカウントを検索します (Where {$ _ .UsageLocation -eq $Null})。Find all the user accounts that have an unspecified usage location (Where {$_.UsageLocation -eq $Null}). 中かっこ内で、このコマンドは、UsageLocation ユーザー アカウント プロパティ ($ _ .UsageLocation) は指定されていません (-eq $Null)。Inside the braces, the command instructs PowerShell to only find the set of accounts for which the UsageLocation user account property ($_.UsageLocation) is not specified (-eq $Null).

UsageLocation プロパティ は、ユーザー アカウントに関連付けられている多数のプロパティの 1 つのみです。The UsageLocation property is only one of many properties associated with a user account. 特定のユーザー アカウントのすべてのプロパティを表示するには 、Select コマンドレットとワイルドカード文字 (*)を使用します。To display all the properties for a specific user account, use the Select cmdlet and the wildcard character (*). 次に例を示します:Here's an example:

Get-AzureADUser -ObjectID BelindaN@litwareinc.onmicosoft.com | Select *

たとえば 、City は ユーザー アカウント プロパティの名前です。For example, City is the name of a user account property. 次のコマンドを使用して、ロンドンに住むユーザーのすべてのアカウントを一覧表示できます。You can use the following command to list all accounts of users who live in London:

Get-AzureADUser | Where {$_.City -eq "London"}

ヒント

これらの例の Where コマンドレット の構文は 、Where {$ です _ 。The syntax for the Where cmdlet in these examples is Where {$_. [ユーザー アカウントのプロパティ名][比較演算子][value] }.> [比較演算子] は、等号の場合は -eq、 等しくない場合は -ne、 より小さい場合は -lt、 より大きい場合は -gt、 その他は -gt です。[user account property name] [comparison operator] [value] }.> [comparison operator] is -eq for equals, -ne for not equals, -lt for less than, -gt for greater than, and others. [value] は通常、文字列 (一連の文字、数字、その他の文字)、数値、または指定されていない$Null指定します。[value] is typically a string (a sequence of letters, numbers, and other characters), a numerical value, or $Null for unspecified. 詳細については 、「Where」 を参照してくださいFor more information, see Where.

Windows PowerShell 用 Microsoft Azure Active Directory モジュールを使用するUse the Microsoft Azure Active Directory Module for Windows PowerShell

最初に、テナントにMicrosoft 365しますFirst, connect to your Microsoft 365 tenant.

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

ユーザー アカウントの完全な一覧を表示するには、次のコマンドを実行します。To display the full list of user accounts, run this command:

Get-MsolUser

注意

PowerShell Core は、Windows PowerShell 用 Microsoft Azure Active Directory モジュールと、名前に Msol が含まれるコマンドレットをサポートしていません。PowerShell Core doesn't support the Microsoft Azure Active Directory Module for Windows PowerShell module and cmdlets with Msol in their name. これらのコマンドレットは、Windows PowerShell から実行します。Run these cmdlets from Windows PowerShell.

次のような情報を取得する必要があります。You should get information similar to this:

UserPrincipalName                     DisplayName           isLicensed
-----------------                     -----------           ----------
BonnieK@litwareinc.onmicrosoft.com    Bonnie Kearney        True
FabriceC@litwareinc.onmicrosoft.com   Fabrice Canel         True
BrianJ@litwareinc.onmicrosoft.com     Brian Johnson         False 
AnneWlitwareinc.onmicrosoft.com       Anne Wallace          True
ScottW@litwareinc.onmicrosoft.com     Scott Wallace         False

Get-MsolUser コマンドレットには、表示するユーザー アカウントのセットをフィルターにかけるための一連のパラメーターもあります。The Get-MsolUser cmdlet also has a set of parameters to filter the set of user accounts displayed. たとえば、ライセンスのないユーザーの一覧 (Microsoft 365 に追加されたが、まだサービスを使用するライセンスが与えされていないユーザー) の場合は、次のコマンドを実行します。For example, for the list of unlicensed users (users who have been added to Microsoft 365 but haven't yet been licensed to use any of the services), run this command:

Get-MsolUser -UnlicensedUsersOnly

次のような情報を取得する必要があります。You should get information similar to this:

UserPrincipalName                     DisplayName           isLicensed
-----------------                     -----------           ----------
BrianJ@litwareinc.onmicrosoft.com     Brian Johnson         False
ScottW@litwareinc.onmicrosoft.com     Scott Wallace         False

表示されるユーザー アカウントのセットをフィルター処理する追加のパラメーターの詳細については 、「Get-MsolUser」を参照してくださいFor information about additional parameters to filter the set of user accounts that are displayed, see Get-MsolUser.

特定のアカウントを表示するView a specific account

特定のユーザー アカウントを表示するには、次のコマンドを実行します。To display a specific user account, run the following command. ユーザー アカウントのサインイン名 (ユーザー プリンシパル名 (UPN) とも呼ばれる) を入力します。Fill in the sign-in name of the user account, which is also known as the user principal name (UPN). "<" 文字と ">" 文字を削除します。Remove the "<" and ">" characters.

Get-MsolUser -UserPrincipalName <sign-in name of the user account>

共通プロパティに基づいてアカウントを表示するView accounts based on a common property

表示するアカウントの一覧を選択するには 、Get-MsolUser コマンドレットと組み合わせて Where コマンドレットを使用できます。To be more selective about the list of accounts to display, you can use the Where cmdlet in combination with the Get-MsolUser cmdlet. 2 つのコマンドレットを組み合わせるには、"pipe" 文字 ("|") を使用して、PowerShell に 1 つのコマンドの結果を取得し、次のコマンドに送信します。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's an example that displays only those user accounts that have an unspecified usage location:

Get-MsolUser | Where {$_.UsageLocation -eq $Null}

このコマンドは、PowerShell に次の指示を行います。This command instructs PowerShell to:

  1. ユーザー アカウント (Get-MsolUser) のすべての情報を取得し、次のコマンド ( ) に送信します |Get all the information on the user accounts (Get-MsolUser) and send it to the next command (|).

  2. 使用場所が指定されていないすべてのユーザー アカウントを検索します (Where {$ _ .UsageLocation -eq $Null})。Find all user accounts that have an unspecified usage location (Where {$_.UsageLocation -eq $Null}). 中かっこ内で、このコマンドは、UsageLocation ユーザー アカウント プロパティ ($ _ .UsageLocation) は指定されていません (-eq $Null)。Inside the braces, the command instructs PowerShell to find only the set of accounts for which the UsageLocation user account property ($_.UsageLocation) is not specified (-eq $Null).

次のような情報を取得する必要があります。You should get information similar to this:

UserPrincipalName                     DisplayName           isLicensed
-----------------                     -----------           ----------
BrianJ@litwareinc.onmicrosoft.com     Brian Johnson         False 
ScottW@litwareinc.onmicrosoft.com     Scott Wallace         False

UsageLocation プロパティ は、ユーザー アカウントに関連付けられている多数のプロパティの 1 つのみです。The UsageLocation property is only one of many properties associated with a user account. ユーザー アカウントのすべてのプロパティを表示するには 、Select コマンドレットとワイルドカード文字 (*) を使用して、それらをすべて特定のユーザー アカウントに表示します。To see all of the properties for user accounts, use the Select cmdlet and the wildcard character (*) to display them all for a specific user account. 次に例を示します:Here's an example:

Get-MsolUser -UserPrincipalName BelindaN@litwareinc.onmicosoft.com | Select *

たとえば 、City は ユーザー アカウント プロパティの名前です。For example, City is the name of a user account property. 次のコマンドを使用して、ロンドンに住むユーザーのすべてのユーザー アカウントを一覧表示できます。You can use the following command to list all of the user accounts for users who live in London:

Get-MsolUser | Where {$_.City -eq "London"}

ヒント

これらの例の Where コマンドレット の構文は 、Where {$ です _ 。The syntax for the Where cmdlet in these examples is Where {$_. [ユーザー アカウントのプロパティ名][比較演算子][value] }.[user account property name] [comparison operator] [value] }. [比較演算子] は、等しい場合は -eq、 等しくない場合は -ne、 より小さい場合は -lt、 より大きい場合は -gt、 その他は -gt です。[comparison operator] is -eq for equals, -ne for not equals, -lt for less than, -gt for greater than, and others. [value] は通常、文字列 (一連の文字、数字、その他の文字)、数値、または指定されていない$Null指定します。[value] is typically a string (a sequence of letters, numbers, and other characters), a numerical value, or $Null for unspecified. 詳細については 、「Where」 を参照してくださいFor more information, see Where.

ユーザー アカウントのブロックされた状態を確認するには、次のコマンドを使用します。To check the blocked status of a user account, use the following command:

Get-MsolUser -UserPrincipalName <UPN of user account> | Select DisplayName,BlockCredential

アカウントの追加のプロパティ値を表示するView additional property values for accounts

既定では 、Get-MsolUser コマンドレットは 、ユーザー アカウントの次の 3 つのプロパティを表示します。By default, the Get-MsolUser cmdlet displays these three properties of user accounts:

  • UserPrincipalNameUserPrincipalName

  • DisplayNameDisplayName

  • isLicensedisLicensed

ユーザーが働く部署、Microsoft 365 サービスを使用する国/地域などの追加のプロパティが必要な場合は 、Get-MsolUser を Select コマンドレットと組み合わせて実行して、ユーザー アカウントのプロパティの一覧を指定できます。If you need additional properties, such as the department where the user works and the country/region where they use Microsoft 365 services, you can run Get-MsolUser in combination with the Select cmdlet to specify the list of user account properties. 次に例を示します:Here's an example:

Get-MsolUser | Select DisplayName, Department, UsageLocation

このコマンドは、PowerShell に次の指示を行います。This command instructs PowerShell to:

  1. ユーザー アカウント (Get-MsolUser) に関する情報を取得し、次のコマンド ( ) に送信します |Get all the information about the user accounts (Get-MsolUser) and send it to the next command (|).

  2. ユーザー アカウント名、部署、使用状況の場所のみを表示します ([DisplayName、 Department, UsageLocation] の選択)。Display only the user account name, department, and usage location (Select DisplayName, Department, UsageLocation).

次のような情報を取得する必要があります。You should get information similar to this:

DisplayName             Department                       UsageLocation
-----------             ----------                       -------------
Bonnie Kearney          Sales & Marketing                    US
Fabrice Canel           Legal                                US
Brian Johnson
Anne Wallace            Executive Management                 US
Alex Darrow             Sales & Marketing                    US
Scott Wallace           Operations

Select コマンドレットでは 、表示するプロパティを選択できます。The Select cmdlet lets you choose what properties to display. 特定のユーザー アカウントのすべてのプロパティを表示するには、ワイルドカード文字 (*)を使用します。To display all the properties for a specific user account, use the wildcard character (*). 次に例を示します:Here's an example:

Get-MsolUser -UserPrincipalName BelindaN@litwareinc.onmicosoft.com | Select *

表示するアカウントの一覧の詳細を選択するには 、Where コマンドレットを使用することもできます。To be more selective about the list of accounts to display, you can also use the Where cmdlet. 使用場所が指定されていないユーザー アカウントのみを表示するコマンドの例を次に示します。Here's an example command that displays only those user accounts that have an unspecified usage location:

Get-MsolUser | Where {$_.UsageLocation -eq $Null} | Select DisplayName, Department, UsageLocation

このコマンドは、PowerShell に次の指示を行います。This command instructs PowerShell to:

  1. ユーザー アカウント (Get-MsolUser) に関する情報を取得し、次のコマンド ( ) に送信します |Get all the information about the user accounts (Get-MsolUser) and send it to the next command (|).

  2. 使用場所が指定されていないすべてのユーザー アカウントを検索します (Where {$ _ .UsageLocation -eq $Null} ) をクリックし、結果の情報を次のコマンド ( ) に送信します |Find all user accounts that have an unspecified usage location (Where {$_.UsageLocation -eq $Null}), and send the resulting information to the next command (|). 中かっこ内で、このコマンドは、UsageLocation ユーザー アカウント プロパティ ($ _ .UsageLocation) は指定されていません (-eq $Null)。Inside the braces, the command instructs PowerShell to only find the set of accounts for which the UsageLocation user account property ($_.UsageLocation) is not specified (-eq $Null).

  3. ユーザー アカウント名、部署、使用状況の場所のみを表示します ([DisplayName、 Department, UsageLocation] の選択)。Display only the user account name, department, and usage location (Select DisplayName, Department, UsageLocation).

次のような情報を取得する必要があります。You should get information similar to this:

DisplayName              Department                      UsageLocation
-----------              ----------                      -------------
Brian Johnson 
Scott Wallace            Operations

ディレクトリ同期を使用して、Microsoft 365 ユーザーを作成および管理する場合は、Microsoft 365 ユーザーが投影されたローカル アカウントを表示できます。If you're using directory synchronization to create and manage your Microsoft 365 users, you can display the local account from which a Microsoft 365 user has been projected. 次の例では、以下を前提とします。The following example assumes that:

Get-ADUser ([guid][System.Convert]::FromBase64String((Get-MsolUser -UserPrincipalName <UPN of user account>).ImmutableID)).guid

関連項目See also

Microsoft 365 ユーザー アカウント、ライセンス、PowerShell を使用したグループを管理するManage Microsoft 365 user accounts, licenses, and groups with PowerShell

PowerShell で Microsoft 365を管理するManage Microsoft 365 with PowerShell

Microsoft 365 用 PowerShell の使用を開始するGet started with PowerShell for Microsoft 365