デバイスの管理

Microsoft Entra PowerShell には、デバイス ID を管理し、関連するイベントを監視するための強力なコマンドレットが用意されています。 効果的なデバイス管理は、セキュリティの維持、コンプライアンスの確保、組織内の円滑な運用のサポートに不可欠です。

Microsoft Entra PowerShell を使用すると、必要に応じてデバイスを追加、更新、削除したり、デバイス情報の取得、詳細なデバイス データの表示、デバイス設定の管理を行うことができます。 この記事では、Microsoft Entra PowerShell を使用してデバイスを管理するための包括的なガイドを提供します。

この記事では、Microsoft Entra PowerShell を使用してデバイス ID と設定を効果的に管理する方法について説明します。 デバイスの表示、フィルター処理、有効化、無効化、削除、デバイス データのエクスポートなどのタスクについて説明します。

前提条件

Microsoft Entra PowerShell を使用してデバイスを管理するには、次のものが必要です。

デバイスの表示とフィルター処理

Microsoft Entra PowerShell を使用して、次の属性でデバイスの一覧をフィルター処理します。

デバイス ID、表示名、有効な状態、コンプライアンス状態、参加の種類、アクティビティ タイムスタンプ、OS の種類、OS バージョン、デバイスの種類、MDM、Autopilot、拡張機能の属性、管理単位、所有者、製造元、モデル、シリアル番号。

すべてのデバイスを表示する

すべてのデバイスを表示するには、次のコマンドレットを使用します。

Connect-Entra -Scopes 'Device.Read.All'  
Get-EntraDevice -All | Select-Object AccountEnabled, DeviceId, OperatingSystem, ApproximateLastSignInDateTime, DisplayName | ft
AccountEnabled DeviceId                             OperatingSystem ApproximateLastSignInDateTime DisplayName
-------------- --------                             --------------- ----------------------------- -----------
          True aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb Windows         10/16/2024 4:53:46 PM         devicesTest2
          True bbbbbbbb-1111-2222-3333-cccccccccccc Windows         10/15/2024 4:11:33 PM         LAPTOP-2222
          True cccccccc-4444-5555-6666-dddddddddddd Windows         9/13/2024 5:46:08 PM          AdminTest
          True dddddddd-5555-6666-7777-eeeeeeeeeeee Windows         10/15/2024 8:28:18 PM         DESKTOP-1111

ID でデバイスを取得する

特定のデバイスを ID で取得するには、次の値を使用します。

Connect-Entra -Scopes 'Device.Read.All'  
Get-EntraDevice -ObjectId 'bbbbbbbb-1111-2222-3333-cccccccccccc'  

DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- --------------
                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb False          10/2/2024 10:26:38 AM                                                     eeeeeeee-5555-6666-7777-ffffffffffff

表示名でデバイスを取得する

表示名でデバイスを検索するには、次の値を使用します。

Connect-Entra -Scopes 'Device.Read.All'  
Get-EntraDevice -Filter "startsWith(DisplayName,'Woodgrove')"  
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnershi
                                                                                                                                                                                                  p
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- --------------
                aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb True           10/1/2024 4:11:35 PM                                                      gggggggg-6666-7777-8888-hhhhhhhhhhhh
                bbbbbbbb-1111-2222-3333-cccccccccccc False          10/2/2024 10:26:38 AM                                                     hhhhhhhh-7777-8888-9999-iiiiiiiiiiii

この例では、表示名が "Woodgrove" で始まるすべてのデバイスを取得する方法を示します。

結合の種類別にグループ化されたデバイスの数を取得する

Microsoft Entra PowerShell を使用してディレクトリに参加しているすべての種類のデバイスを確認するには、Get-EntraDevice コマンドレットを使用し、結果を TrustType プロパティでグループ化します。

Connect-Entra -Scopes 'Device.Read.All'  
Get-EntraDevice -All | Group-Object -Property TrustType | Select-Object Name, Count  
  • Get-EntraDevice -All: ディレクトリ内のすべてのデバイスを取得します。
  • Group-Object -Property TrustType: TrustType プロパティによってデバイスをグループ化します。これは、参加の種類を示します (たとえば、Microsoft Entra参加済み、ハイブリッド Microsoft Entra参加済み)。
  • Select-Object Name, Count: 各グループの名前 (結合の種類) と各グループ内のデバイスの数を選択します。
  • Join type は、Microsoft Entra 参加済み、ハイブリッド Microsoft Entra 参加済み、その他の種類など、デバイスがどのような接続状態にあるかを指します。

