bug

All posts tagged bug

Laten we de rotzooi veroorzaakt door iOS opruimen

21-2-2013: script is geupdate omdat er een } ontbrak waardoor het script niet correct functioneerde

Het kan je bijna niet ontgaan zijn het iOS probleem wat een grote impact heeft op Exchange omgevingen. Voor de ene omgeving zal het erger zijn als de andere omgeving en ook zullen beheerders op verschillende manieren actie hebben ondernomen.

Apple heeft gister een update voor iOS uitgebracht waarin het issue zou worden opgelost of dit daadwerkelijk zo is is op dit moment nog even afwachten. Echter zijn er nog geen negatieve berichten te lezen op internet dus het lijkt echt opgelost te zijn.

Opschoonproces

En nu? Veel Exchange omgevingen zijn door de bug in iOS vervuild geraakt. Nu het issue met iOS dus is opgelost is het tijd om een grote opschoonactie te houden.

Om het e.e.a. op te ruimen moeten we eerst inzichtelijk krijgen welke mailboxen daadwerkelijk last hebben van het issue. Hiervoor kan gebruik gemaakt worden van het Powershell cmdlet Get-MailboxStatistics met de volgende parameters Username, TotalItemSize en TotalDeletedItemSize.

Vervolgens kunnen we met deze output het item opzoeken wat het probleem veroorzaakt. Hiervoor kan gebruik gemaakt worden van het cmdlet Get-MailboxFolderStatistics. Omdat de items worden opgeslagen in de recoverableitems map van de mailbox dient dit als folderscope opgegeven te worden. Daarnaast dient de optie analysis opgegeven te worden. Hiermee kunnen we het item traceren wat het meest voorkomt in de recoverableitems map.

Om daadwerkelijk van het items af te komen kun je gebruik maken van het cmdlet search-mailbox.

IOS6 cleanup script

Zoals je merkt aardig wat stappen om de boel op te ruimen. Omdat dit voor grote omgevingen erg lastig is besloot ik een script te maken de betreffende mailboxen opzoekt, het probleem item opzoekt en het optioneel verwijderd. Het script doorzoekt de Exchange omgeving per database. Dit omdat ik in de praktijk heb gezien dat vooral het opschonen van de mailbox veel logging kan creëren. Dit laatste kan grote gevolgen hebben voor de storage, is er namelijk onvoldoende ruimte dan zal de database gedismount worden. Dit willen we uiteraard niet monitor daarom goed de beschikbare schijfruimte tijdens het opschoon proces.

Het script is te downloaden via het Technet ScriptCenter of via de link onderaan deze pagina.

In de huidige versie zijn de volgende functionaliteiten beschikbaar:

  • doorzoeken van de opgegeven database
  • rapport creëren van de gebruikers waarvan de deleted item size groter is dan een vooraf opgegeven waarde
  • rapport per gebruiker met daarin de output van de analyse
  • automatisch exporteren van het item naar een van te voren opgegeven mailbox en daarna verwijderen van het item uit de mailbox

Maar hoe moet je het script uitvoeren? Als eerst is het belangrijk om te weten welke parameters we kunnen gebruiken:

  • database, de naam van de mailboxdatabase die doorzocht moet worden
  • minsize, de minimale omvang van de deleted items
  • topsubjectcounter, hoevaak moet een items minstens voorkomen
  • autoclean, voert een search-mailbox uit en verwijderd het item na het geëxporteerd te hebben naar de opgegeven mailbox
  • userreport, moet er een rapport aangemaakt worden
  • targetmailbox, waar moeten de items naar geëxporteerd worden

Stel we willen de database MBDB01 doorzoeken waarvan de omvang van de deleted items meer dan 1 GB is. Vervolgens willen we de items die meer dan 1000 keer in de recoverableitems staan opschonen. Om ervoor te zorgen dat we ook een overzicht krijgen welke mailboxen worden opgeschoond willen we een rapport krijgen met daarin de betreffende gebruikers met daarin de totale mailbox omvang en de omvang van de deleted items.

Om bovenstaande uit te voeren dient het script als volgt uitgevoerd te worden:

.\IOS6.ps1 -database MBDB01 -minsize 1024 -topsubjectcount 1000 -autoclean $true -userreport $true

Disclaimer: het gebruiken van dit script is geheel op eigen risico. Door gebruik te maken van de autocleanup functionaliteit kan er data verloren gaan. Het is daarom aan te raden het script eerst in een test omgeving uit te proberen voordat het in een productieomgeving wordt gebruikt.

