![PowerShell で CsOnlineUser から OnlineVoiceRoutingPolicy を削除できない](https://rvso.com/image/1604267/PowerShell%20%E3%81%A7%20CsOnlineUser%20%E3%81%8B%E3%82%89%20OnlineVoiceRoutingPolicy%20%E3%82%92%E5%89%8A%E9%99%A4%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84.png)
PowerShell で VoiceRoutingPolicy を CsOnlineUser に追加した後、その後再度削除することができなくなり、VoiceRoutingPolicy を削除できなくなります。
によるとMicrosoftのドキュメント、使用してユーザーにポリシーを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