决定在解除授权后如何管理属性

重要

由世纪互联在中国运营的Skype for Business将于2023年10月1日停用。 如果尚未升级 Skype for Business Online 用户,系统会自动安排他们进行辅助升级。 如果想要自行将组织升级到 Teams,强烈建议你立即开始规划升级路径。 请记住,成功升级与技术和用户就绪情况一致,因此在导航到 Teams 旅程时,请务必利用我们的 升级指南

Skype for Business Online(不包括世纪互联在中国运营的服务)已于 2021 年 7 月 31 日停用。

默认情况下,已启用Skype for Business Server然后移动到云的所有用户仍具有本地 Active Directory中配置的 msRTCSIP 属性。

这些属性,特别是 sip 地址 (msRTCSIP-PrimaryUserAddress) 和电话号码 (msRTCSIP-Line) ,将继续同步到Microsoft Entra ID。 如果需要更改任何 msRTCSIP 属性,则必须在本地 Active Directory中进行更改,然后同步到Microsoft Entra ID。 但是,删除Skype for Business Server部署后,Skype for Business Server工具将无法管理这些属性。

有两个选项可用于处理这种情况:

  1. 将已启用Skype for Business服务器帐户的用户保留为原样,并使用 Active Directory 工具管理 msRTCSIP 属性。 此方法可确保迁移的用户不会丢失服务,并允许通过消除 ((例如,擦除服务器) ,而无需完全停用)来删除Skype for Business Server部署。 但是,新许可的用户不会在本地 Active Directory中填充这些属性,需要联机管理。

  2. 从本地 Active Directory中迁移的用户中清除所有 msRTCSIP 属性,并使用联机工具管理这些属性。 此方法允许对现有用户和新用户使用一致的管理方法。 但是,在本地停用过程中,这可能会导致服务暂时丢失。

方法 1 - 管理 Active Directory 中用户的 sip 地址和电话号码

管理员可以管理从本地Skype for Business Server移动到云的用户,即使在停用本地部署之后也是如此。

如果要更改用户的 sip 地址或用户的电话号码 (并且 sip 地址或电话号码已在本地 Active Directory) 中具有值,则必须在本地 Active Directory中进行更改,并使值 () 流到Microsoft Entra ID。 此方法不需要本地Skype for Business Server。 相反,可以使用Active Directory 用户和计算机 MMC 管理单元 ((如下所示) )或使用 PowerShell 直接在本地 Active Directory中修改这些属性。 如果使用 MMC 管理单元,请打开用户的属性页,单击“属性编辑器”选项卡,并找到要修改的相应属性:

  • 若要修改用户的 sip 地址,请 msRTCSIP-PrimaryUserAddress修改 。

    注意

    如果 属性 ProxyAddresses 包含 sip 地址,则还更新该值作为最佳做法。 虽然 O365 会忽略 中的 ProxyAddresses sip 地址(如果 msRTCSIP-PrimaryUserAddress 已填充),但其他本地组件可能会使用该地址。

  • 若要修改用户的电话号码,请修改 msRTCSIP-Line是否已有值

    Active Directory 用户和计算机工具。

  • 如果用户在移动之前最初没有本地的值 msRTCSIP-Line ,则可以使用 -PhoneNumber Teams PowerShell 模块中的 Set-CsPhoneNumberAssignment cmdlet 中的 参数修改电话号码。

禁用混合后创建的新用户不需要这些步骤,可以直接在云中管理这些用户。 如果愿意混合使用这些方法并将 msRTCSIP 属性保留在本地 Active Directory中,则可以对本地Skype for Business服务器重新映像。 但是,如果希望清除所有 msRTCSIP 属性并执行传统卸载Skype for Business Server,请使用方法 2。

方法 2 - 清除 Active Directory 中所有本地用户的Skype for Business属性

此选项需要付出更多努力和适当的规划,因为必须重新预配从本地Skype for Business Server移动到云的用户。 这些用户可分为两个不同的类别:没有电话系统的用户和具有电话系统的用户。 在将电话号码从本地 Active Directory管理的过渡到云过程中,使用电话系统的用户将遇到电话服务暂时丢失的情况。 建议在开始批量用户操作之前,使用电话系统执行涉及少量用户的试点。 对于大型部署,可以在不同时间窗口的较小组中处理用户。

注意

对于具有匹配的 sip 地址和 UserPrincipalName 的用户,此过程最简单。 对于具有跨这两个属性具有不匹配值的用户的组织,必须格外小心,如下所示,以便顺利转换。

注意