この例では、デバイスの種類ごとにデバイスの数を取得する方法を示します。

Name      Count
----      -----
             14
EntraID      66
ServerAd     18
Workplace   393

重複するデバイスを一覧表示する

Connect-Entra -Scopes 'Device.Read.All'  
Get-EntraDevice -All -Select DisplayName, OperatingSystem |
Group-Object DisplayName |
Where-Object { $_.Count -gt 1 } |
Select-Object Name, @{Name = "OperatingSystem"; Expression = { ($_.Group | Select-Object -First 1).OperatingSystem } }, Count | Sort-Object Count -Descending |
Format-Table Name, OperatingSystem, Count -AutoSize 

出力には、表示名、オペレーティング システム、およびカウント別に重複するデバイスが一覧表示されます。

Name                       OperatingSystem Count
----                       --------------- -----
iPhone                     iOS               175
samsungSM-S928B            Android            15
woodgrove-win11-client     Windows             2

デバイスを検索する

  1. を使用して特定のデバイスをリトリブする DeviceId

    Connect-Entra -Scopes 'Device.Read.All'  
    Get-EntraDevice -Filter "DeviceId eq 'dddddddd-5555-6666-7777-eeeeeeeeeeee'" | Select-Object Id, AccountEnabled,DeviceId, DisplayName
    

    出力には、 DeviceId 検索に基づいてデバイスの詳細が表示されます。

    Id                                   AccountEnabled DeviceId                             DisplayName
    --                                   -------------- --------                             -----------
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb           True dddddddd-5555-6666-7777-eeeeeeeeeeee ADFS Device
    
  2. 準拠していないデバイスを一覧表示する

    Connect-Entra -Scopes 'Device.Read.All'
    Get-EntraDevice -Filter "isCompliant eq false" | Select-Object Id, isCompliant,DeviceId, DisplayName
    

    出力には、準拠していないデバイスが一覧表示されます。

    Id                                   IsCompliant DeviceId                             DisplayName
    --                                   ----------- --------                             -----------
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb       False gggggggg-6666-7777-8888-hhhhhhhhhhhh ADFS Device
    bbbbbbbb-1111-2222-3333-cccccccccccc       False hhhhhhhh-7777-8888-9999-iiiiiiiiiiii Woodgrove Device
    
  3. 脱獄されたデバイスを一覧表示する

    Connect-Entra -Scopes 'Device.Read.All'
    Get-EntraDevice -All | Where-Object { $_.isRooted -eq $true } | Select-Object Id, IsRooted,DeviceId, DisplayName
    

    出力には、脱獄済みのデバイスが表示されます。

    Id                                   IsRooted DeviceId                             DisplayName   
    --                                   -------- --------                             -----------   
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb     True gggggggg-6666-7777-8888-hhhhhhhhhhhh ADFS Device
    
  4. 管理対象デバイスを一覧表示する

    Connect-Entra -Scopes 'Device.Read.All'
    Get-EntraDevice -Filter "isManaged eq true" | Select-Object Id, isManaged,DeviceId, DisplayName
    

    出力には、マネージド デバイスが一覧表示されます。

    Id                                   IsManaged DeviceId                             DisplayName
    --                                   --------- --------                             -----------
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb      True gggggggg-6666-7777-8888-hhhhhhhhhhhh ADFS Device
    bbbbbbbb-1111-2222-3333-cccccccccccc      True hhhhhhhh-7777-8888-9999-iiiiiiiiiiii Woodgrove Device
    
  5. 有効なデバイスを一覧表示する

    Connect-Entra -Scopes 'Device.Read.All'
    Get-EntraDevice -Filter "accountEnabled eq true" -All | Select-Object Id, AccountEnabled,DeviceId, DisplayName
    

    出力には、有効なデバイスが一覧表示されます。

    Id                                   AccountEnabled DeviceId                             DisplayName
    --                                   -------------- --------                             -----------
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb           True gggggggg-6666-7777-8888-hhhhhhhhhhhh ADFS Device
    bbbbbbbb-1111-2222-3333-cccccccccccc           True hhhhhhhh-7777-8888-9999-iiiiiiiiiiii Woodgrove Device
    
  6. 特定のオペレーティング システムとバージョンを持つデバイスを一覧表示する

    Connect-Entra -Scopes 'Device.Read.All'
    Get-EntraDevice -Filter "operatingSystem eq 'Windows Server' and operatingSystemVersion eq '10.0.20348.3091'" | 
        Select-Object Id, AccountEnabled,DeviceId, DisplayName, operatingSystem, operatingSystemVersion | Format-Table -AutoSize
    

    出力には、 operatingSystemoperatingSystemVersion 検索に基づいてユーザーの詳細が表示されます。

    Id                                   AccountEnabled DeviceId                             DisplayName       OperatingSystem  OperatingSystemVersion
    --                                   -------------- --------                             -----------       ---------------  ----------------------
    aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb           True gggggggg-6666-7777-8888-hhhhhhhhhhhh ADFS Device       Windows Server   10.0.20348.3091
    bbbbbbbb-1111-2222-3333-cccccccccccc           True hhhhhhhh-7777-8888-9999-iiiiiiiiiiii Woodgrove Device  Windows Server   10.0.20348.3091
    

