Microsoft Entra PowerShell には、デバイス ID を管理し、関連するイベントを監視するための強力なコマンドレットが用意されています。 効果的なデバイス管理は、セキュリティの維持、コンプライアンスの確保、組織内の円滑な運用のサポートに不可欠です。
Microsoft Entra PowerShell を使用すると、必要に応じてデバイスを追加、更新、削除したり、デバイス情報の取得、詳細なデバイス データの表示、デバイス設定の管理を行うことができます。 この記事では、Microsoft Entra PowerShell を使用してデバイスを管理するための包括的なガイドを提供します。
この記事では、Microsoft Entra PowerShell を使用してデバイス ID と設定を効果的に管理する方法について説明します。 デバイスの表示、フィルター処理、有効化、無効化、削除、デバイス データのエクスポートなどのタスクについて説明します。
前提条件
Microsoft Entra PowerShell を使用してデバイスを管理するには、次のものが必要です。
- Microsoft Entra ユーザー アカウント。 アカウントがない場合は、無料でアカウントを作成することができます。
- 次のいずれかのロール:
- クラウド デバイス管理者 (読み取りおよび変更)
- Intune Administrator (読み取り専用)
- Windows 365 管理者 (読み取り専用)
- Microsoft Entra PowerShell モジュールがインストールされています。 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
デバイスを検索する
を使用して特定のデバイスをリトリブする
DeviceIdConnect-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準拠していないデバイスを一覧表示する
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脱獄されたデバイスを一覧表示する
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管理対象デバイスを一覧表示する
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有効なデバイスを一覧表示する
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特定のオペレーティング システムとバージョンを持つデバイスを一覧表示する
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出力には、
operatingSystemとoperatingSystemVersion検索に基づいてユーザーの詳細が表示されます。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]