Powershell Exchange 기존 전화 동기화 장치 삭제

Powershell Exchange 기존 전화 동기화 장치 삭제

Exchange 2013 Server와 최소 110일 동안 동기화되지 않은 모든 휴대폰을 정리하는 Powershell 스크립트를 실행하려고 합니다.

내 코드는 데이터를 가져와서 CSV로 내보내지만 장치를 삭제하기 위해 Remove-MobileDevice 명령을 파이프하려고 하면 스크립트가 실패합니다. 지금까지 인터넷에서 찾은 어떤 것도 큰 도움이 되지 않았습니다. 대부분은 오래된 ActiveSyncDevice cmdlet을 사용하고 있습니다.

제 코드는 다음과 같습니다. 저는 PowerShell을 처음 사용하며 도움을 주셔서 감사합니다.

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)

답변1

Exchange에 구축된 더 나은(자동) 솔루션을 제공할 수 있습니까? Exchange 2013/2016 이후 Microsoft는 제한 정책에 EasMaxInactivityForDeviceCleanup 값을 추가하고 이에 대해 설명했습니다.여기처럼:

EasMaxInactivityForDeviceCleanup 매개 변수는 사용자의 장치 파트너십이 활성 상태로 유지되는 시간을 지정합니다. 기본적으로 사용자의 장치 파트너십이 활성 상태로 유지되는 일수에는 제한이 없습니다. 조직에서 비활성 장치 파트너십의 양을 최소화하려면 이 값을 사용하십시오. 이 설정을 사용하려면 사용자의 마지막 동기화 시간 이후의 일수 값을 지정하여 장치 파트너 관계를 제거하세요.

따라서 제가 여러분이라면 설명된 대로 새로운 제한 정책을 만들 것입니다.여기이를 사용자에게 할당합니다. 해당 장치가 설치되고 사용자가 새 장치를 추가하는 경우 Exchange 서버는 구성된 장치를 확인하고 새 장치에서 추가하는 동안 사용하지 않는 장치를 자동으로 삭제합니다. 그러면 스크립트를 실행할 필요가 없으며 서버가 대부분 자동으로 처리합니다.

답변2

Guid를 포함한 장치 목록이 있으면 이를 실행하여 해당 .csv 파일의 모든 장치를 삭제할 수 있습니다.

가져오기-CSV(your_path_and_file_name.csv) | foreach{Remove-MobileDevice -ID $_.Guid}

관련 정보