如果已为自动助理或呼叫队列配置本地混合应用程序终结点,请确保在停用Skype for Business Server之前将这些终结点移动到 Microsoft 365。 有关详细信息,请参阅在 解除本地环境授权之前迁移混合应用程序终结点

  1. 确认以下本地Skype for Business PowerShell cmdlet 返回空结果。 空结果意味着没有用户驻留在本地,并且已移动到 Microsoft 365 或已被禁用:

    Get-CsUser -Filter { HostingProvider -eq "SRV:"} | Select-Object Identity, SipAddress, UserPrincipalName, RegistrarPool
    
  2. 通过执行以下本地Skype for Business Server PowerShell cmdlet 导出用户数据,记录用户的当前电话号码 (LineUri) 、UserPrincipalName 和相关信息:

    Get-CsUser | Select-Object SipAddress, UserPrincipalName, SamAccountName, RegistrarPool, HostingProvider, EnabledForFederation, EnabledForInternetAccess, LineUri, EnterpriseVoiceEnabled, HostedVoiceMail | Sort SipAddress | Export-Csv -Path  "c:\backup\SfbUserSettings.csv"
    

    重要

    在继续打开 SfbUserSettings.csv 文件并确认已成功导出所有用户数据之前。 建议保留此文件的副本。 请勿在以下步骤中使用此文件来处理用户。

  3. 创建一个文件,其中包含一组将在以下步骤中使用的用户。 第一组用户成功完成后,继续下一组用户。 在下面的示例中,按字母顺序选择用户组。 可以根据符合你希望处理用户的方式的条件筛选用户。

    Get-CsUser | where userprincipalname -like "abc*" | Select-Object SipAddress, UserPrincipalName, SamAccountName, RegistrarPool, HostingProvider, EnabledForFederation, EnabledForInternetAccess, LineUri, EnterpriseVoiceEnabled, HostedVoiceMail | Sort SipAddress | Export-Csv -Path "c:\data\SfbUsers.csv"
    

    重要

    在继续打开 SfbUsers.csv 文件并确认已成功导出用户数据之前。 稍后的步骤需要此文件中的 LineUri (电话号码) 、UserPrincipalName、SamAccountName 和 SipAddress。

  4. 为准备更新的用户集从 active Directory 中删除与Skype for Business Server相关的属性信息。 此过程有两个步骤,如下所示。

    重要

    运行此步骤后的下一个Azure AD Sync周期后,从本地Skype for Business Server移动到云的电话系统用户将失去拨打和接听呼叫的能力,直到步骤 8 成功完成并在步骤 9 中确认。 此外,请确保已按照步骤 2 保存用户的电话号码和相关信息,因为该信息是该步骤所必需的。

    $sfbusers=import-csv "c:\data\SfbUsers.csv"
    foreach($user in $sfbusers){
    Disable-CsUser -Identity $user.SipAddress}
    

    接下来,对于同一组用户,请使用 本地 Active Directory PowerShell 清除 msRTCSIP-DeploymentLocator 的值:

    $sfbusers=import-csv "c:\data\SfbUsers.csv"
    foreach($user in $sfbusers){
    Set-ADUser -Identity $user.SamAccountName -Clear msRTCSIP-DeploymentLocator}
    
  5. 若要将 sip 地址值添加回 本地 Active Directory proxyAddresses,请运行以下 Windows PowerShell cmdlet 本地 Active Directory 模块。 此操作将防止依赖此属性的互操作性问题。

    $sfbusers=import-csv "c:\data\SfbUsers.csv"
    foreach($user in $sfbusers){
      $userUpn=$user.UserPrincipalName
      $userSip=$user.SipAddress
      $proxies=Get-ADUser -Filter "UserPrincipalName -eq '$userUpn'" -properties * | Select-Object @{Name="proxyAddresses";Expression={$_.proxyAddresses}}
      if(($null -eq $proxies) -or ($proxies.proxyAddresses -NotContains $userSip))
      {
              Get-ADUser -Filter "UserPrincipalName -eq '$userUpn'" | Set-ADUser -Add @{"proxyAddresses"=$user.SipAddress}
      }
    }
    
  6. 运行Azure AD Sync

    Start-ADSyncSyncCycle -PolicyType Delta
    
  7. 等待用户预配完成。 可以通过运行以下 Teams PowerShell 命令来监视用户预配进度。 以下 Teams PowerShell 命令在进程完成后立即返回空结果。

    Get-CsOnlineUser -Filter {IsSipEnabled -eq $True} | Where {$_.UserValidationErrors -ne $null} | Select SipAddress,InterpretedUserType,UserValidationErrors
    
  8. 若要分配电话号码并为电话系统启用用户,请执行以下 Teams PowerShell 命令:

    $sfbusers=import-csv "c:\data\SfbUsers.csv"
    foreach($user in $sfbusers){
    if($user.LineUri)
         {
              Set-CsPhoneNumberAssignment -Identity $user.SipAddress -PhoneNumber $user.LineUri.Replace("tel:","") -PhoneNumberType DirectRouting
         }
    }
    

    注意

    如果仍 (Skype 客户端或第三方电话) Skype for Business终结点,则还需要将 -HostedVoiceMail 设置为$true。 如果组织仅对已启用语音的用户使用 Teams 终结点,则此设置不适用于你的用户。

  9. 确认已正确预配具有电话系统功能的用户。 以下 Teams PowerShell 命令在进程完成后立即返回空结果。

    $sfbusers=import-csv "c:\data\SfbUsers.csv"
    foreach($user in $sfbusers)
    {
    if($user.LineUri)
         {
                 $u=Get-CsOnlineUser -Identity $user.SipAddress
                 if ($u.LineURI -ne $user.LineUri -or $u.EnterpriseVoiceEnabled -ne $true)
                 {
                 Get-CsOnlineUser -Identity $user.SipAddress | fl SipAddress, InterpretedUserType, OnPremLineURI, LineURI, EnterpriseVoiceEnabled
                 }
         }
    }
    
  10. 重复步骤 3 到 9,直到处理所有用户。

  11. 通过运行以下两个 PowerShell 命令,确认所有用户都已成功处理。

    本地Skype for Business Server本地 PowerShell 命令:

    Get-CsUser | Select-Object SipAddress, UserPrincipalName
    

    Teams PowerShell 命令:

    Get-CsOnlineUser -Filter {IsSipEnabled -eq $True} | where {$_.UserValidationErrors -ne $null} | fl SipAddress, InterpretedUserType, OnPremHostingProvider, UserValidationErrors
    
  12. 完成方法 2 中的所有步骤后,请参阅将混合应用程序终结点从本地移动到联机删除本地Skype for Business Server,了解删除本地部署Skype for Business Server的其他步骤。

另请参阅