管理设备

Microsoft Entra PowerShell 提供强大的 cmdlet 来管理设备标识和监视相关事件。 有效的设备管理对于维护安全性、确保合规性和支持组织内顺利运营至关重要。

使用 Microsoft Entra PowerShell,可以根据需要添加、更新和删除设备,以及检索设备信息、查看详细的设备数据以及管理设备设置。 本文提供了使用 Microsoft Entra PowerShell 管理设备的综合指南。

本文介绍如何使用 Microsoft Entra PowerShell 有效地管理设备标识和设置。 它介绍查看、筛选、启用、禁用和删除设备以及导出设备数据等任务。

先决条件

若要使用 Microsoft Entra PowerShell 管理设备,需要:

查看并筛选您的设备

使用 Microsoft Entra PowerShell 按以下属性筛选设备列表:

设备 ID、显示名称、已启用状态、符合性状态、联接类型、活动时间戳、OS 类型、OS 版本、设备类型、MDM、Autopilot、扩展属性、管理单元、所有者、制造商、型号和序列号。

查看所有设备

若要查看所有设备,请使用以下 cmdlet:

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 cmdlet 并按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 cmdlet 并将属性设置为 -AccountEnabledtrue (启用)或 false (禁用)。

Important

  • 必须是 Intune 管理员或云设备管理员才能启用或禁用设备。
  • 禁用设备可防止它通过Microsoft Entra ID进行身份验证、访问受基于设备的条件访问保护的资源,以及使用Windows Hello 企业版凭据。
  • 禁用某一设备将撤销该设备上的主刷新令牌 (PRT) 和任何其他刷新令牌。
  • 无法在 Microsoft Entra ID 中启用或禁用打印机。

若要启用设备,请运行以下 cmdlet:

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

删除 Microsoft Entra 设备

若要维护干净且安全的环境,请删除不再使用的设备。 如果设备由另一个系统(例如Microsoft Intune)管理,请确保在删除之前擦除或停用它。 删除设备之前,请参阅如何管理陈旧设备

Important

  • 必须是云设备管理员、Intune 管理员或Windows 365管理员才能删除设备。
  • 在从通用打印中删除打印机之前,无法将其删除。
  • 在从 Intune 中删除 Windows Autopilot 设备之前,无法将其删除。
  • 删除设备:
    • 阻止它访问 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 小时,则导出将失败,并且不会输出任何文件。

导出的列表包含以下设备标识属性:

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

可为导出任务应用以下筛选器:

  • 已启用状态
  • 合规状态
  • 联接类型
  • 活动时间戳
  • 操作系统类型
  • 设备类型

导出所有设备

若要检索所有设备并将数据保存到 CSV 文件,请使用以下 cmdlet:

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

确保根据您的环境,将 $env:UserProfile 替换为您想要保存该文件的路径。 此示例将 CSV 文件直接保存到 Downloads 文件夹。

[管理陈旧设备][stale-devices]