Как назначить всем пользователям Skype для бизнеса определенную политику в Powershell?

Как назначить всем пользователям Skype для бизнеса определенную политику в Powershell?

Итак, мне нужно назначить всем пользователям определенную политику. Я знаю, как это сделать с отдельными пользователями, используя -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. В связи с этим могут быть дополнительные ограничения. Что касается запускаGrant-CSClientPolicyон фактически принимает входные данные Pipe, но может быть не в состоянии принять входные данные от Get-CSOnlineUser. Вы можете попробовать запустить его Grant-CSClientPolicyв простом цикле и напрямую определить атрибут идентичности.

Например, это может выглядеть так:

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

Вам придется проверять, Get-CSOnlineUserесть ли у возвращаемых объектов Identityатрибут. В качестве альтернативы может подойти псевдоним или отличительное имя. Также обязательно проверяйте, что Get-CSOnlineUserвозвращается заранее.

Связанный контент