Friday, February 28, 2014

Een service starten op een remote computer met PowerShell

Dit is even een korte reminder, vooral voor mijzelf. Vandaag probeer ik de POP3 service te configureren op een remote Exchange 2007 server. Het besturingssysteem van de lokale en remote server is Server 2008 R2.

De service op Automatic zetten is eenvoudig:

Set-Service msExchangePOP3 -StartupType Automatic -ComputerName EX2007

Helaas heeft het Start-Service geen ComputerName parameter, hier moeten we een kleine omweg volgen:

(Get-WmiObject -Computer EX2007 Win32_Service -Filter "Name='msExchangePOP3'").InvokeMethod("StartService",$null)

Wednesday, February 26, 2014

PowerShell command logging view in Exchange 2013 SP1

Op een enkele config-file na vind het gehele beheer van Exchange 2007, 2010 en 2013 plaats in PowerShell. In Exchange 2007 en 2010 hadden we ook de Exchange Management Console, een MMC-console die je kon laten zien welke PowerShell cmdlets er onder de motorkap uitgevoerd werden. Een handig hulpmiddel om scripts te maken, te documenteren of gewoon om de Exchange cmdlets te leren.

Exchange 2013 wordt primair ontwikkeld voor Office 365, de MMC-console heeft hier dus geen prioriteit meer en kwam dan ook niet meer terug. Een groot deel van de features werden in het vernieuwde ECP toegevoegd: Exchange Admin Center. Helaas ontbrak hier de mogelijkheid om te kunnen zien welke PowerShell cmdlets er onder de motorkap uitgevoerd werden. De reden is dat er in EAC nogal wat truuks uitgehaald worden en de cmdlets en de gebruikte parameters soms wezenlijk afwijken van wat je zelf in EMS zou gebruiken.

In SP1 voor Exchange 2013 komt PowerShell command logging voor het eerst in EAC. Je kunt de viewer aanzetten door te klikken op het driehoekje rechtsboven, naast het vraagteken. Kies dan Show Command Logging:

image

De command log viewer laat alle gebruikte cmdlets realtime zien, als je een of meerdere regels selecteert zie je de output in het onderste vak. Deze output kun je copy and pasten voor hergebruik of documentatie.image

Af en toe ziet de output er wat cryptisch uit, bijvoorbeeld doordat het GUID wordt gebruikt om een object aan te duiden. Of door het veelvuldig gebruik van de –ReadFromDomainController parameter, die in onze eigen omgevingen wat minder relevant is dan voor gebruik in Office 365 waar min of meer dezelfde versie van Exchange gebruikt wordt.

Al met al is Command Logging een mooie aanvulling op het EAC.

Exchange 2013 OWA cross-site silent redirection gerepareerd

Wanneer je OWA in meerdere sites hebt met elk een eigen ExternalURL dan kan het gebeuren dat een gebruiker inlogt op https://europa.domain.com/owa terwijl zijn mailbox op een server staat in de site met de url https://amerika.domain.com/owa. Je zou dan verwachten dat hij stilletjes doorgestuurd wordt naar de goed url en dat is precies wat stuk gegaan is in CU3. In plaats daarvan krijgt de gebruiker nu een forward-pagina met de nieuwe url die de gebruiker aan moet klikken.

Dit probleem is opgelost in Exchange 2013 SP1. Zie voor meer informatie: Outlook Web App cross-site silent redirection does not work in Exchange Server 2013

Tuesday, February 25, 2014

Setup can't continue with the upgrade because the mscorsvw has open files

Bij de upgrade naar Exchange 2013 SP1 kun je tijdens de Readyness Checks tegen de volgende foutmelding aanlopen:

Setup can't continue with the upgrade because the mscorsvw (4112) has open files.

image 

Het getal tussen de haakjes, hier 4112, is iedere keer anders. Sterker nog, wanneer je op de retry-knop drukt dan kan dezelfde melding verschijnen maar nu met een ander proces-ID.

De oorzaak hiervan is de .Net Runtime Optimization Service, zo is ook te zien in de Task Manager:

image

Voor een uitgebreide uitleg verwijs ik je naar dit artikel: Wondering why mscorsvw.exe has high CPU usage? You can speed it up. In het kort komt het er op neer dat deze service belangrijk werk doet om je server sneller te laten werken. Dat neemt niet weg dat hij ons op dit moment in de weg zit omdat we de setup van Exchange niet kunnen vervolgenm. We kunnen rustig afwachten of het proces dwingen om snel af te ronden, dat laatste kunnen we oplossen met het volgende commando:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems

image

Nu kunnen we de Readiness Checks opnieuw laten uitvoeren en zal deze foutmelding niet meer optreden.

