Office 365 のモバイル デバイス管理 (MDM) によって管理されているデバイスの詳細情報を取得する

この記事では、Office 365 向けモバイル デバイス管理 を設定する組織のデバイスに関する詳細情報を取得するために、Windows PowerShell 用 Azure Active Directory モジュールを使用する方法について説明しています。

この記事の内容

取得できるデバイスの詳細情報

始める前に

Get-MsolDevice コマンドレットを実行して組織内のすべてのデバイスの詳細情報を表示する

スクリプトを実行してデバイスの詳細情報を取得する

取得できるデバイスの詳細情報

内訳を次に示します。

詳細

PowerShell で検索する内容

デバイスが MDM for Office 365 に登録されているかどうか

isManaged パラメーターの値:

True = デバイスは登録されています。

False = デバイスは登録されていません。

デバイスはデバイス セキュリティ ポリシーに準拠しているかどうか

isCompliant パラメーターの値:

True = デバイスはポリシーに準拠しています。

False = デバイスはポリシーに準拠していません。

デバイスが登録されているかどうか、準拠しているかどうかについて AAD シェル パラメーター値を示すフロー

注: この記事のコマンドとスクリプトでは、Microsoft Intune で管理されるデバイスに関する詳細情報も返されます。

始める前に

この記事で説明されているコマンドとスクリプトを実行するために、少し設定を行う必要あります。

  1. このページに移動して、AdministrationConfig-{バージョン}-GA.msi という名前のファイルの [ダウンロード] をクリックします。

    Windows PowerShell 用の Azure Active Directory モジュールをダウンロードするためのファイル名を示すスクリーンショット
  2. メッセージが表示されたら、インストール ファイルを実行し、使用条件に同意して、インストールを完了します。

  1. Windows PowerShell 用 Microsoft Azure Active Directory モジュールで、次のコマンドを実行します。

    $UserCredential = Get-Credential
  2. [Windows PowerShell 資格情報の要求] ダイアログ ボックスに、Office 365 グローバル管理者のユーザー名とパスワードを入力し、[OK] をクリックします。

  3. 次のコマンドを実行します。

    Connect-MsolService -Credential $UserCredential

注: 既に PowerShell スクリプトを実行できるように設定している場合は、この手順をスキップできます。

Get-MsolUserDeviceComplianceStatus.ps1 スクリプトを実行するには、PowerShell スクリプトの実行を有効にする必要があります。

  1. Windows デスクトップから [スタート] をクリックし、「Windows PowerShell」と入力します。[Windows PowerShell] を右クリックし、[管理者として実行] をクリックします。

  2. 次のコマンドを実行します。

    Set-ExecutionPolicy RemoteSigned
  3. メッセージが表示されたら、「Y」を入力し、Enter キーを押します。

Get-MsolDevice コマンドレットを実行して組織内のすべてのデバイスの詳細を表示する

  1. Windows PowerShell 用 Microsoft Azure Active Directory モジュールを開きます。

  2. 次のコマンドを実行します。

    Get-MsolDevice -All -ReturnRegisteredOwners | Where-Object {$_.RegisteredOwners.Count -gt 0}

その他の例については、「Get-MsolDevice」を参照してください。

