Get-EntraDevice

从Microsoft Entra ID获取设备。

语法

GetQuery (默认值)

Get-EntraDevice

    [-Top <Int32>]
    [-All]
    [-Filter <String>]
    [-Property <String[]>]
    [-LogonTimeBefore <DateTime>]
    [-Stale]
    [-NonCompliant]
    [-IsManaged <Boolean>]
    [-JoinType <String>]
    [<CommonParameters>]

GetByValue

Get-EntraDevice

    [-SearchString <String>]
    [-All]
    [-Property <String[]>]
    [-LogonTimeBefore <DateTime>]
    [-Stale]
    [-NonCompliant]
    [-IsManaged <Boolean>]
    [-JoinType <String>]
    [<CommonParameters>]

GetById

Get-EntraDevice

    -DeviceId <String>
    [-All]
    [-Property <String[]>]
    [<CommonParameters>]

说明

Get-EntraDevice cmdlet 从Microsoft Entra ID获取设备。 指定 DeviceId 用于获取特定设备的参数。

在工作或学校帐户的委托方案中,登录用户必须具有受支持的Microsoft Entra角色或具有所需权限的自定义角色。 支持以下最低特权角色:

  • 云设备管理员
  • Intune 管理员
  • Windows 365 管理员
  • 合规性管理员
  • 设备管理器

示例

示例 1:按 ID 获取设备

Connect-Entra -Scopes 'Device.Read.All'
$device = Get-EntraDevice -SearchString '<device-display-name>'
Get-EntraDevice -ObjectId $device.ObjectId
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何使用设备 ID 检索设备。

示例 2:按 DeviceID 获取设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "DeviceId eq 'eeeeeeee-4444-5555-6666-ffffffffffff'"
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何使用 DeviceID 检索设备。

示例 3:获取所有设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData
                cccccccc-2222-3333-4444-dddddddddddd True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何从Microsoft Entra ID检索所有设备。

示例 4:获取前两台设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Top 2
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData
                cccccccc-2222-3333-4444-dddddddddddd True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何从Microsoft Entra ID检索前两台设备。 您可以将 -Limit 用作 -Top 的别名。

示例 5:按显示名称获取设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "DisplayName eq 'Woodgrove Desktop'"
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何使用显示名称检索设备。

示例 6:使用显示名称获取设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "startsWith(DisplayName,'Woodgrove')"
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索显示名称以单词 Woodgrove开头的所有设备。

示例 7:在检索到的设备之间进行搜索

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -SearchString 'DESKTOP'
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索包含“DESKTOP”一词的设备。

示例 8:列出重复设备

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

输出按显示名称、操作系统和计数列出重复设备。

示例 9:列出不符合的设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "isCompliant eq false"

示例 10:列出已越狱的设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -All | Where-Object { $_.isRooted -eq $true }

示例 11:列出托管设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "isManaged eq true"

示例 12:列出已启用的设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "accountEnabled eq true" -All

示例 13:列出具有特定操作系统和版本的设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Filter "operatingSystem eq 'Windows Server' and operatingSystemVersion eq '10.0.20348.3091'"

示例 14:获取过时的设备(2 个以上月处于非活动状态)

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Stale
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True           2024-08-15T10:30:00Z                                                      eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索尚未登录 2 个月或以上的设备。

示例 15:获取在特定日期之前登录的设备

Connect-Entra -Scopes 'Device.Read.All'
$date = Get-Date "2024-09-01"
Get-EntraDevice -LogonTimeBefore $date
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True           2024-08-15T10:30:00Z                                                      eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何在 2024 年 9 月 1 日之前检索上次登录的设备。

示例 16:使用 NonCompliant 参数获取不符合的设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -NonCompliant
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索不符合组织策略的设备。

示例 17:获取托管设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -IsManaged $true
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索由移动设备管理(MDM)解决方案管理的设备。

示例 18:获取已加入Microsoft Entra设备

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -JoinType "MicrosoftEntraJoined"
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True                                                                                     eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何检索Microsoft Entra联接的设备。

示例 19:获取已加入混合设备的Microsoft Entra

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -JoinType "MicrosoftEntraHybridJoined"

此示例演示如何检索Microsoft Entra混合联接的设备。

示例 20:合并多个筛选器参数

Connect-Entra -Scopes 'Device.Read.All'
Get-EntraDevice -Stale -NonCompliant -IsManaged $true
DeletedDateTime Id                                   AccountEnabled ApproximateLastSignInDateTime ComplianceExpirationDateTime DeviceCategory DeviceId                             DeviceMetadata DeviceOwnership
--------------- --                                   -------------- ----------------------------- ---------------------------- -------------- --------                             -------------- ---------------
                bbbbbbbb-1111-2222-3333-cccccccccccc True           2024-08-15T10:30:00Z                                                      eeeeeeee-4444-5555-6666-ffffffffffff MetaData

此示例演示如何合并多个筛选器参数,以查找过时、不符合和管理的设备。

参数

-All

列出所有页面。

参数属性

类型:System.Management.Automation.SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DeviceId

指定Microsoft Entra ID中的设备的 ID。

参数属性

类型:System.String
默认值:None
支持通配符:False
不显示:False
别名:对象标识符 (ObjectId)

参数集

GetById
Position:Named
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Filter

指定 OData v4.0 筛选器语句。 此参数控制返回的对象。

参数属性

类型:System.String
默认值:None
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-IsManaged

根据移动设备设备管理(MDM)解决方案是否管理设备进行筛选。 用于 $true 托管设备或 $false 非托管设备。

参数属性

类型:

System.Nullable`1[System.Boolean]

默认值:None
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
GetVague
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-JoinType

按联接类型筛选设备:MicrosoftEntraJoined、MicrosoftEntraHybridJoined 或 MicrosoftEntraRegistered。

参数属性

类型:System.String
默认值:None
接受的值:MicrosoftEntraJoined, MicrosoftEntraHybridJoined, MicrosoftEntraRegistered
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
GetVague
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-LogonTimeBefore

使用指定日期之前的最后一次登录筛选设备。

参数属性

类型:System.DateTime
默认值:None
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
GetVague
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-NonCompliant

筛选不符合组织策略的设备。

参数属性

类型:System.Management.Automation.SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
GetVague
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Property

指定要返回的属性

参数属性

类型:

System.String[]

默认值:None
支持通配符:False
不显示:False
别名:Select

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SearchString

指定搜索字符串。

参数属性

类型:System.String
默认值:None
支持通配符:False
不显示:False

参数集

GetValue
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Stale

筛选尚未登录 2 个月或更多设备的筛选器。

参数属性

类型:System.Management.Automation.SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

GetQuery
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False
GetVague
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-Top

指定要返回的最大记录数。

参数属性

类型:System.Int32
默认值:None
支持通配符:False
不显示:False
别名:Limit

参数集

GetQuery
Position:Named
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters