本篇从系统管理员的视角为大家介绍如何使用 Microsoft Graph API,特别是如何使用 Microsoft Graph PowerShell SDK。
介绍
作为一个非开发人员,看到像 “API”、“REST” 和 “SDK” 这样的术语可能会有点吓人。但事实上要享受 Microsoft Graph API 的好处,并不需要具备开发知识和使用 API 的经验。通过一些新技能,我们能够很快构建调用 Microsoft Graph 的脚本。
作为一名 ITPro 人员,开发应用程序并不是他的核心工作职能。然而编写脚本是一种可以使工作更高效和轻松的技能。他的日常工作很可能包括重复的任务,学会使用像 PowerShell 这样的脚本语言来自动化这些任务真的非常棒。本文假设读者已经花了时间学习 PowerShell,我们将展示如何利用现有的技能集构建有用的工具和过程,包括Microsoft Graph。
开始
Microsoft Graph 身份认证需要从 Microsoft Identity 平台获取访问令牌,带着这个令牌发起 HTTP 请求,这个之前已经讲过很多次,不再赘述了。
连接 Microsoft Graph 我们可以使用如下命令:
$appID = “From App Registration”
$tenantId = “From App Registration”
$authCertThumb = “From App Registration”
#Connect to Microsoft Graph using Microsoft Graph PowerShell SDK
Connect-MgGraph -ClientId $appID -TenantId $tenantID -CertificateThumbprint $authCertThumb
查询 Microsoft Graph 数据
跟其他形式调用 Microsoft Graph 类似,比如我们可以通过下面的命令获取用户
$Users = Get-MGUser
获得类似下面的结果
获取集合的数量
$Users.Count
再比如,使用 Format-List 命令对结果进行格式化输出
$Users | Format-List displayName, userPrincipalName
又如循环
Foreach($user in $Users)
{
If($null -ne $user.jobTitle)
{
Write-Host $user.displayName`n $user.jobTitle`n
}
}
结果过滤
$Users | Where-Object {$_.jobTitle -like “*manager”} | Format-List displayName, jobTitle
修改 Microsoft Graph 数据
查询说完了,简单介绍一下修改,还是举例说明。
比如想要修改一个用户的职位名称
Update-MgUser -UserId justin@o365.OnMicrosoft.com -JobTitle “Regional Manager”
只要有一些 PowerShell 的知识,我们就可以利用 PowerShell 完成包括但不限于上述操作的任务,欢迎多多动手实践。