如何使用 powershell 将 MSOlUser 的 Immutable Id 设置为 null 值?

Aat*_*ira 1 powershell office365

我尝试使用以下命令在 Office 365 中设置用户的不可变 ID

 Set-MsolUser -UserPrincipalName edwardlt501edwar@KT2.kb.co.in -ImmutableId $null
Run Code Online (Sandbox Code Playgroud)

但是当我尝试以下命令时,它实际上返回一个不可变的 id

Get-MsolUser -UserPrincipalName edwardlt501edwar@KT2.kb.co.in | select ImmutableId
Run Code Online (Sandbox Code Playgroud)

请告诉我是否还有其他方法可以将不可变 id 设置为 null?

Aat*_*ira 5

Set-MsolUser -UserPrincipalName edwardlt501edwar@KT2.kb.co.in -ImmutableId "$null"
Run Code Online (Sandbox Code Playgroud)

执行上述命令时,我收到以下错误:

您必须提供必需的属性:参数名称:FederatedUser.SourceAnchor

在深入研究这个问题时,我发现我们无法从联合 O365 帐户中清除不可变的 Id,而是需要执行以下操作:

  1. 将联合域移至托管域:

    Set-MsolUserPrincipalName -UserPrincipalName edwardlt501edwar@KT2.kb.co.in  -NewUserPrincipalName edwardlt501edwar@<managed domain, usually something.onmicrosoft.com>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将 immutableid 设置为 null:

    Set-MsolUser -UserPrincipalName gw17edwardlt501edwar@<managed domain> -ImmutableId "$null"
    
    Run Code Online (Sandbox Code Playgroud)
  3. 然后等待一段时间并分配一个新的不可变 id:

    set-msolUser -userprincipalname gw17edwardlt501edwar@<managed domain> -immutableID f33fc1d2-73bd-4957-995f-37c83d349ef3
    
    Run Code Online (Sandbox Code Playgroud)
  4. 返回到联合域:

    Set-MsolUserPrincipalName -NewUserPrincipalName edwardlt501edwar@KT2.kb.co.in-UserPrincipalName edwardlt501edwar@<managed domain>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 查看新的不可变 ID:

    Get-MsolUser -UserPrincipalName edwardlt501edwar@KT2.kb.co.in | select ImmutableId
    
    Run Code Online (Sandbox Code Playgroud)