如何:在 Microsoft Entra ID 中管理陈旧设备

理想情况下,要完成生命周期,已注册的设备应在不再需要时注销。 由于遗失、失窃、设备损坏或 OS 重装等情况,环境中通常会出现陈旧设备。 IT 管理员可能希望通过某种方法来删除陈旧的设备,以便将资源重点投放在真正需要管理的设备上。

本文介绍如何有效地在环境中管理陈旧的设备。

什么是陈旧的设备?

陈旧设备是向 Microsoft Entra ID 注册的,在特定时间范围内未访问任何云应用的设备。 陈旧的设备会影响对租户中的设备和用户进行管理和支持,因为:

  • 重复的设备可能使支持人员难以识别哪些设备当前处于活动状态。
  • 有更多的设备创建不必要的设备写回,增加了 Microsoft Entra Connect 同步时间。
  • 出于整洁与合规性目的,你可能希望设备保持整齐有序。

Microsoft Entra ID 中的陈旧设备可能会干扰组织中设备的常规生命周期策略。

检测陈旧的设备

由于陈旧设备定义为已注册的但在特定的时间范围内未曾用来访问过任何云应用的设备,因此,检测陈旧设备需要时间戳相关的属性。 在 Microsoft Entra ID 中,此属性称为“ApproximateLastSignInDateTime”或“活动时间戳”。 如果某个设备的当前时间与活动时间戳值之间的差超过了为活动设备定义的时间范围,则将该设备视为陈旧设备。 此活动时间戳目前以公共预览版提供。

如何管理活动时间戳的值?

设备尝试身份验证时,会触发活动时间戳的评估。 Microsoft Entra ID 在以下情况下评估活动时间戳:

  • 触发了要求受管理设备已批准的客户端应用的条件访问策略时。
  • 已加入 Microsoft Entra 或已混合加入 Microsoft Entra 的 Windows 10 或更新版设备在网络上活跃。
  • Intune 受管理设备已签入服务。

如果活动时间戳的现有值与当前值之间的差超过 14 天(+/-5 天方差),则将现有值替换为新值。

如何获取活动时间戳?

可通过两个选项检索活动时间戳的值:

  • 所有设备页上的“活动”列。

    屏幕截图列出了设备的名称、所有者和其他信息。一个列列出了活动时间戳。

  • Get-MgDevice cmdlet

    显示命令行输出的屏幕截图。一行突出显示,并列出了 ApproximateLastSignInDateTime 值的时间戳。

规划陈旧设备的清理

若要有效清理环境中的陈旧设备,应该定义一个相关的策略。 此策略可帮助确保捕获陈旧设备相关的所有注意事项。 以下部分提供了有关常见策略注意事项的示例。

注意

如果组织使用 BitLocker 驱动器加密,则应在删除设备之前确保 BitLocker 恢复密钥已备份或不再需要。 如果不这样做,可能会导致数据丢失。

如果使用 Autopilot通用打印等功能,则应在各自的管理门户中清理这些设备。

清理帐户

若要更新 Microsoft Entra ID 中的设备,需要具有以下角色之一的帐户:

在清理策略中,选择具有所需角色的帐户。

时间范围

定义作为陈旧设备指标的时间范围。 定义时间范围时,请在值中考虑到更新活动时间戳所需的期限。 例如,不应将短于 21 天(包括方差)的时间戳视为陈旧设备的指标。 在某些情况下,某个设备看似是陈旧设备,但实际上并不是。 例如,相关设备的所有者可能正在休假或请了病假,而假期时间超过了你的陈旧设备的时间范围。

禁用设备

不建议立即删除看似陈旧的设备,因为如果误删,将无法撤消操作。 最佳做法是,先禁用设备,过了一个宽限期之后再将其删除。 在策略中,定义在删除设备之前禁用设备的时间范围。

MDM 控制的设备

如果设备受 Intune 或其他任何移动设备管理 (MDM) 解决方案的控制,请先在管理系统中停用该设备,然后再将其禁用或删除。 有关详细信息,请参阅使用“擦除”或“停用”操作删除设备,或手动取消注册设备一文。

