W miarę upływu czasu działania systemu Exchange przybywa w nim urządzeń mobilnych. Użytkownicy zmieniają urządzenia, zaprzestają korzystać ze starszych urządzeń. Wszystkie te urządzenia pozostają jednak w Exchange. Administrator może trochę „posprzątać”. Aby wyświetlić wszystkie urządzenia mobilne jakie są zarejestrowane w Exchange można skorzystać z polecenia:
Get-MobileDevice -ResultSize Unlimited
Jeśli mamy sporo urządzeń lista może być dość długa. Aby policzyć ilość urządzęń należy skorzystać z polecenia
Get-MobileDevice|Measure-Object
Listę urządzeń możemy wyeksportować do pliku tekstowego
Get-MobileDevice -ResultSize Unlimited|ft -auto|Out-File 'c:\temp\urzadzenia.txt'
Polecenie Get-MobileDevice nie zwraca nam jednak informacji odnośnie ostatniego połączenia. Aby sprawdzić czas ostatniej synchronizacji nalezy posłużyć się poleceniem Get-MobileDeviceStatistics podając identyfikator urządzenia np.
Get-MobileDeviceStatistics daa39d02-b304-4c59-8b14-97d527fb50ec
lub
Get-MobileDevice daa39d02-b304-4c59-8b14-97d527fb50ec | Get-MobileDeviceStatistics
Aby wyświetlić urządzenia konkretnego użytkownika
Get-MobileDevice -ResultSize Unlimited|where {$_.identity -like "domna.local/domena/*Nazwa uzytkownika*"} |Select DeviceModel,whenchanged,DeviceAccessState,guid | ft -auto
Wykonywanie powyższych poleceń dla wielu urządzeń jest bardzo uciążliwe. Możemy jednak wykonać zestawienie dla wszystkich urządzeń.
$mdevices = Get-MobileDevice -ResultSize Unlimited
foreach ($d in $mdevices){Get-MobileDeviceStatistics $d.DistinguishedName|select lastSuccessSync,DeviceModel,guid,Identity|ft -auto|Out-File 'c:\temp\urzadzenia.txt'-Append}
Powyższe polecenie wyeksportuje nam wszystkie urządzenia wraz z czasem ostatniej pozytywnej synchronizacji (LastSuccessSync). Urządzenia, które nie synchronizowały się już dłuższy czas np. przez rok możemy usunąć z systemu Exchange. Usuniecie urządzenia wykonujemy poleceniem
Get-MobileDevice daa39d02-b304-4c59-8b14-97d527fb50ec
| Remove-MobileDevic
e
lub bezpośrednio
Remove-
MobileDevic
edaa39d02-b304-4c59-8b14-97d527fb50ec
Usuwanie w ten sposób większej ilości urządzeń jest bardzo czasochłonne. Lepszym rozwiązaniem jest przygotowanie pliku z identyfikatorami urządzeń do usunięcia. Tworzymy plik csv zawierający identyfikatory urządzeń do usunięcia. Ważne aby pierwsza linia zawierała wpis „identity” np.:
identity
e9605088-bd82-4ce2-a65e-230954513cd6
98ac1f8a-9ba1-45ed-917d-9246f40200cb
Następnie tak przygotowany plik wykorzystujemy do usunięcia wszystkich urządzeń:
Import-Csv C:\Temp\dev.csv |ForEach-Object {remove-MobileDevice $_.identity -Confirm:$false}
W przypadku gdy dostęp urządzeń systemu Exchange musi być wcześniej zaakceptowany przez administratora wszystkie urządzenia po skonfigurowaniu poczty przez użytkownika wpadają do kwarantanny. Aby wyświetlić wszystkie urządzenia w kwarantannie należy wydać polecenie
Get-MobileDevice |Where {$_.DeviceAccessState -eq „Quarantined”}|Select DeviceModel,FirstSyncTime,whenchanged,DeviceAccessState | ft -auto
Aby wyodrębnić urządzenia, które są w kwarantannie np. ponad rok możemy skorzystać z polecenia
Get-MobileDevice |Where {$_.DeviceAccessState -eq „Quarantined”-and $_.FirstSyncTime -lt (Get-Date).AddMonths(-12)}|Select DeviceModel,FirstSyncTime,whenchanged,DeviceAccessState | ft -auto
Zapytanie możemy ograniczyć np. tylko do aplikacji Outook na urządzeniu mobilnym
Get-MobileDevice |Where {$_.DeviceAccessState -eq „Quarantined”-and $_.FirstSyncTime -lt (Get-Date).AddMonths(-12) -and $_.devicemodel -eq 'Outlook for iOS and Android’}|Select DeviceModel,whenchanged,DeviceAccessState,guid | ft -auto
Takie urządzenia można śmiało usunąć z systemu Exchange skoro nikt przez rok nie upomniał się o odblokowanie (zezwolenie na dostęp) urządzenia
Get-MobileDevice |Where {$_.DeviceAccessState -eq „Quarantined”-and $_.FirstSyncTime -lt (Get-Date).AddMonths(-12)} | Remove-MobileDevice -Confirm:$false