スクリプトを実行してデバイスの詳細情報を取得する

  1. 次のテキストをメモ帳にコピーして貼り付けます。

    param (
        [PSObject[]]$users = @(),
        [Switch]$export,
        [String]$exportFileName = "UserDeviceComplianceStatus_" + (Get-Date -Format "yyMMdd_HHMMss") + ".csv",
        [String]$exportPath = [Environment]::GetFolderPath("Desktop")
     )
    
    [System.Collections.IDictionary]$script:schema = @{
        
        DeviceId = ''
        DeviceOSType = ''
        DeviceOSVersion = ''
        DeviceTrustLevel = ''
        DisplayName = ''
        IsCompliant = ''
        IsManaged = ''
        ApproximateLastLogonTimestamp = ''
        DeviceObjectId = ''    
        RegisteredOwnerUpn = ''
        RegisteredOwnerObjectId = ''
        RegisteredOwnerDisplayName = ''
    }
    
    function createResultObject
    {
    
        [PSObject]$resultObject = New-Object -TypeName PSObject -Property $script:schema
    
        return $resultObject
    }
    
    If ($users.Count -eq 0)
    {
        $users = Get-MsolUser
    }
    
    [PSObject[]]$result = foreach ($u in $users)
    {
        
        [PSObject]$devices = get-msoldevice -RegisteredOwnerUpn $u.UserPrincipalName
        foreach ($d in $devices)
        {
            [PSObject]$deviceResult = createResultObject
            $deviceResult.DeviceId = $d.DeviceId 
            $deviceResult.DeviceOSType = $d.DeviceOSType 
            $deviceResult.DeviceOSVersion = $d.DeviceOSVersion 
            $deviceResult.DeviceTrustLevel = $d.DeviceTrustLevel
            $deviceResult.DisplayName = $d.DisplayName
            $deviceResult.IsCompliant = $d.GraphDeviceObject.IsCompliant
            $deviceResult.IsManaged = $d.GraphDeviceObject.IsManaged
            $deviceResult.DeviceObjectId = $d.ObjectId
            $deviceResult.RegisteredOwnerUpn = $u.UserPrincipalName
            $deviceResult.RegisteredOwnerObjectId = $u.ObjectId
            $deviceResult.RegisteredOwnerDisplayName = $u.DisplayName
            $deviceResult.ApproximateLastLogonTimestamp = $d.ApproximateLastLogonTimestamp
    
            $deviceResult
        }
    
    }
    
    If ($export)
    {
        $result | Export-Csv -path ($exportPath + "\" + $exportFileName) -NoTypeInformation
    }
    Else
    {
        $result
    }
    
  2. ファイル拡張子 .ps1 を使用して、Windows PowerShell スクリプト ファイルとして保存します (例: Get-MsolUserDeviceComplianceStatus.ps1)。

  1. Windows PowerShell 用 Microsoft Azure Active Directory モジュールを開きます。

  2. スクリプトを保存したフォルダーに移動します。たとえば、スクリプトを C:\PS-Scripts に保存した場合、次のコマンドを実行します。

    cd C:\PS-Scripts
  3. 次のコマンドを実行して、デバイスの詳細情報を取得するユーザーを特定します。この例では、bar@example.com の詳細情報を取得します。

    $u = Get-MsolUser -UserPrincipalName bar@example.com
  4. 次のコマンドを実行して、スクリプトを開始します。

    .\Get-MsolUserDeviceComplianceStatus.ps1 -User $u -Export

この情報は、Windows デスクトップに CSV ファイルとしてエクスポートされます。追加のパラメーターを使用して、ファイル名と CSV のパスを指定することができます。

  1. Windows PowerShell 用 Microsoft Azure Active Directory モジュールを開きます。

  2. スクリプトを保存したフォルダーに移動します。たとえば、スクリプトを C:\PS-Scripts に保存した場合、次のコマンドを実行します。

    cd C:\PS-Scripts
  3. 次のコマンドを実行して、デバイスの詳細情報を取得するグループを特定します。この例では、FinanceStaff グループのユーザーの詳細情報を取得します。

    $u = Get-MsolGroupMember -SearchString "FinanceStaff" | % { Get-MsolUser -ObjectId $_.ObjectId }
  4. 次のコマンドを実行して、スクリプトを開始します。

    .\Get-MsolUserDeviceComplianceStatus.ps1 -User $u -Export

この情報は、Windows デスクトップに CSV ファイルとしてエクスポートされます。追加のパラメーターを使用して、ファイル名と CSV のパスを指定することができます。

さらに詳しい情報

Office 365 のモバイル デバイス管理 (MDM) の概要

Get-MsolDevice

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×