Exchange en ondersteuning van Server 2012 R2

Het afgelopen jaar heb ik veel verbaasde mensen getroffen die ontdekten dat ze Exchange nog niet konden installeren op Windows Server 2012 R2. Dat je zelfs je domain controllers nog niet naar R2 mag upgraden als je Exchange in je omgeving hebt.

Vandaag is daar verandering in gekomen en wordt Windows Server 2012 R2 ondersteund als OS om Exchange op te installeren en nu ook als het OS waar je domain controllers op draaien. Let op: dit betreft alleen Exchange 2013 SP1 en hoger.

Zie voor meer informatie de bijgewerkte Exchange Server Supportability Matrix.

Exchange 2013 SP1 uitgebracht

Een jaar en drie maanden na het uitkomen van Exchange 2013 is daar dan het eerste Service Pack: Exchange 2013 Service Pack 1. Oorspronkelijk plande Microsoft om elk kwartaal een grote verzamelupdate uit te brengen, de Cumulative Updates. Dit plan is maar deels gehaald want het zijn er drie geworden, SP1 kan dan ook wel gezien worden als de 4e CU.

Belangrijkste highlights voor SP1 zijn onder andere:

  • Terugkeer van de Edge Transport rol
  • Ondersteuning voor Server 2012 R2
  • PowerShell command logging in EAC
  • MAPI-HTTP protocol
  • Vele fixes en kleinere verbeteringen

En natuurlijk zijn er veel organisaties die producten pas in productie nemen na het uitkomen van het eerste Service Pack, het idee is dat de kinderziektes er dan wel uit zullen zijn. En gezien Microsofts recente historie met betrekking tot quality control valt daar wel wat voor te zeggen.

Over een aantal van de nieuwe features zal ik binnenkort meer bloggen. En uiteraard houd ik ook bij welke issues er gemeld worden door early adopters van SP1.

Download Exchange 2013 SP1

Bijbehorende KB-artikel

Release Notes

SendOnBehalfOfItemsCopiedTo configureren op alle Exchange 2010 mailboxen

Een vraag uit de community:
Uiteraard kan dat want we hebben de Exchange Management Shell tot onze beschikking. De SendOnBehalfOfItemsCopiedTo parameter kunnen we zetten met het Set-MailboxSentItemsConfiguration cmdlet. Om deze voor een gebruiker op Sender te zetten bijvoorbeeld:

Set-MailboxSentItemsConfiguration –Identity NaamMailbox –SendOnBehalfOfItemsCopiedTo Sender

Of op SenderAndFrom:
Set-MailboxSentItemsConfiguration –Identity NaamMailbox –SendOnBehalfOfItemsCopiedTo SenderAndFrom

Of in dit geval bij alle mailboxen in de omgeving:
Get-Mailbox –Resultsize Unlimited –RecipientTypeDetails UserMailbox | Set-MailboxSentItemsConfiguration –SendOnBehalfOfItemsCopiedTo SenderAndFrom

Friday, February 21, 2014

Exchange en virusscanners: denk aan de exclusions!

Naast het scannen van inkomende en uitgaande mailberichten op virussen of bestaande items in een database, installeren veel klanten ook een file-level antivirus programma op servers met Exchange. Over nut en noodzaak hiervan wik ik het nu niet hebben, dat hangt van de specifieke situatie en eigen voorkeuren af.

Wel is het essentieel om een aantal bestandstypen, directories en processen uit te sluiten van virusscanning. Microsoft heeft op TechNet duidelijk beschreven om welke bestanden en dergelijke het precies gaat:

Exchange 2013: Anti-Virus Software in the Operating System on Exchange Servers

Exchange 2010: File-Level Antivirus Scanning on Exchange 2010

Exchange 2007: File-Level Antivirus Scanning on Exchange 2007

Best practice is dan ook om in de beheeromgeving van je antivirussoftware eerst een policy voor de Exchange-server te maken en dan de client pas op de server te installeren.

image

Issue met mailbox moves in Exchange 2010 SP3

De laatste tijd melden verschillende mensen een issue met het moven van mailboxen in Exchange 2010 SP3. Het move request komt dan in de queue te staan maar stokt op 0%, zonder duidelijke foutmelding. Inmiddels heeft Microsoft dit probleem omschreven in het volgende KB-artikel:

Cannot move a mailbox after you install Exchange Server 2010 SP3 RU3 (KB2891587)

Het artikel bevat ook twee redelijke simpele work-arounds, hiermee zou iedereen uit de voeten moeten kunnen.

Wednesday, February 19, 2014

Office 365 SharePoint Online beheren met PowerShell

