Online ユーザーへのポリシーの割り当て

Japan Lync/SfB Support Team です。

 

複数のユーザーの管理する場合、管理シェルから CSV データなどを基にし、ポリシーを割り当てる場合があると思います。

たとえば、以下のようなコマンドを用いたりするような場合です。

 

A. Get-CsOnlineUser -ResultSize Unlimited -Filter {Enabled -eq $True} | Grant-CsConferencingPolicy -PolicyName BposSVoipDisabled

B. Get-CsOnlineUser -ResultSize Unlimited -Filter {Enabled -eq $True} | Set-CsUser -AudioVideoDisabled $True

エラー: リモート コマンドへのデータ送信が失敗し、次のエラー メッセージが返されました。T
he total data received from the remote client exceeded the allowed maximum. The
allowed maximum is 52428800.詳細については、about_Remote_Troubleshooting のヘ
ルプ トピックを参照してください。
+ CategoryInfo          : OperationStopped: ( <UPN> :Stri
ng) [], PSRemotingTransportException
+ FullyQualifiedErrorId : JobFailure
+ PSComputerName        : <UPN>

 

これは、Skype for Business Online で設定されている PowerShell セッションに対する Throttling Policy により発生します。

たとえば、PowerShell セッションを開いてから 10 ~ 15 分程コマンドを実行していない時間が継続した場合は、セッションがタイムアウトしエラーとなります。

また、短期間で大量のパイプライン処理を実行した場合にも、エラーが発生します。

そのため、パイプライン処理を利用して大量のユーザーへ変更を一括で加える場合については、あらかじめ CSV などでユーザー リストを用意しておいていただき、

1 ユーザーに対して処理をループする事でエラーを回避する事が出来ます。

 

例えば、以下のようなスクリプトを実行することにより、実現可能となります。

(あらかじめ、upns.txt というユーザー リストを用意しておきます。)

$c=get-credential
$s=new-csonlinesession -Credential $c
import-pssession $s -AllowClobber

$upnfile="c:\script\upns.txt"
foreach($upn in (Get-Content "$upnfile")) {
echo 'Setting AudioVideoDisabled for: ' $upn
Set-CsUser -Identity $upn -AudioVideoDisabled $True
Grant-CsConferencingPolicy -Identity $upn -PolicyName BposSVoipDisabled

 

なお、環境を考慮したスクリプトの作成が必要である場合は、Premier Support で対応をさせていただいております。