评价这篇文章

最近我发布了有关使用PowerShell和Azure Active Directory身份验证库连接到Azure AD的内容在这里。虽然这篇文章详细地执行了一些简单的任务,比如更新用户的属性,在本文中,我将使用相同的方法通过PowerShell连接到Azure AD,但要覆盖;

  • 列举用户,联系人或组
  • 如果每个页面的对象数量大于最大结果,则获取所有剩余页面的结果
  • 基于过滤器限制结果

我的脚本的前提是可以在没有提示的情况下执行。因此,脚本包含用于执行查询的“用户名”和“密码”。此脚本不需要特殊访问。任何标准用户帐户都将拥有Azure AD的“读取”权限,并将返回结果。

下面是从租户返回给定类型的所有对象的基本脚本。为您的环境;

  • 将第7行更改为您的租户名
  • 为您在租户中的帐户更改第11行
  • 将第12行更改为与第11行中指定的帐户相关联的密码
  • 更改对象类型的第18行(例如用户,组,联系人)

在第39行和第64行中,我对每页返回的结果数进行了硬编码,最大值为999。默认值为100。我想尽快归还所有物品。

第一个查询以及返回的999查询结果也返回一个值for查询美元。“odata.nextLink”如果结果超过999个。然后,在后续API调用中使用. nextlink值返回剩余的页面,直到返回所有对象。

辉煌。所以我们现在可以简单地为不同的对象类型(用户,组,如果需要的话。但是,如果我们想过滤其他条件,比如属性值,该怎么办?

下面是一个稍微修改过的版本(对URI),以包含查询过滤器。第19-24行有几个查询过滤器的例子。

因此,您已经掌握了通过PowerShell的Azure图形从Azure AD返回大量对象的入门知识。希望我花在计算URI语法上的时间能帮助其他人,因为在计算时我找不到任何示例。

在推特上关注达伦@darrenjrobinson

类别:
Azure平台Office 365PowerShell
标签:

加入对话!7评论

  1. 嗨,达伦,

    首先感谢你的博客。让我开始学习图表真的很好。

    我正在看这篇文章,我没有看到任何附件或到实际脚本的超链接。你能把它加回去吗?

    谢谢

    回复
  2. 脚本不再与ADAL v3一起工作

    回复

留下答复