
Итак, мне нужно назначить всем пользователям определенную политику. Я знаю, как это сделать с отдельными пользователями, используя -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
возвращается заранее.