Freigeben über


Tip Powershell & Exchange 2010 Setup–Windows 2008 R2 prerequisites–Check all required Windows Features are installed

  1.  

  2. I- Ce post concerne l’installation de Exchange 2010 avec les rôles CAS, HUB,MAILBOX installés sur un serveur Windows 2008 R2

  3. Pour les informations complètes sur les prérequis pour les autres systèmes d’exploitation, voir l’aide en ligne de Exchange 2010 à l’adresse :

  4. https://technet.microsoft.com/en-us/library/bb691354.aspx

  5. Nous allons nous focaliser sur la partie de l’activation des additifs de Windows 2008 R2 pour l’installation d’un serveur Exchange 2010 hébergeant les rôles CAS, HUB et MAILBOX, la partie :

  6. Import-Module ServerManager

  7. Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy –Restart


    II- Vérifiez que les prérequis sont bien installés.

    - Pour cela, nous allons créer une variable PowerShell contenant la liste de tous les services censés être installés sur le serveur, comme suit :

    $WinFeat="Net-Framework","RSAT-ADDS","Web-Server","Web-Basic-Auth","Web-Windows-Auth","Web-Metabase","Web-Net-Ext","Web-Lgcy-Mgmt-Console","WAS-Process-Model","RSAT-Web-Server","Web-ISAPI-Ext","Web-Digest-Auth","Web-Dyn-Compression","NET-HTTP-Activation","RPC-Over-HTTP-Proxy"

    Cette variable sera donc automatiquement typée comme “tableau” ou “array”

    - Puis, pour chaque objet de la variable, nous allons lister le statut de l’installation.

    Note : le module “ServerManager” doit être chargé à chaque nouvelle session PowerShell. Si vous voulez que le module “ServerManager” soit chargé à chaque démarrage de session PowerShell, ajoutez la ligne “Import-Module” au niveau de votre profil PowerShell.

    Visitez la page https://msdn.microsoft.com/en-us/library/bb613488(VS.85).aspx pour plus d’informations sur les profils PowerShell

    $winFeat | ForEach-Object {get-WindowsFeature -Name $_}

    Display Name Name

    ------------ ----

    [X] .NET Framework 3.5.1 Features NET-Framework

    [X] AD DS Tools RSAT-ADDS

    [X] Web Server (IIS) Web-Server

    [X] Basic Authentication Web-Basic-Auth

    [X] Windows Authentication Web-Windows-Auth

    [X] IIS 6 Metabase Compatibility Web-Metabase

    [X] .NET Extensibility Web-Net-Ext

    [X] IIS 6 Management Console Web-Lgcy-Mgmt-Console

    [X] Process Model WAS-Process-Model

    [X] Web Server (IIS) Tools RSAT-Web-Server

    [X] ISAPI Extensions Web-ISAPI-Ext

    [X] Digest Authentication Web-Digest-Auth

    [X] Dynamic Content Compression Web-Dyn-Compression

    [X] HTTP Activation NET-HTTP-Activation

    [X] RPC over HTTP Proxy RPC-over-HTTP-Proxy


    III- Deuxième Vérification : vérifier le nombre de services installés !

    Pour vérifier que tous les objets sont bien listés, utilisez la propriétés de comptage des objets : (Nom de l’objet).Count

    Utilisez cette propriété pour la variable “Array” $WinFeat de notre exemple, ET AUSSI pour le nombre de résultats de la commande ForEach comme suite :

    ($WinFeat).count

    Résultat : 15

    ($winFeat | ForEach-Object {get-WindowsFeature -Name $_}).count

    Résultat : 15

    Pourquoi ? Simplement pour vérifier qu’aucune erreur de frappe n’a été commise au niveau de la liste des additions Windows de la variable $WinFeat. Si une erreur de frappe est commise (exemple j’ai fait l’erreur au niveau du dernier nom “RPC-Over-HTTP-Prox**u**”, la commande ForEach-Object ne m’a retourné que 14 objets …) cette astuce nous permettra donc d’éviter les erreurs bêtes au niveau de l’activation des prérequis de Windows pour Exchange 2010 !

    CQFD.

    Have fun !