
Portanto, preciso atribuir todos os usuários a uma política específica. Eu sei como fazer isso com usuários individuais usando o -identity
. Eu tentei usar o abaixo:
Get-CsOnlineUser | Grant-CsClientPolicy -PolicyName OfflineIM
Infelizmente, ele falha.
Referência de objeto não definida para uma instância de um objeto. + 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, versão = 7.0.0.0, Culture = neutro, PublicKeyToken = b7f21e63458e5a11]] + PSComputerName: admin2a.online.lync.com
Alguma ideia?
Responder1
Seu uso deGet-OnlienCSUserprovavelmente significa que você está executando o Skype for Business Online. Como tal, pode haver restrições adicionais. Quanto a correrGrant-CSClientPolicyna verdade, ele aceita entrada de Pipe, mas pode não conseguir aceitar a entrada de Get-CSOnlineUser
. Você poderia tentar executá-lo Grant-CSClientPolicy
em um loop simples e identificar diretamente um atributo de identidade.
Por exemplo, isso poderia ser assim:
Get-CsOnlineUser | %{Grant-CsClientPolicy -PolicyName OfflineIM -Identity $_.Identity}
Você teria que verificar sempre que os objetos retornados por Get-CSOnlineUser
tivessem um Identity
atributo. Alternativamente, um alias ou nome distinto poderia funcionar. Certifique-se também de verificar o que Get-CSOnlineUser
retorna com antecedência.