系统管理的设备

不要删除系统管理的设备。 这些设备通常是 Autopilot 之类的设备。 这些设备一旦删除便无法重新进行预配。

Microsoft Entra 混合联接设备

混合加入 Microsoft Entra 的设备应该遵循本地陈旧设备管理的策略。

若要清理 Microsoft Entra ID:

  • Windows 10 或更高版本设备 - 在本地 AD 中禁用或删除 Windows 10 或更高版本设备,并让 Microsoft Entra Connect 将更改的设备状态同步到 Microsoft Entra ID。
  • Windows 7/8 - 首先在本地 AD 中禁用或删除 Windows 7/8 设备。 无法使用 Microsoft Entra Connect 禁用或删除 Microsoft Entra ID 中的 Windows 7/8 设备。 相反,当你在本地进行更改时,必须在 Microsoft Entra ID 中禁用/删除。

注意

  • 删除本地 Active Directory 或 Microsoft Entra ID 中的设备时,不会移除客户端上的注册。 该操作只会阻止使用设备作为标识访问资源(例如条件访问)。 阅读有关如何删除客户端上的注册的其他信息。
  • 如果仅在 Microsoft Entra ID 中删除 Windows 10 或更高版本设备,则将使用 Microsoft Entra Connect(但作为处于“挂起”状态的新对象)从本地重新同步该设备。 需要在设备上重新注册。
  • 从 Windows 10 或更高版本/Server 2016 设备的同步作用域中移除设备时,将删除 Microsoft Entra 设备。 将其重新添加到同步作用域会将新对象置于“挂起”状态。 需要重新注册该设备。
  • 如果没有使用 Windows 10 或更高版本设备的 Microsoft Entra Connect 进行同步(例如,仅使用 AD FS 进行注册),则必须管理类似于 Windows 7/8 设备的生命周期。

Microsoft Entra 联接设备

禁用或删除 Microsoft Entra ID 中加入 Microsoft Entra 的设备。

注意

  • 删除 Microsoft Entra 设备时,不会移除客户端上的注册。 该操作只会阻止使用设备作为标识访问资源(例如条件访问)。
  • 详细了解如何取消加入 Microsoft Entra ID

Microsoft Entra 注册设备

在 Microsoft Entra ID 中禁用或删除 Microsoft Entra 注册设备。

注意

  • 删除 Microsoft Entra ID 中的 Microsoft Entra 注册设备时,不会移除客户端上的注册。 该操作只会阻止使用设备作为标识访问资源(例如条件访问)。
  • 详细了解如何删除客户端上的注册

清理陈旧设备

虽然可以在 Microsoft Entra 管理中心中清理陈旧设备,但使用 PowerShell 脚本可以更高效地处理此过程。 在最新的 PowerShell V2 模块中可以使用时间戳筛选器,并可以筛选出系统管理的设备,例如 Autopilot。

典型的例程包括以下步骤:

  1. 使用 Connect-MgGraph cmdlet 连接到 Microsoft Entra ID
  2. 获取设备列表
  3. 使用 Update-MgDevice cmdlet 禁用设备(通过使用 -AccountEnabled 选项禁用)。
  4. 在删除设备之前,将等待所选天数的宽限期。
  5. 使用 Remove-MgDevice cmdlet 删除设备。

获取设备列表

获取所有设备并将返回的数据存储在 CSV 文件中:

Get-MgDevice -All | select-object -Property AccountEnabled, DeviceId, OperatingSystem, OperatingSystemVersion, DisplayName, TrustType, ApproximateLastSignInDateTime | export-csv devicelist-summary.csv -NoTypeInformation

如果目录中包含大量的设备,请使用时间戳筛选器缩小返回的设备数。 获取 90 天内未登录的所有设备并将返回的数据存储在 CSV 文件中:

$dt = (Get-Date).AddDays(-90)
Get-MgDevice -All | Where {$_.ApproximateLastSignInDateTime -le $dt} | select-object -Property AccountEnabled, DeviceId, OperatingSystem, OperatingSystemVersion, DisplayName, TrustType, ApproximateLastSignInDateTime | export-csv devicelist-olderthan-90days-summary.csv -NoTypeInformation

将设备设置为“已禁用”

使用相同的命令,我们可以将输出通过管道传递给 set 命令,以禁用超过特定年限的设备。

$dt = (Get-Date).AddDays(-90)
$params = @{
	accountEnabled = $false
}

$Devices = Get-MgDevice -All | Where {$_.ApproximateLastSignInDateTime -le $dt}
foreach ($Device in $Devices) { 
   Update-MgDevice -DeviceId $Device.Id -BodyParameter $params 
}

删除设备

注意

Remove-MgDevice cmdlet 不提供警告。 运行此命令将删除设备,而不会发出提示。 无法恢复已删除的设备。

在管理员删除任何设备之前,请备份将来可能需要的任何 BitLocker 恢复密钥。 删除关联的设备后,无法恢复 BitLocker 恢复密钥。

禁用设备示例上生成时,我们会查找已禁用的设备、在 120 天内处于非活动状态的设备,并通过管道将输出传递到 Remove-MgDevice,以删除这些设备。

$dt = (Get-Date).AddDays(-120)
$Devices = Get-MgDevice -All | Where {($_.ApproximateLastSignInDateTime -le $dt) -and ($_.AccountEnabled -eq $false)}
foreach ($Device in $Devices) {
   Remove-MgDevice -DeviceId $Device.Id
}

要点

为何时间戳不经常更新?

更新时间戳是为了支持设备生命周期方案。 此属性不是审核。 使用登录审核日志可以在设备上进行更频繁的更新。 某些活动设备可能有空白时间戳。

为何需要注意保管 BitLocker 密钥?

为 Windows 10 或更高版本设备配置的 BitLocker 密钥存储在 Microsoft Entra ID 中的设备对象上。 如果删除某个陈旧设备,则也会删除该设备上存储的 BitLocker 密钥。 在删除陈旧设备之前,请确认清理策略是否与设备的实际生命周期一致。

为何需要注意 Windows Autopilot 设备?

删除与 Windows Autopilot 对象关联的 Microsoft Entra 设备后,如果在将来重新使用该设备,则可能会出现以下三种情况:

  • 使用 Windows Autopilot 用户驱动的部署而不使用预配置时,会创建一个新的 Microsoft Entra 设备,但它不会被标记为 ZTDID。
  • 使用 Windows Autopilot 自行部署模式部署时,如果找不到关联的 Microsoft Entra 设备,部署将会失败。 (这种失败是一种安全机制,用于确保没有“冒名顶替”的设备尝试在没有凭据的情况下加入 Microsoft Entra ID。)失败表示 ZTDID 不匹配。
  • 使用 Windows Autopilot 预配部署时,如果找不到关联的 Microsoft Entra 设备,部署将会失败。 (后台预配部署使用相同的自部署模式进程,因此它们强制实施相同的安全机制。)

使用 Get-MgDeviceManagementWindowsAutopilotDeviceIdentity 列出组织中的 Windows Autopilot 设备,并将其与要清理的设备列表进行比较。

如何知道所有已加入的设备类型?

若要详细了解不同的类型,请参阅设备管理概述

禁用某个设备时会发生什么情况?

使用设备向 Microsoft Entra ID 进行身份验证的任何身份验证将被拒绝。 常见示例包括:

  • 已混合加入 Microsoft Entra 的设备 - 用户也许可以使用该设备登录到其本地域。 但是,他们无法访问 Microsoft 365 等 Microsoft Entra 资源。
  • 已加入 Microsoft Entra 的设备 - 用户无法使用该设备登录。
  • 移动设备 - 用户无法访问 Microsoft 365 等 Microsoft Entra 资源。

有关使用 Intune 托管的设备的详细信息,请参阅通过“擦除”、“停用”或手动取消注册设备来移除设备一文。

若要大致了解如何管理设备,请参阅管理设备标识