Microsoft Entra デバイスを有効または無効にする

デバイスを有効または無効にするには、 Set-EntraDevice コマンドレットを使用し、 -AccountEnabled プロパティを true (有効) または false (無効) に設定します。

Important

  • デバイスを有効または無効にするには、Intune 管理者またはクラウド デバイス管理者である必要があります。
  • デバイスを無効にすると、Microsoft Entra ID経由での認証、デバイス ベースの条件付きアクセスによって保護されたリソースへのアクセス、およびWindows Hello for Business資格情報の使用ができなくなります。
  • デバイスを無効にすると、デバイス上のプライマリ更新トークン (PRT) とすべての更新トークンが取り消されます。
  • Microsoft Entra ID ではプリンターを有効または無効にできません。

デバイスを有効にするには、次のコマンドレットを実行します。

Connect-Entra -Scopes 'Device.ReadWrite.All'  
Set-EntraDevice -ObjectId 'aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb' -AccountEnabled $true  

Microsoft Entra デバイスを削除する

クリーンで安全な環境を維持するには、使用されなくなったデバイスを削除します。 デバイスが Microsoft Intune などの別のシステムで管理されている場合は、削除する前にワイプするか、登録を解除してください。 デバイスを削除する前に、古くなったデバイスを管理する方法に関するページを参照してください。

Important

  • デバイスを削除するには、クラウド デバイス管理者、Intune 管理者、またはWindows 365管理者である必要があります。
  • プリンターは、ユニバーサル プリントから削除される前に削除できません。
  • Windows Autopilot デバイスは、Intune から削除する前に削除できません。
  • デバイスを削除する場合、以下の点に注意してください。
    • Microsoft Entra リソースにアクセスできなくなります。
    • デバイスに接続されているすべての詳細 (Windows デバイスの BitLocker キーなど) を削除します。
    • これは、回復不可能なアクティビティです。 必要でない限り、それはお勧めしません。
Connect-Entra -Scopes 'Device.ReadWrite.All'  
$Device = Get-EntraDevice -Filter "DisplayName eq 'Woodgrove Desktop'"  
Remove-EntraDevice -ObjectId $Device.ObjectId  

デバイスのエクスポート

クラウド デバイス管理者と Intune 管理者は、デバイスを一覧表示する CSV ファイルをエクスポートできます。 フィルターを適用して、デバイスの一覧を絞り込むことができます。 フィルターが適用されていない場合は、すべてのデバイスが含まれます。 選択内容によっては、エクスポート タスクが完了するまでに最大 1 時間かかる場合があります。 エクスポート タスクが 1 時間を超えると失敗し、ファイルは出力されません。

エクスポートされた一覧には、次のデバイス ID 属性が含まれています。

displayName,accountEnabled,operatingSystem,operatingSystemVersion,joinType (trustType),registeredOwners,userNames,mdmDisplayName,isCompliant,registrationTime,approximateLastSignInDateTime,deviceId,isManaged,objectId,profileType,systemLabels,model

エクスポート タスクに次のフィルターを適用できます。

  • 有効な状態
  • 準拠状態
  • 結合の種類
  • アクティビティ タイムスタンプ
  • OS の種類
  • デバイスの種類

すべてのデバイスをエクスポートする

すべてのデバイスを取得し、データを CSV ファイルに保存するには、次のコマンドレットを使用します。

Get-EntraDevice -All `
| Select-Object -Property AccountEnabled, DeviceId, OperatingSystem, OperatingSystemVersion, DisplayName, TrustType, ApproximateLastSignInDateTime `
| Export-Csv "$env:UserProfile\Downloads\deviceList.csv" -NoTypeInformation 

$env:UserProfileは、環境に基づいてファイルを保存するパスに置き換えてください。 次の使用例は、CSV ファイルをダウンロード フォルダーに直接保存します。

[古くなったデバイスの管理][stale-devices]