image

Het beheer van SharePoint Online in Office 365 kan volledig webbased in de standaard SharePoint interface. SharePoint biedt zeer veel configuratiemogelijkheden maar mist een handige navigatie, het zijn vooral lange lijsten met tekstlinks. Als je dit niet dagelijks doet dan raak je al snel de weg kwijt dus is het zaak om goed te documenteren op welke manier je een aanpassing hebt doorgevoerd.

Ook bij herhalende taken, bijvoorbeeld het aanmaken van een aantal subsites is het veel klikken en vooral nauwkeurig werken zodat je bij het aanmaken van site nummer 4 niet een optie vergeet.

Het goede nieuws is dat je voor SharePoint Online ook terug kunt vallen op PowerShell. Download hiervoor de SharePoint Online Management Shell en installeer deze op je computer. Maak nu verbinding met je SharePoint Online Administration Center als volgt:

Connect-SPOService -Url https://mijnorg-admin.sharepoint.com -credential admin@mijnorg.com

image

Enigszins teleurstellend is dat we maar 30 cmdlets tot onze beschikking krijgen, dat is inclusief de twee cmdlets om verbinding te maken met de service of om deze weer te verbreken. In de praktijk is deze PowerShell alleen geschikt voor zeer basale bewerkingen zoals bijvoorbeeld het werken met gebruikers, groepen en permissies. Het kopiëren van sites of werken met Apps is voor SharePoint Online niet mogelijk met PowerShell.

Snel verkennen van de mogelijkheden doe je met de Windows PowerShell for SharePoint Command Builder. Kies rechtsboven onder Products voor SharePoint Online:

image 

Meer leren van wat je dan wel precies kunt? Dat lees je in de Windows PowerShell for SharePoint Online reference.

Monday, February 17, 2014

Hoe schakel ik Meeting Forward Notifications uit?

Wanneer je in een Exchange-omgeving een vergadering organiseert probeert Exchange je zo goed mogelijk op de hoogte te houden. Wanneer iemand zijn uitnodiging doorstuurt bijvoorbeeld dan wordt je daar als organisator van op de hoogte gebracht.

image

Soms is dat wenselijk, soms wordt het juist als storend ervaren. Voor mensen die deze notificatie liever niet zien is het ook mogelijk om deze uit te schakelen. Of beter gezegd: om deze automatisch naar Deleted Items te verplaatsen na binnenkomst.

Bij Exchange 2010 en 2013 doen we dit als volgt, eerst voor een enkele gebruiker en daarna voor alle mailboxen:

Get-Mailbox –Identity JanJansen | Set-CalendarProcessing -RemoveForwardedMeetingNotifications:$true

Get-Mailbox -Resultsize Unlimited | Set-CalendarProcessing -RemoveForwardedMeetingNotifications:$true

Bij Exchange 2007 doen we dit op vergelijkbare wijze maar dan met het Set-MailboxCalendarSettings cmdlet:

Get-Mailbox -Resultsize Unlimited | Set-MailboxCalendarSettings -RemoveForwardedMeetingNotifications:$true

Als je leest op blogs en forums dan kom je nog wel wat verwarrende informatie tegen, er wordt bijvoorbeeld verwezen naar Remote Domains en de suggestie wordt soms gewekt dat je hiermee op globaal niveau kunt bepalen of deze Meeting Forward Notification wel of niet ontvangen wordt. Dit is helaas niet correct, dit blijft een per-user setting en alleen als je Remote Domains in je omgeving gedefinieerd hebt kun je bepalen of deze notificaties ook naar deze remote domains gestuurd worden. Bijvoorbeeld:

Set-RemoteDomain –Identity OnzePartner.com –MeetingForwardNotificationEnabled:$false

In alle andere gevallen gebruiken we de methode hierboven.

Als alternatief zou je nog kunnen overwegen om Cmdlet Extension Agents te gebruiken. Hiermee kun je bovenstaande aanpassing standaard uit laten voeren als je net New-Mailbox of Enable-Mailbox cmdlet gebruikt. Michel de Rooij heeft een paar mooie artikelen geschreven over dit onderwerp.

Friday, February 14, 2014

MigrationWiz: Maximum item error count exceeded

Bij een mailmigratie lukt het zelden om 100% van alle data over te krijgen, met name bij een migratie van platformen zoals Lotus Domino/Notes of Novell GroupWise zitten er altijd wel een paar corrupte items tussen. Zo kan het dus ook voorkomen dat een migratie met MigrationWiz stopt met de foutmelding Maximum item error count exceeded.

image

Bij het overzicht van de mailboxen blijkt al snel waar dit maximum op staat, kijk maar onder de kolom Errors:

