Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理

上一篇文章我们跟Planner做了简单的集成,今天我们集成Intune,演示一下如何支持Intune提供的设备和应用管理功能。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第1张图片
那么首先引出今天的第一个话题。

Intune是啥?

Microsoft Intune是一种基于云的企业移动管理(EMM)服务,可帮助员工提高工作效率,同时保护企业数据。通过Intune,我们可以:

  • 管理员工用于访问公司数据的移动设备。
  • 管理员工使用的移动应用。
  • 通过帮助控制员工访问和共享公司信息的方式来保护公司信息。
  • 确保设备和应用符合公司安全要求。

更多信息可访问下面的链接查看:
https://docs.microsoft.com/zh-cn/intune/what-is-intune

说白了这个东西是应用于企业的,对于个人来说,如果没有机会在企业级别去应用,对它的功能有所了解,做简单的尝试就够了。另一个方面,对于企业来说,尤其是IT运维人员,这将是一个利器。

准备开始

注册免费的Intune试用

如果还没有Intune订阅,我们可以注册一个免费的30天试用。
https://docs.microsoft.com/zh-cn/intune/free-trial-sign-up
当然,假设你们已经有了Azure订阅,可以将试用添加到现有订阅,这样就不必再输入那些繁琐的信息了。注册完成之后请确保Intune订阅已经分配给该用户,默认好像是没有,需要到Office 365管理中心去分配一下。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第2张图片

阅读Intune文档

访问下面的地址查看Intune的文档,了解其大致提供的功能。
https://docs.microsoft.com/zh-cn/intune/index
关于Intune在Microsoft Graph中目前支持的内容,访问以下地址:
https://docs.microsoft.com/zh-cn/graph/api/resources/intune-graph-overview?view=graph-rest-1.0

注册一个设备

本篇的示例需要在Intune上至少注册一个设备,因此我们先来演示一下注册设备的操作。方便起见,我会将自己的Windows 10笔记本电脑注册成设备,Intune还支持常见的如Android、IOS等平台,更多信息可以访问下面的链接查看:
https://docs.microsoft.com/en-us/intune/device-enrollment

首先我们需要在终端进行设备注册。按下Win+I打开设置界面,选择帐户。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第3张图片
选择“从工作单位或学校访问”,然后滚动到下面的位置,选择“仅在设备管理中注册”。在尝试之后,发现这个操作能够将我们的设备注册到Intune的设备中,如果只是连接,会将我们的设备注册为Azure AD设备。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第4张图片
输入我们登录Intune的用户名和密码后,会显示下面的界面。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第5张图片
接下来访问地址
https://aka.ms/intuneportal
进入到Intune的管理界面,然后选择设备。就可以看到我们刚才注册的设备了。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第6张图片
接下来就是代码和配置方面的内容了。

添加所需的权限

如果要访问Intune,我们需要如下托管权限,向应用程序添加这些权限并进行管理员批准授权:

  • DeviceManagementApps.ReadWrite.All
  • DeviceManagementConfiguration.ReadWrite.All
  • DeviceManagementManagedDevices.Read.All

为用户列出设备列表

我们首先要做的就是列出一个用户注册的设备列表。我们可以通过向终结点
/users//managedDevices发起一个GET请求,幸运的是SDK已经有了相应的接口,可以直接这样调用。

graphClient.Users[userPrincipalName].ManagedDevices.Request().GetAsync();

这将会返回请求用户的Intune设备列表。

发布Web应用程序

Intune允许我们发布其他用户可以看见的网站链接,要想发布Web应用程序,我们只需要创建一个WebApp实体,向终结点/deviceAppManagement/mobileApps发起POST请求即可,SDK代码如下:

var webApp = new WebApp
{
  AppUrl = url,
  DisplayName = name,
  Publisher = publisher
};
graphClient.DeviceAppManagement.MobileApps.Request().AddAsync(webApp)

向用户指派一个应用

为了演示方便,使用户可以看到应用,我们向所有用户指派该应用。通过向终结点/deviceAppManagement/mobileApps//assign发起POST请求来完成该操作。注意在请求的body中我们必须提供至少一个mobileAppAssignment实体。使用如下SDK代码即可完成操作:

var assignment = new MobileAppAssignment
{
  Intent = InstallIntent.Available,
  Target = new AllLicensedUsersAssignmentTarget()
};
graphClient.DeviceAppManagement.MobileApps[app.Id].Assign(new[] { assignment }).Request().PostAsync();

创建设备配置

通过Intune,我们可以使用deviceConfiguration实体去推送配置到管理的设备,比如设置Windows 10中的Edge主页并启用开发者模式。创建设备配置通过发送POST请求到终结点/deviceManagement/deviceConfigurations去完成操作,需要传递一个deviceConifgurationEntity实例。SDK代码如下:

var deviceConfiguration = new Windows10GeneralConfiguration
{
  DisplayName = displayName,
  EdgeHomepageUrls = new[] { edgeHomePage },
  DeveloperUnlockSetting = StateManagementSetting.Allowed
};
return graphClient.DeviceManagement.DeviceConfigurations.Request().AddAsync(deviceConfiguration);

将设备配置指派给所有的设备

就像前面说到的应用那样,设备配置需要在应用之前进行指派。为了方便演示,我们将设备配置指派给Intune管理的所有设备。通过向终结点/deviceManagement/deviceConfigurations//assign发起POST请求来执行指派操作。注意在请求的body中我们必须提供至少一个deviceConfigurationAssignment实体。使用如下SDK代码即可完成操作:

var assignment = new DeviceConfigurationAssignment
{
  Target = new AllDevicesAssignmentTarget()
};
graphClient.DeviceManagement.DeviceConfigurations[deviceConfiguration.Id].Assign(new[] { assignment }).Request().PostAsync();

主要的SDK代码操作介绍完了,本篇中除了修改Program.cs文件之外,我们还在Helpers文件夹中增加了一个IntuneHelper.cs类。每篇新增一个相应主题的帮助类已经已经成了一个惯例了。篇幅有限,完整代码可以访问下面的地址查看:
https://github.com/foxdave/MSGraphCN

如果你在自己尝试时也得到类似下图的内容,说明程序运行得很成功。
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第7张图片
示例新增的应用可以通过客户端应用查看,如下图
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第8张图片
设备配置可以通过设备配置 - 配置文件查看,如下图
Microsoft Graph for Office 365 - 用例:支持Intune上的设备和应用管理_第9张图片

你可能感兴趣的:(Microsoft,365,Microsoft,Graph,Microsoft,Graph,30天训练营中文版)