This post is also available in: angielski
Niedługo chyba będzie już normalne to, że z nową wersją iOS będą pojawiały się nowe problemy związane z obsługą skrzynek znajdujących się na serwerach Microsoft Exchange.
Tym razem winny temu jest iOS 6.1
Po aktualizacji systemów urządzeń mobilnych firmy Apple do wersji iOS 6.1 możecie mieć spore problemy w wolnym miejscem na logi tarnsakcyjne na serwerach Exchange.
Okazuje się, że iOS 6.1 posiada pewne błedy w oprogramowaniu, które wymuszają na IPhonach i IPadach ciągłą synchronizację kalendarza lub ciągłe próby pobierania poczty wpadając w pętle tych zadań i wykonując je cały czas.
Jak widać w przypadku aktualizacji do nowych wersji iOS sprawdzi się powiedzenie: „Co nagle do po diable”
Działanie takie powoduje oczywiście za każdym razem generowanie logów Transaction Logs na serwerach Exchange. Według niektórych sytuacja taka może powodować wygenerowanie nawet do 50GB logów dziennie.
Oczywiście w momencie kiedy zabraknie Wam wolnego miejsca dla nowych logów, baza ze skrzynkami zostanie automatycznie odmontowana co uniemożliwi pracę wielu osobom.
Niektóre firmy, których system poczty elektronicznej oparty jest na serwerach Microsoft Exchange, zabraniają swoim pracownikom instalacji iOS 6.1. Czy wychodzi na to, że znowu system firmy Apple może stać się korporacyjnie zabroniony.
W chwili obecnej nie ma żadnego skutecznego rozwiązania tego problemu. Mamy nadzieję, że firma Apple szybko wyda jakąś aktualizację która naprawi ten problem i fajnie by było gdyby aktualizacja ta nie spowodowała nowych problemów.
Narazie możemy zaproponować tylko pośrednie poniższe rozwiązania:
- nie aktualizować urządzeń firmy Apple do iOS 6.1
- jeżeli ktoś już posiada iOS 6 to niech nie pracuje z kalendarzem w skrzynce umieszczonej na Microsoft Exchange – nie tworzyć nowych wpisów, nie aktualizować, nie usuwać, nie pracować
- czekać na kolejny update od Apple
Ponieważ nie wszyscy lubią czekać, jak również większość z nas ma użytkowników do których nie trafiają normalne wyjaśnienia dlaczego czegoś nie mają robić, dlatego poniżej przedstawiamy dwa skrypty dzięki którym dowiecie się ile macie urządzeń z iOS 6.1 oraz drugi skrypt dzięki któremu dowiecie się kto używa urządzenia z iOS 6.1
Aby uzyskać informacje o liczbie urządzeń podłączonych do serwera Microsoft Exchange, które maja zainstalowaną wersje iOS 6.1 musicie wykonać polecenia jak poniżej:
$MBXs = Get-Mailbox -server MBXSrv01 -RecipientTypeDetails UserMailbox –ResultSize Unlimited -Filter {HiddenFromAddressListsEnabled -eq $false} $Devices = $MBXs | %{Get-ActiveSyncDeviceStatistics -Mailbox $_.Identity} | ?{$_.LastSuccessSync -gt (Get-Date).AddDays(-30)} $Devices | ? {$_.DeviceOS -like "*iOS*"} | Group-Object -Property DeviceOS -NoElement
Dzięki temu uzyskamy informacje na temat liczby wszystkich urządzeń z iOS, które łączyły się z naszym serwerem w ciągu ostatnich 30 dni.
Wynik może generować się długo w zależności od ilości skrzynek obsługiwanych na serwerze.
Drugi skrypt pozwala na uzyskanie dokładnych informacji na temat urządzeń z iOS6.
W wyniku działania skryptu otrzymamy plik z .csv ze skrzynkami oraz informacją o wersji systemu iOS.
Set-AdServerSettings -ViewEntireForest $True Function New-Array {,$args} $Report = new-array $file_out = "D:\Scripts\mobile_devices_iOS.csv" $mbx = Get-CASMailbox -ResultSize Unlimited | ?{$_.HasActiveSyncDevicePartnership} $mbx | ForEach-Object { $mailbox = $_.Name $PrimarySMTPAddress = $([string]$_.PrimarySMTPAddress) $stats = Get-ActiveSyncDeviceStatistics -Mailbox $PrimarySMTPAddress | ?{$_.LastSuccessSync -gt (Get-Date).AddDays(-30)} if($stats){ foreach ($dev in $stats){ if ($dev.DeviceOS -like "iOS 6.*"){ $device = New-Object System.Object $device | Add-Member -type NoteProperty -name Mailbox -value $mailbox $device | Add-Member -type NoteProperty -name LastSuccessSync -value $dev.LastSuccessSync $device | Add-Member -type NoteProperty -name DeviceID -value $dev.DeviceOS $device | Add-Member -type NoteProperty -name DeviceID -value $([string]$dev.DeviceID) $device | Add-Member -type NoteProperty -name DeviceType -value $dev.DeviceType $device | Add-Member -type NoteProperty -name DeviceUserAgent -value $dev.DeviceUserAgent $device | Add-Member -type NoteProperty -name DeviceModel -value $dev.DeviceModel $device | Add-Member -type NoteProperty -name DeviceIMEI -value $([string]$dev.DeviceIMEI) $Report += $device } } } } $Report | Export-Csv $file_out -NoType
Jeżeli po uzyskaniu tych wszystkich informacji, nadal macie problem z urządzeniami z iOS 6.1 i użytkownicy nie chcą współpracować z Wami, mamy dla Was ostateczne rozwiązanie którym jest zablokowanie synchronizacji skrzynek poprzez urządzenia z iOS 6.1.
Możemy to łatwo wykonać poniższymi poleceniami, niemniej jednak jest to ostateczność, ponieważ blokujecie w ten sposób również „dobrych” użytkowników:
New-ActiveSyncDeviceAccessRule -querystring "iOS 6.1 10B141" -characteristic DeviceOS -accesslevel block New-ActiveSyncDeviceAccessRule -querystring "iOS 6.1 10B142" -characteristic DeviceOS -accesslevel block New-ActiveSyncDeviceAccessRule -querystring "iOS 6.1 10B143" -characteristic DeviceOS -accesslevel block New-ActiveSyncDeviceAccessRule -querystring "iOS 6.1 10B144" -characteristic DeviceOS -accesslevel block
Pingback:iOS 6.1 Exchange 2010 wzrost ilości transaction logs, użycia CPU i pamięci KB2814847 - ExchangeBlog
Pingback:iOS 6.1.2 naprawia problem z kalendarzem Exchange - ExchangeBlog