Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 将所有用户的immutableID设置为UPN_Powershell_Office365_Upn - Fatal编程技术网

Powershell 将所有用户的immutableID设置为UPN

Powershell 将所有用户的immutableID设置为UPN,powershell,office365,upn,Powershell,Office365,Upn,我需要将所有用户的不可变ID设置为他们的UPN。我有一个两行powershell脚本,可以为单个用户执行此操作。本质上,我希望使其递归并为租户中的每个用户运行。我刚接触office 365的powershell。我不知道怎样才能做到这一点 get-msoluser -UserPrincipalName "someuser@somedomain.onmicrosoft.com" | foreach {$_.UserPrincipalName} | Set-Variable UPN1 set-mso

我需要将所有用户的不可变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”

您已经在两行中完成了工作,只是修改为获取所有MSoluser并处理每个用户。如果你有很多用户,这可能需要一段时间。在运行类似的操作之前,您可能需要查看Get-MSOLUser的过滤器

get-msoluser -All | ForEach-Object {
    set-msoluser -UserPrincipalName $_.UserPrincipalName -immutableID $_.UserPrincipalName
}

我不能100%确定您的示例
“$UPN1”
中immutableID的卷曲引号。这是否需要引用?

到目前为止您尝试了什么,哪些不起作用?我面临的主要问题是,我可以测试的唯一租户是联邦租户,如果我去测试不起作用的东西,并将所有ImmutableID更改为UPN以外的东西,它已经是了,然后我为所有的用户打破它。我读到如果你不引用一个变量,它可能会导致问题。非常感谢您的代码。我在使用$\ UserPricipalName设置immutableID时遇到问题。当我使用它时,我只会得到@domain.onmicrosoft.com部分