Friday, July 25, 2008

Exchange 2007 en Server 2008: De truuk met ServerManagerCmd.exe

Al eerder schreef ik over het voorbereiden van Server 2008 voor Exchange 2007 SP1. Daar liet ik een alternatieve manier zien om roles en features te installeren, namelijk met ServerManagerCmd.exe. Zo kun je PowerShell eenvoudig aanzetten met het commando:

ServerManagerCmd -i PowerShell

Maar die werkwijze houdt in dat je soms 8 keer een commando moet geven en 8 keer moet wachten tot de bewerking is uitgevoerd, wat heeft dat nou voor meerwaarde ten opzichte van Server Manager? In dit artikel wil ik een slimmere manier beschrijven: we gaan ServerManagerCmd.exe een xml-file voeren.

Even over ServerManagerCmd.exe, hiermee kun je roles, role services en features installeren en verwijderen. Daarnaast kan ServerManagerCmd.exe een overzicht geven van alle geïnstalleerde onderdelen. Voor het installeren van de feature PowerShell heb ik hierboven al een voorbeeld gegeven, het zal duidelijk zijn dat wanneer we de switch –i (install) vervangen door –r of –remove PowerShell van het systeem verwijderd zal worden. De derde optie is interessant, welke roles, role services en features zijn eigenlijk op het systeem geïnstalleerd? Dat doen we met:

ServerManagerCmd –q



Met de switch –q of –query krijgen we een semi-grafisch overzicht, als iets op het systeem is geïnstalleerd dan staat er een [X] voor en wordt de regel met een andere kleur weergegeven. Die output gaan we zometeen gebruiken dus maken we even een dump naar bestand:

ServerManagerCmd –q > query.txt



Vervolgens moeten we dus een xml-file maken waarin staat welke roles, role services en features we willen installeren. Dat betekent dat we eerst uit moeten zoeken of de componenten die we willen installeren een role, role service of feature zijn. Daartoe openen we de zojuist gemaakte query.txt, die ziet er ongeveer zo uit:

----- Roles -----
[ ] Active Directory Certificate Services [AD-Certificate]
..[ ] Certification Authority [ADCS-Cert-Authority]
..[ ] Certification Authority Web Enrollment [ADCS-Web-Enrollment]
----- Features -----
[ ] .NET Framework 3.0 Features [NET-Framework]
..[ ] .NET Framework 3.0 [NET-Framework-Core]

Wat we hier zien zijn 1 role (AD-Certificate), 2 role services (ADCS-Cert-Authority en ADCS-Web-Enrollment) en 2 features (NET-Framework en NET-Framework-Core). Ik hoop dat zo duidelijk is hoe je aan de lay-out kunt zien of iets een role, role service of een feature is.

De xml-file die we gaan maken heeft de volgende indeling:



In regel 1 staat onder andere wat ServerManagerCmd.exe moet doen, installeren of verwijderen. Op regel 2 tot 4 volgen de gewenste componenten. Goed, nu kunnen we onze eigen xml-file maken, sla hem op als bijvoorbeeld exchange.xml.



We kunnen het resultaat van onze noeste arbeid eerst testen door de –whatif switch te gebruiken, er worden nu nog geen wijzigingen doorgevoerd.

ServerManagerCmd –InputPath exchange.xml –whatif



Als alles er goed uitziet dan starten we de installatie met:

ServerManagerCmd –InputPath exchange.xml

En klaar is Kees! Tot slot nog een paar aanvullende opmerkingen:
  • We zien dat de server na de installatie een herstart nodig heeft, dit wordt veroorzaakt door de feature PowerShell. Desgewenst kunnen we dit automatiseren door de switch –restart toe te voegen aan ServerManagerCmd.exe.
  • In dit voorbeeld heb ik gekozen voor de componenten die nodig zijn voor een standaardinstallatie met de Client Access, Mailbox en Hub Transport rol. Wanneer je deze methode wilt gebruiken om bijvoorbeeld een aantal Hub Transport servers voor te bereiden dan hoef je veel minder te installeren. In dit artikel staat per rol uitgelegd welke componenten er nodig zijn.
  • Voor Outlook Anywhere heb je RPC-over-HTTP-proxy ook nodig.
  • De feature Active Directory Domain Services Tools (RSAT-ADDS) is alleen nodig als je op deze server het Active Directory schema en je domein(en) wilt voorbereiden voor Exchange 2007. Als dit niet je eerste Exchange 2007 server is dan kun je deze achterwege laten.
  • Kijk ook zeker even naar de Exchange 2007 System Requirements, dit is verplicht leesvoer wanneer je een Exchange 2007 omgeving wilt ontwerpen of de software gaat installeren.
Tot slot wens ik jullie veel plezier met Exchange 2007 SP1 en Windows Server 2008.