Powershell ですべての Skype for Business ユーザーを特定のポリシーに割り当てる方法は?

Powershell ですべての Skype for Business ユーザーを特定のポリシーに割り当てる方法は?

したがって、すべてのユーザーを特定のポリシーに割り当てる必要があります。 を使用して個々のユーザーに対してこれを行う方法はわかっています-identity。以下を使用して試しました。

Get-CsOnlineUser | Grant-CsClientPolicy -PolicyName OfflineIM

残念ながら失敗しました。

オブジェクト参照がオブジェクトのインスタンスに設定されていません。 + CategoryInfo: NotSpecified: (:) [Grant-CsClientPolicy]、NullReferenceException + FullyQualifiedErrorId: System.NullReferenceException、Microsoft.Rtc.Management.AD.Cmdlets.AssignClientPolicy`1[[Microsoft.Rtc.Management.ADConnect. Schema.OCSADUserOrAppContact、Microsoft.Rtc.Management.ADConnect、Version=7.0.0.0、Culture=neutral、PublicKeyToken=b7f21e63458e5a11]] + PSComputerName: admin2a.online.lync.com

何か案は?

答え1

ご利用にあたってGet-OnlienCSUserおそらくSkype for Business Onlineを実行していることを意味します。そのため、追加の制限がある可能性があります。付与-CSクライアントポリシー実際にはパイプ入力を受け入れますが、からの入力を受け入れることができない可能性がありますGet-CSOnlineUser。単純なループでそれを実行しGrant-CSClientPolicy、アイデンティティ属性を直接識別してみることもできます。

たとえば、次のようになります。

Get-CsOnlineUser | %{Grant-CsClientPolicy -PolicyName OfflineIM -Identity $_.Identity}

返されるオブジェクトに属性Get-CSOnlineUserがあるかどうかを常に確認する必要がありますIdentity。 代わりに、エイリアスまたは識別名が機能する場合があります。 また、Get-CSOnlineUser事前に何が返されるかを確認してください。

関連情報