image

Gelukkig kunnen we deze limiet zelf aanpassen, dit doen we bij de Advanced Properties van de Connector.

image

Onder het kopje Performance vinden we de optie Max. Errors per Migration. Deze staat standaard op 100 en aangezien mijn probleemmailbox bijna klaar was zet ik hem op 750. Dat moet voldoende zijn om de migratie van deze mailbox af te kunnen maken.

imageIs dit in alle gevallen verstandig? Dat hangt er een beetje vanaf. In dit geval gaat het om twee zeer oude mailboxen van een Lotus Notes omgeving. In totaal gaat het om honderduizenden items die soms al meer dan 10 jaar oud zijn. Door die jaren heen hebben de Domino servers verschillende upgrades gekregen en kan er best eens wat misgegaan zijn.

Het beste is om in zo’n geval steekproefsgewijs te kijken om wat voor items het gaat. In veel gevallen zal een gewone client deze ook niet meer kunnen openen, waarschijnlijk om dezelfde redenen dat de migratiesoftware ze niet kan lezen. Ook moet het aantal niet te migreren items enigszins in verhouding staan met het totaal aantal items.

In ieder geval was ik met bovenstaande instelling in staat om de mailboxmigratie af te ronden.

Nieuwe firmware voor KEMP LoadMaster: 7.0-12a

KEMP heeft een nieuwe versie van de firmware voor de LoadMaster uitgebracht. Versie 7.0-12a bevat weer een aantal interessante verbeteringen, hieronder een korte samenvatting van de highlights.

SSL support

De performance van SSL is verbeterd en er nu ook ondersteuning voor TLS 1.2, zelf te kiezen ciphers en SNI. Vooral die laatste is interessant, SNI biedt de mogelijkheid om meerdere servernamen te publiceren over SSL op het zelfde IP-adres zonder dat deze namen allemaal in één SSL certificaat hoeven te zitten.
image

Verbeterde ALSI

ALSI (Automated Licensing Support Infrastructure) is een wat cryptische benaming en staat voor het nieuwe online licensing model waarbij je niet meer hoeft te klungelen met het heen en weer mailen van license keys. In deze versie is dit mechanisme verder aangepast en wordt in het hoofdscherm meer informatie over je licentie getoond:
image

Support voor nieuwe platformen

De virtuele applicance VLM is er nu ook voor vSphere 5.5 en Windows Server 2012 R2 Hyper-V. Misschien nog wel interessanter zijn de releases voor HP rackservers en Oracle Sun:
  • LoadMaster for HP ProLiant servers
  • LoadMaster for Oracle Sun x86

Edge Security Pack

ESP is de reverse proxy functionaliteit van de LoadMaster, initieel bedoeld als vervanging van Forefront TMG. In de praktijk blijkt deze opstelling wat problematisch wanneer gekozen wordt voor Forms Based Authentication (FBA) op de LoadMaster. De sessie van de gebruiker kan na 15 minuten beëindigd worden wat vergelijkbaar is met de oude ‘Public’ setting maar de beheerder heeft niet de mogelijkheid om deze te waarde te verhogen of om de gebruiker te laten kiezen tussen Private of Public.
In deze release heeft de beheerder enige controle over de timeouts gekregen waarmee het ESP in combinatie met FBA een stuk bruikbaarder is geworden. Je vindt deze instellingen bij de eigenschappen van het SSO domain:
image
Dis is nog niet de volgende versie van ESP, versie 2.0 van ESP komt naar verwachting met firmware update 7.0-14.
Firmware updates zijn beschikbaar voor iedereen met een geldig BASIC of PREMIUM support overeenkomst, je kunt de update in bezig krijgen via KEMP Support.

Tuesday, February 4, 2014

Welke attributen synchroniseren naar Azure/Office 365?

Wanneer je bij een Office 365 implementatie kiest voor integratie met je eigen Active Directory omgeving dan kom je al snel uit bij Microsofts Windows Azure Active Directory Sync tool, kortweg DirSync. Deze tool is gratis voor gebruik met Azure AD of Office 365 en is onder de motorkap gewoon gebaseerd op Forefront Identity Manager 2010.

Voor veel organisaties is het belangrijk om inzicht te hebben in welke attributen precies gekopieerd worden naar de cloud. En er zijn ook enkele attributen die vanuit de cloud naar de eigen AD worden weggeschreven, onder andere om ‘offboarding’ makkelijker te maken. Microsoft heeft hiervoor een KB-artikel geschreven met een volledig overzicht. Deze vind je hier:

List of attributes that are synced by the Windows Azure Active Directory Sync tool

image