当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 PowerShell 在 Azure AD 中配置设备扩展属性

作者:精品下载站 日期:2024-12-14 06:46:40 浏览:15 分类:玩电脑

使用 PowerShell 在 Azure AD 中配置设备扩展属性


Azure Active Directory 中设备的扩展属性可以使用自定义值进行配置,以帮助管理租户中的设备。它们可用于执行有用的任务,例如过滤设备、应用策略、脚本开发和自动化以及仅提供有用的信息。

在本教程中,我将向您展示如何使用 Microsoft Graph PowerShell 将自定义值分配给 Azure Active Directory 中设备上的扩展属性。

什么是扩展属性?

扩展属性构成 Azure Active Directory 架构的一部分。模式定义了属性值类型、每个属性的规则以及每个属性如何交互。您可以在称为扩展属性的属性中向目录架构中提供自定义值,这些属性通常也称为 Azure AD 扩展。

这些属性提供了一种将自定义值输入到租户中的对象(在我们的示例中为设备)中的便捷方法,以存储其他有意义的数据。

Azure Active Directory 中的许多不同类型的对象都支持 Azure AD 扩展,例如用户、组、服务主体以及本教程中的设备。

扩展属性可以用来做什么?

定义对象的扩展属性值后,您可以使用这些值来过滤设备。例如,如果您创建了 PowerShell 脚本,则可以根据扩展属性中配置的值查找设备,这将允许您根据该属性值对一组设备执行操作。

当设备注册到 Azure AD 或注册到 Intune 时,甚至可以通过脚本或其他进程自动定义这些值。

我最喜欢配置扩展属性的原因之一是,我可以在条件访问中使用设备过滤器,以在特定个人设备上实施更强大的身份验证方法或会话控制。

如何在 Azure AD 中查看完整的设备架构

如果要查看设备的完整 Azure AD 架构,可以使用 Microsoft PowerShell 中的 Invoke-MgGraphRequest cmdlet。

Import-Module Microsoft.Graph.Identity.DirectoryManagement
Select-MgProfile -Name "beta"
Connect-mgGraph -Scopes Directory.Read.All

$devicename = "DESKTOP-DKTMUR6"

$device = Get-MgDevice | Where-Object {$_.DisplayName -eq $devicename}

$uri = "https://graph.microsoft.com/v1.0/devices/" + $device.id

Invoke-MgGraphRequest -uri $uri | fl

在输出中,您将看到设备的所有可用属性。您还可以复制 $uri 变量并将其粘贴到 Microsoft Graph Explorer 中以获得类似的结果。

如何使用 PowerShell 配置扩展属性

现在让我们看看如何使用 Microsoft Graph PowerShell 和 Invoke-MgGraphRequest cmdlet 配置在租户中注册的设备的扩展属性值。

在下面的示例中,我存储加入 Azure AD 的所有设备,并循环访问每个设备,以将“extentionattribute1”更新为值“Corporate Device”。

笔记不要在扩展属性中提供敏感信息,因为租户中的其他用户和应用程序可以读取这些信息。
Import-Module Microsoft.Graph.Identity.DirectoryManagement
Select-MgProfile -Name "beta"
Connect-mgGraph -Scopes Device.Read.All, Directory.ReadWrite.All, Directory.AccessAsUser.All

$AzureADJoinedDevices = Get-MgDevice | Where-Object {$_.EnrollmentType -eq "AzureDomainJoined"}

ForEach ($device in $AzureADJoinedDevices) {

$uri = $null
$uri = "https://graph.microsoft.com/beta/devices/" + $device.id

$json = @{
      "extensionAttributes" = @{
      "extensionAttribute1" = "Corporate Device"
         }
  } | ConvertTo-Json
  
Invoke-MgGraphRequest -Uri $uri -Body $json -Method PATCH -ContentType "application/json"
}

您还可以在此处查看 GitHub 上的脚本。

如何从 Azure AD 门户查看扩展属性

从 Azure Active Directory 管理门户检查设备上配置了哪些扩展属性非常有用且方便。

1. 首先登录 Azure Active Directory 门户 https://aad.portal.azure.com。

2. 从菜单中,选择“管理”标题下的设备

[玩转系统] 使用 PowerShell 在 Azure AD 中配置设备扩展属性

3. 选择所有设备

[玩转系统] 使用 PowerShell 在 Azure AD 中配置设备扩展属性

4. 选择您要查看属性的目标设备。

[玩转系统] 使用 PowerShell 在 Azure AD 中配置设备扩展属性

5. 向下滚动到页面底部,您将看到突出显示的已配置扩展属性列表。

[玩转系统] 使用 PowerShell 在 Azure AD 中配置设备扩展属性

更新扩展属性可能有用的场景

上面,我写了属性的用途,但让我们看一下更新扩展属性可能有用的一些现实场景。

场景 1 - 员工离职

您可能有一名员工已提交通知。您希望确保他们在通知期内连接到 VPN(在完整隧道中)以连接到任何企业服务(例如 Office 365 和云应用程序)。您可能需要在用户的设备上配置扩展属性,以允许您通过条件访问来定位设备。然后,您可以强制用户在使用该设备时从受信任的位置连接到公司系统。

场景 2 - 监控和修复

Azure 的一项重要功能是 Azure 自动化。您可以将脚本与 Azure 自动化集成,该脚本根据设备警报或日志更新设备扩展属性。如果在设备上检测到有风险的活动,你可以在 Azure 自动化中创建自己的自定义脚本来提取该信息,然后使用应用程序权限连接到 Microsoft Graph 并更新设备目录对象上的属性。然后,您可以使用定义的扩展属性的值报告所述设备,这将允许您根据属性中存储的信息采取手动或自动操作。

场景 3 - 设备对象删除

当用户离开企业或设备从系统中脱离时,您可能希望在 Azure AD 中保留设备对象一段时间。可以设置属性来详细说明所需的删除或下次审查日期,而不是使用会自动影响设备的设备清理规则。然后可以报告这些值并手动或自动安排,然后可以在需要时采取行动。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