This post is also available in: angielski
Jeżeli dla jakiejś skrzynki próbujecie usunąć lub wyczyścić urządzenie mobilne (Mobile Device) tak aby już więcej nie było połączone z kontem emailowym, możecie czasami otrzymać błąd:
The ActiveSyncDevice Cannot be Found
Błąd ten spowodowany jest tym, że użytkownik do którego należy skrzynka był przenoszony do innego OU po podłączeniu urządzenia. Przez co odwołanie do urządzenia jest nieprawidłowe ponieważ zawiera „ścieżkę” do poprzedniego OU z którego użytkownik został przeniesiony.
Jest to spowodowane tym, że Exchange nie aktualizuje informacji dla urządzenia mobilnego o tym że użytkownik został przeniesiony w Active Directory.
Jeżeli wykonacie polecenie Get-ActiveSyncDeviceStatistics dla danej skrzynki jak poniżej:
Get-ActiveSyncDeviceStatistics -mailbox JSmith | select DeviceId, Identity
w wyniku otrzymamy:
DeviceID Identity -------- -------- androidc1640524549 domain.local/Users/Test1/Smith John/..... androidc2040902280 domain.local/Users/Test2/Smith John/.....
następnie wykonamy polecenie Get-ActiveSyncDevice dla tej samej skrzynki jak poniżej:
Get-ActiveSyncDevice -Mailbox JSmith | select DeviceId, Identity
w wyniku otrzymamy:
DeviceID Identity -------- -------- androidc1640524549 domain.local/Users/Test2/Smith John/..... androidc2040902280 domain.local/Users/Test2/Smith John/.....
Możecie zobaczyć, że wyniki obu zapytań się różnią w polu Identity dla tych samych DeviceId.
Jest to właśnie spowodowane tym, że Get-ActiveSyncDeviceStatistics nie pobiera informacji o nowej lokalizacji użytkownika w AD, tylko przechowuje lokalizację w której użytkownik był w momencie pierwszego podłączania urządzenia mobilnego.
Rozwiązaniem problemu z usunięciem mobile device jest porównanie obu wpisów Identity otrzymanych z poleceń Get-ActiveSyncDeviceStatistics oraz Get-ActiveSyncDevice.
Teraz możemy usunąć wybrane urządzenie podając jego DeviceID jak poniżej:
Remove-ActiveSyncDevice -Identity $(Get-ActiveSyncDevice -Mailbox JSmith | where {$_.DeviceId -like "androidc1640524549"} | select Identity).identity
Jeżeli natomiast chcemy wyczyścić dane na tym urządzeniu zamiast Remove-ActiveSyncDevice musimy użyć Clear-ActiveSyncDevice i jeżeli dodatkowo użyjemy -NotificationEmailAddresses otrzymamy email z informacją gdy operacja wyczyszczenia zostanie wykonana.
Clear-ActiveSyncDevice -Identity $(Get-ActiveSyncDevice -Mailbox JSmith | where {$_.DeviceId -like "androidc1640524549"} | select Identity).identity -NotificationEmailAddresses admin@domain.com
Jeżeli chcecie uzyskać informacje, które urządzenia dla danej skrzynki mają nieaktualne informacje w Identity możecie użyć poniższych poleceń:
$name = $(Get-Mailbox JSmith).Name $ASdevices = @(Get-ActiveSyncDevice | where {$_.UserDisplayName -like "*$name"}) foreach ($ASdevice in $ASdevices) { $ASdevstats = Get-ActiveSyncDeviceStatistics $ASdevice if ($($ASdevice.Identity.ToString()) -ne $($ASdevstats.Identity.ToString())) { Write-Host "Wrong Identity" Write-Host $ASdevice.Identity Write-Host $ASdevstats.Identity } }