Estou tentando executar um script Powershell que limpará todos os telefones que não foram sincronizados há pelo menos 110 dias com o Exchange 2013 Server.
Meu código extrairá os dados e os exportará para CSV, mas quando tento canalizar o comando Remove-MobileDevice para excluir os dispositivos, o script não consegue fazer isso. Nada que encontrei na Internet ajudou muito até agora. A maioria está usando cmdlets ActiveSyncDevice desatualizados.
Aqui está meu código, sou novo no PowerShell e agradeço qualquer ajuda:
Get-MobileDevice -result unlimited | Get-MobileDeviceStatistics | where {$_.LastSuccessSync -le (Get-Date).AddDays(“-110”)} | select devicetype, deviceidentity, deviceos, deviceuseragent, identity | Export-csv C:\PhoneSync\Logs\Stale_Devices_110days_$((Get-Date).ToString('MM-dd-yyyy_hh-mm-ss')).csv | foreach (Remove-MobileDevice -Identity DeviceUserAgent -confirm:$false)
Responder1
Posso fornecer uma solução melhor (automaticamente) integrada ao Exchange? Desde o Exchange 2013/2016, a Microsoft adicionou o valor EasMaxInactivityForDeviceCleanup à política de limitação e o descreveuaquicomo:
O parâmetro EasMaxInactivityForDeviceCleanup especifica por quanto tempo as parcerias de dispositivos de um usuário permanecerão ativas. Por padrão, não há limite para o número de dias que as parcerias de dispositivos de um usuário permanecerão ativas. Utilize este valor se quiser minimizar a quantidade de parcerias de dispositivos inativos na sua organização. Para usar essa configuração, especifique um valor em dias desde a última sincronização do usuário para fazer com que a parceria do dispositivo seja removida.
Então, se eu fosse você, criaria uma nova política de limitação, conforme explicadoaquie atribua isso aos seus usuários. Depois de implementado e se um usuário estiver adicionando um novo dispositivo, o servidor Exchange verificará os dispositivos configurados e excluirá automaticamente o não utilizado, durante a adição do novo dispositivo. Então você não precisa executar um script, o servidor cuidará deles automaticamente.
Responder2
Depois de ter sua lista de dispositivos, incluindo o Guid, você pode executar isso para excluir todos os dispositivos nesse arquivo .csv.
Importar-CSV (seu_caminho_e_nome_do_arquivo.csv) | foreach{Remove-MobileDevice -Identity $_.Guid}