将所有用户的 immutableID 设置为 UPN
Posted
技术标签:
【中文标题】将所有用户的 immutableID 设置为 UPN【英文标题】:Set immutableID for all users to UPN 【发布时间】:2019-04-09 16:41:30 【问题描述】:我需要将所有用户的不可变 ID 设置为他们的 UPN。我有一个两行 powershell 脚本来为单个用户执行此操作。本质上,我想让这个递归并为租户中的每个用户运行。我对 Office 365 的 powershell 很陌生。我不知道如何做到这一点。
get-msoluser -UserPrincipalName "someuser@somedomain.onmicrosoft.com" | foreach $_.UserPrincipalName | Set-Variable UPN1
set-msoluser -UserPrincipalName "someuser@somedomain.onmicrosoft.com" -immutableID “$UPN1”
【问题讨论】:
到目前为止您尝试了哪些方法,哪些方法不起作用? 我遇到的主要问题是我可以测试的唯一租户是联合的,如果我去测试不起作用的东西并将所有 ImmutableID 更改为 UPN 以外的其他东西,那么我为所有用户打破它。 【参考方案1】:您已经在两行中完成了工作,只是进行了修改以获取所有 MSOLUser 并处理每个用户。如果您有很多用户,这可能需要一段时间。在运行此类操作之前,您可能需要查看 Get-MSOLUser 的过滤器。
get-msoluser -All | ForEach-Object
set-msoluser -UserPrincipalName $_.UserPrincipalName -immutableID $_.UserPrincipalName
在您的示例 “$UPN1”
中,我不能 100% 确定您 immutableID 的花括号。这还需要引用吗?
【讨论】:
我已经读到,如果你不在那里引用变量,它可能会导致问题。非常感谢您提供此代码。我在使用 $_.UserPricipalName 设置 immutableID 时遇到问题。当我使用它时,我得到的只是@domain.onmicrosoft.com 部分以上是关于将所有用户的 immutableID 设置为 UPN的主要内容,如果未能解决你的问题,请参考以下文章
仅当 FormType 为 Create 时才将所有者设置为当前用户