![無法在 PowerShell 中從 CsOnlineUser 中刪除 OnlineVoiceRoutingPolicy](https://rvso.com/image/1604267/%E7%84%A1%E6%B3%95%E5%9C%A8%20PowerShell%20%E4%B8%AD%E5%BE%9E%20CsOnlineUser%20%E4%B8%AD%E5%88%AA%E9%99%A4%20OnlineVoiceRoutingPolicy.png)
在 PowerShell 中將 VoiceRoutingPolicy 新增至 CsOnlineUser 之後,我無法再次刪除它,這使我無法刪除 VoiceRoutingPolicy。
根據微軟的文檔,我需要使用Grant-CsVoiceRoutingPolicy
並簡單地$Null
向用戶授予策略。我已嘗試如下,不幸的是沒有成功:
PS C:\Users\jkj> Get-CsOnlineUser -Identity [email protected] | Select-Object OnlineVoiceRoutingPolicy, UserPrincipalName
OnlineVoiceRoutingPolicy UserPrincipalName
------------------------ -----------------
DK1002 [email protected]
PS C:\Users\jkj> Grant-CsOnlineVoiceRoutingPolicy -Identity "[email protected]" -PolicyName $Null -WarningVariable Warn -ErrorVariable ErrorVar -Verbose
PS C:\Users\jkj> Get-CsOnlineUser -Identity [email protected] | Select-Object OnlineVoiceRoutingPolicy, UserPrincipalName
OnlineVoiceRoutingPolicy UserPrincipalName
------------------------ -----------------
DK1002 [email protected]
PS C:\Users\jkj> $Warn
PS C:\Users\jkj> $ErrorVar
PS C:\Users\jkj>
我還嘗試透過強制刪除 VoiceRoutingPolicy 來實現此目的。這是在不同的用戶和策略上完成的。
我能夠刪除 VoiceRoutingPolicy,但用戶仍然分配了策略“100000001”,並在獲取用戶時列印警告:
PS C:\Users\jkj> Remove-CsOnlineVoiceRoutingPolicy -Identity DK -Force
PS C:\Users\jkj> Get-CsOnlineUser -Identity [email protected] | Select-Object OnlineVoiceRoutingPolicy, UserPrincipalName
WARNING: "OnlineVoiceRoutingPolicy" with identity "1000000001" assigned to "sip:[email protected]" has been removed from configuration store.
OnlineVoiceRoutingPolicy UserPrincipalName
------------------------ -----------------
1000000001 [email protected]
PS C:\Users\jkj>
所以我還沒有成功地從用戶中刪除 VoiceRoutingPolicy。
有人成功從 CsOnlineUser 刪除 VoiceRoutingPolicy 嗎?
答案1
我與使用 Microsoft Teams 和 Skype for Business Online 的聯絡人進行了交談。他告訴我,通常在運行命令後很快就會生效,但我可能遇到了複製問題。如果真是這樣的話,按照他的估計,最多需要4個小時才能完成。
我嘗試將其保留過夜,現在我的所有用戶都已成功刪除其 VoiceRoutingPolicies:
PS C:\Git\teams-powershell> Get-CsOnlineUser | Select-Object OnlineVoiceRoutingPolicy, UserPrincipalName
OnlineVoiceRoutingPolicy UserPrincipalName
------------------------ -----------------
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
PS C:\Git\teams-powershell>
對於我的腳本,我不會等待長達 4 小時,因此我的解決方法是強制刪除該策略,然後$Null
將所有使用者設定為稍後生效。
所以,以這樣的例子為例:
Remove-CsOnlineVoiceRoutingPolicy -Identity DK -Force
Grant-CsOnlineVoiceRoutingPolicy -Identity "[email protected]" -PolicyName $Null
Grant-CsOnlineVoiceRoutingPolicy -Identity "[email protected]" -PolicyName $Null
Grant-CsOnlineVoiceRoutingPolicy -Identity "[email protected]" -PolicyName $Null
Grant-CsOnlineVoiceRoutingPolicy -Identity "[email protected]" -PolicyName $Null