【问题标题】:How to find the o365 users with one license but not the other如何使用一个许可证而不是另一个许可证找到 o365 用户
【发布时间】:2019-10-21 09:57:34
【问题描述】:

我有多个 o365 帐户,分配了 A1 许可证或 A1 和 A1plus 许可证。我只需要找到拥有 A1 许可证的用户并将 A1plus 许可证添加给他们。

在 10 个混合使用 A1 和 A1+A1plus 许可证的测试用户上运行的 PS 下仍然显示所有这些用户。

Get-msoluser -all | 
    Where-Object {$_.userprincipalname -match '@students.test.com' -and 
    ($_.licenses).accountskuid -match 'test:A1' -and 
    ($_.licenses).accountskuid -notmatch 'test:A1plus'}

我希望只看到拥有 A1 许可证的用户,而不是拥有各种许可证且其中一个是 A1 的用户。

【问题讨论】:

  • 听起来您希望只分配一个总许可的用户,而该许可恰好是这个特定的不正确许可。对吗?
  • 嗨。是的。这是对的。我只需要找到他们只分配了 A1 许可证的用户,并为他们添加 A1 plus 许可证。
  • 您可以使用-notcontains,而不是使用-notmatch。由于accountskuid 可能包含一个集合,-notmatch 将至少在其中一个项目上为真。所以总的来说,它总是会评估为真。
  • 尊敬的 AdminOfThings。你真棒。 -notcontains 就像一个魅力。非常感谢你的芽。

标签: powershell office365 user-accounts


【解决方案1】:

作为替代方案,您可以在 Office 365 门户的活动用户部分中创建自定义视图,并使用错误许可类型的过滤器值。

【讨论】:

  • 抱歉,我有 12000 个用户要更改。不能从管理面板创建视图和更改许可证。
【解决方案2】:

将 A1PLus 许可证分配给没有许可证或只有 A1 的用户的一条线。 get-msoluser -all | Where-Object {$_.userprincipalname -match '@students.test.com' -and ($_.licenses).accountskuid -contains 'test:A1' -and ($_.licenses).accountskuid -notcontains 'test:A1PLus'} | Set-MsolUserLicense -addlicenses 'test:A1Plus'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 2021-11-20
    • 2021-02-24
    • 2013-11-22
    • 2019-07-09
    • 2023-04-03
    相关资源
    最近更新 更多