Tijdens het opschoon proces kan een grote hoeveelheid logging worden aangemaakt het is daarom noodzakelijk om de omgeving te monitoren wanneer dit wordt uitgevoerd.

Mocht je nog dingen missen in het script of vragen hebben stel deze dan gerust.

download script

Bij toeval tegen een bugje aangelopen in Exchange 2010. De issue doet zich alleen voor met Exchange 2010 en als de CAS servers zich in verschillende sites bevinden waartussen niet alle communicatie mogelijk is. Tot nu toe heb ik deze issue alleen gezien wanneer er in bijvoorbeeld het hoofdkantoor nog een CAS bijgezet wordt. Dit is dan in dit geval de 3rde CAS server in de Exchange 2010 omgeving.

Normaliter krijg je met get-owavirtualdirectory netjes een overzicht terug van alle CAS servers welke de OWA service aanbieden. Wanneer er echter geen RPC verkeer mogelijk is tussen de CAS servers in de diverse sites dan krijg je onderstaand resultaat:

Zoals je ziet geeft het commando netjes de eerste CAS server weer maar bij de tweede CAS gaat het verkeerd. Logisch want deze is niet te bereiken via RPC. Normaliter zou je verwachten dat de query wel op zoek gaat naar nog meer CAS servers, nou niet dus. Na contact met Microsoft werd bevestigd dat dit een bug is en dit in een toekomstige update wordt gefixt.

Workaround: zet RPC open

Chinese tekens in non-delivery reports

Ik weet het klinkt gek maar toch kan het, Chinese tekens in non-delivery reports. Na verder onderzoek viel ik van de ene verbazing in de andere, wanneer het betreffende mailtje werd uitgeprint was de tekst gewoon Nederlands.

Wanneer een zelfde mail werd gestuurd vanaf een Outlook 2003/2007 client was het probleem niet zichtbaar. Dus maar besloten om te gaan zoeken op internet en na wat zoeken kwam ik op het Technet forum terecht waar een vergelijken probleem werd gemeld.

Het probleem blijkt te worden veroorzaakt door een bugje in Outlook XP wat uiteraard niet meer gefixt gaat worden. Om even alles op een rijtje te zetten wanneer het probleem zich voordoet hieronder een kort overzicht:

  • mail-client is Outlook XP
  • komt alleen voor wanneer de NDR van het type HTML is
  • wanneer de mail wordt uitgeprint is de tekst gewoon leesbaar

Om dit probleem op te lossen dien je de Hub server te vertellen dat alle NDR’s verzonden moeten worden als plain-text NDR’s, dit kan door het volgende Powershell commando uit te voeren:

Get-TransportServer | Set-TransportServer –InternalDsnSendHtml $False

Een andere oplossing is natuurlijk Outlook updaten naar 2003 of hoger aangezien het probleem zich hier niet in voordoet.

Microsoft heeft vandaag rollup 4 uitgebracht voor Exchange Server 2007.  Het rollup pack bevat diverse fixes voor bugs in Exchange 2007 SP1 waaronder:

  • problemen met wildcard gebruik in certificaten
  • informatie in DSN berichten wordt niet altijd netjes weergeven
  • een attachment wordt onterecht weergeven in de body van het bericht

Voor een volledig overzicht van de lijst met fixes kun je op onderstaande site terecht, voor de patch zelf kun je klikken op de download link.

open
download

Leuk bugje Dreamweaver CS3

Dreamweaver CS3 

Tijdens het rotzooien met Dreamweaver liep ik net na het weekend tegen een leuk probleempje op. Bestanden die gemaakt waren met Dreamweaver waren niet meer te openen. Wanneer dit werd gedaan crashed Dreamweaver direct. Ik had wat extensions geinstalleerd dus deze maar eerst verwijdert, maar helaas geen oplossing. Dan maar eens even Googlen en er waren inderdaad meer mensen die het probleem ondervonden. Het probleem blijkt mogelijk te maken te hebben met de wintertijd die in de USA ook is aangepast. Een bug die niet boven water is gekomen tijdens het testen van de beta versie dus. De oplossing ervoor is eigenlijk redelijk simpel. Verwijder het bestand WinFileCache*.dat uit de application data\Adobe\Dreamweaver 9\Configuration directory en het probleem is verholpen. Mocht je Vista hebben draaien dan kun je het bestand vinden in AppData\Roaming\Adobe\Dreamweaver 9\Configuration