Como atribuir todos os usuários do Skype for Business a uma política específica no Powershell?

0

Então, 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, isso falha.

Object reference not set to an instance of an object. + 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

Alguma idéia?

    
por Ian Hawkins 09.03.2018 / 20:44

1 resposta

1

O uso de Get-OnlienCSUser provavelmente significa que você está executando o Skype for Business Online. Como tal, pode haver restrições adicionais. Quanto à execução do Grant-CSClientPolicy ele realmente aceita o Pipe entrada, mas pode ser incapaz de aceitar a entrada de Get-CSOnlineUser . Você pode tentar executar o 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 atributo Identity . Como alternativa, um alias ou nome distinto poderia funcionar. Certifique-se também de verificar o que o Get-CSOnlineUser retorna antes.

    
por 12.03.2018 / 14:05