Office Servers and Services

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Archive for décembre 2011

Redirection IIS par Script de la racine vers le Vdir « OWA »

Posted by David PEKMEZ sur décembre 21, 2011


Bonjour,

J’avais déjà fait un article à ce sujet il y a un an déjà ! https://unifiedit.wordpress.com/2010/12/04/iis-redirection-vers-owa-exchange-server-2010-2/

Le but est de rediriger les requêtes de la racine du Serveur IIS

Et voici le script Powershell qui va vous aider à configurer correctement vos serveurs Exchange

Le principe est très simple, vous avez deux paramètres à renseigner :

  • Le premier est l’URL de redirection que vous désirez utiliser exemple : https://unifiedit.wordpress.com/owa
  • Le second paramètre est l’utilisation ou non du SSL pour l’accès au téléchargement de l’OAB dans votre infrastructure, ici vous pouvez utiliser au choix :
    • http
    • https

Pour de plus amples informations sur l’utilisation du script vous pouvez utiliser le paramètre – ?

Exemple d’utilisation du script :


.\IISRedirect.ps1 -URLRedirect "https://exchsp2DCFR.intra.net/owa" -OAB HTTP

Code source

#=================================================================================
#	IISRedirect.ps1
#
#	THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
#	KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
#	IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
#	PARTICULAR PURPOSE.
#	
#	Description:  Redirect IIS to a Vdir Directory
#
#	# Script Written By: David Pekmez ( https://unifiedit.wordpress.com )
#
#	Version: 1
#	Last Updated: 08/12/2011
#
#=================================================================================


#=================================================================================
# Parameter definition
#=================================================================================

Param(
	[Parameter(Mandatory=$true, Position=0, HelpMessage="Please Enter the redirection URL",ValueFromPipeline=$true)][string] $URLRedirect,
	[Parameter(Mandatory=$true, Position=1, HelpMessage="Please Enter HTTP or HTTPS for OAB Access",ValueFromPipeline=$true)][string] $OAB
)

#=================================================================================
# OAB Access HTTP or HTTPS
#=================================================================================

if ($OAB -eq "HTTP")    {
    [string]$OABConf = ""
}    else    {
    [string]$OABConf = "Ssl"
}

#=================================================================================
# Add Exchange 2010 Powershell Snapin
#=================================================================================

if ( (Get-PSSnapin -Name Microsoft.Exchange.Management.PowerShell.E2010 -ErrorAction SilentlyContinue) -eq $null )
{
    Add-PsSnapin Microsoft.Exchange.Management.PowerShell.E2010
}

#==========================================================================
# Function that returns true if the incoming argument is a help request
#==========================================================================

function IsHelpRequest
{
param($argument)
return ($argument -eq "-?");
}

#==========================================================================
# Function Debug
#==========================================================================
function Debug([string]$data)
{
$var = $null
$var = get-variable($data) -ea SilentlyContinue

	if ($var)
	{
	write-host "DEBUG: " -foregroundcolor cyan -nonewline
	write-host $var.name "  " -nonewline
	write-host "[$var.value]"
	}
	else
	{
	write-host "DEBUG: " -foregroundcolor cyan -nonewline
	write-host "[$data]"
	}
	
}


#=======================================
# Reset IIS on the server
#=======================================
function ResetIIS
{

Write-Host "Restarting IIS Services..." -foregroundcolor Green

IISRESET

Write-Host ""
Write-Host "Redirection set to $URLRedirect and $OAB for OAB Access" -foregroundcolor green
Write-Host ""
}

#===================================================================
# Function that displays the help related to this script following
# the same format provided by get-help or <cmdletcall> -?
#===================================================================
function Usage
{

@"
NAME: IISRedirect.ps1

SYNOPSIS:
Add a redirection on IIS default web site to another Virtual directory 
Made for Exchange Server to redirect to OWA directory

SYNTAX:
IISRedirect.ps1

`t[-URLRedirect <Redirection URL>]
`t[-OAB <HTTP or HTTPS>]
`t[-?]

PARAMETERS:
-URLRedirect (Requiered)
Enter the IIS redirection URL to use

-OAB (Requiered)
Set OAB access to HTTP Or HTTPS

-?
Help on usage

-------------------------- EXAMPLE --------------------------

.\IISRedirect.ps1 -URLRedirect "https://unifiedit.intra.net/owa" -OAB HTTP

"@
}	

#=============================================================================================
# Redirection
# More information http://www.iis.net/ConfigReference/system.webServer/httpRedirect
# Note: You must be sure to set the commit parameter to apphost when you use AppCmd.exe 
# to configure these settings. This commits the configuration settings to the appropriate 
# location section in the ApplicationHost.config file
#=============================================================================================

Write-host ""
Write-host "IIS Config is starting ... " -foregroundcolor Green
Write-host ""

Set-Location "$env:windir\System32\inetsrv"

.\appcmd.exe set config "Default Web Site" -section:system.webServer/httpRedirect /exactDestination:"False" /childonly:true /enabled:"True" /destination:$URLRedirect

.\appcmd.exe set config "Default Web Site/Aspnet_Client" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Autodiscover" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/EWS" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/ECP" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/OWA" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/PowerShell" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/OAB" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/Rpc" -section:system.webServer/httpRedirect /enabled:false /commit:apphost
.\appcmd.exe set config "Default Web Site/RpcWithCert" -section:system.webServer/httpRedirect /enabled:false /commit:apphost

Write-host ""
Write-host "Redirection HTTP Done .. " -foregroundcolor Green
Write-host ""

#====================================================================================
# Suppress SSL on "Default Web Site"
# More information http://www.iis.net/ConfigReference/system.webServer/security/access
# Note: You must be sure to set the commit parameter to apphost when you use AppCmd.exe 
# to configure these settings. This commits the configuration settings to the appropriate 
# location section in the ApplicationHost.config file
#====================================================================================

Set-Location "$env:windir\System32\inetsrv"

# Unlock IIS Config
.\appcmd.exe unlock config -section:system.webServer/security/access

Write-Host ""
Write-Host "IIS Unlock Security Access Done ...." -foregroundcolor green
Write-Host "Setting SSLFlags now ..." -foregroundcolor green
Write-Host ""


.\appcmd.exe set config "Default Web Site" -section:system.webServer/security/access /sslFlags:""
.\appcmd.exe set config "Default Web Site/Aspnet_Client" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/Autodiscover" -section:system.webServer/security/access  /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/EWS" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/ECP" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/OWA" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"
.\appcmd.exe set config "Default Web Site/PowerShell" -section:system.webServer/security/access /sslFlags:""
# OAB conf is set to HTTP or HTTPS
.\appcmd.exe set config "Default Web Site/OAB" -section:system.webServer/security/access /sslFlags:$OABConf
.\appcmd.exe set config "Default Web Site/Rpc" -section:system.webServer/security/access /sslFlags:"Ssl"
.\appcmd.exe set config "Default Web Site/RpcWithCert" -section:system.webServer/security/access /sslFlags:"Ssl,Ssl128"

If ($OAB -eq "HTTP")
{
Write-Host ""
Write-Host "OAB Vdir is set to HTTP so all the infrastructure must be set to HTTP for OAB access" -foregroundcolor yellow
Write-Host ""
}
Else
{
Write-Host ""
Write-Host "OAB Vdir is set to HTTPS so all the infrastructure must be set to HTTPS for OAB access" -foregroundcolor yellow
Write-Host ""
}

#==================================================================================================
# Change security settings on the web.config file that lost the Authenticated User permissions
# The Web.config file will be created during the IIS Redirection setup
#==================================================================================================


# get file web.config path and set the right permissions if exists

$setupRegistryPath = Get-ItemProperty -path 'HKLM:SOFTWARE\Microsoft\ExchangeServer\v14\Setup' 
$exchangeInstallPath = $setupRegistryPath.MsiInstallPath 
$WebConfigFile = ($exchangeInstallPath)+"ClientAccess\OAB\web.config"
$FileExists = Test-Path $WebConfigFile
$ErrorActionPreference = "Stop"

# Authenticated Users Group SID = S-1-5-11
# a "*" is added before the SID because icacls needs it when using SIDs

$Group = "*S-1-5-11"
$GrantPerm = icacls $WebConfigFile /grant:R $Group':R'

# Set Permissions on Web.Config file giving Read Access to Anthenticated Users Group

If ($FileExists -eq $True)
{
$GrantPerm
Write-Host ""
Write-Host "Security Settings on Web.Config file Done " -foregroundcolor green
Write-Host ""
}
	
Else {Write-Host "The Web.config File is not present in Directory: $exchangeInstallPath" -foregroundcolor red}

#==================================================================================================
# IISReset
#==================================================================================================

ResetIIS  

Ce script est en téléchargement via le lien : IISRedirect.zip

Hope this Help !

David Pekmez

Posted in Exchange Server 2010, Outils-2010, script | Leave a Comment »

Ou trouver Lync Mobile ?

Posted by David PEKMEZ sur décembre 19, 2011


Petit post pour référencer les liens de téléchargement du client Lync mobile !

La page de référence : http://lync.microsoft.com/en-us/Product/UserInterfaces/Pages/lync-2010-mobile.aspx

Windows Phone: http://www.windowsphone.com/en-US/apps/9ce93e51-5b35-e011-854c-00237de2db9e

Android : https://market.android.com/details?id=com.microsoft.office.lync

IPad et IPhone : Coming soon .. je ferais une update de ce post lors de leur sortie

David Pekmez

Posted in Lync 2010 | Leave a Comment »

The Remote UC Troubleshooting Tool

Posted by David PEKMEZ sur décembre 18, 2011


Encore une présentation d’un outil super sympa pour Lync Server 2010 !

Il vous aidera notamment à diagnostiquer les problématiques liées aux certificats ou aux noms DNS utilisés, très pratique donc !

Exemple d’utilisation


Détail de l’utilisation ci-dessous

http://www.insideocs.com/Tools/RUCT/RUCT.htm

Outil : The Remote UC Troubleshooting Tool

Auteur : Curtis Johnstone, Architecte chez Quest Software et MVP Microsoft

Site Web:

Posted in Lync 2010, Outils-2010 | Leave a Comment »

Exchange 2010 SP2 – GAL Segmentation (ABP) – Implementation

Posted by Anthony Costeseque sur décembre 7, 2011


Suite au billet de David voyons comment mettre tout cela en place !

La première étape va consister à diviser votre organisation (virtuelle)

Pour cela vous avez un certain nombre d’options à votre disposition, qui consiste à :

  1. Créer des OU dans votre AD pour séparer les utilisateurs


Ici sous utilisateurs j’ai créé des OU par société

  1. Personnaliser les attributs LDAP d’un objet « mail enabled »

En règle générale nous utiliserons les attributs de l’onglet organisation d’un objet mail enabled : Société, Département ou encore Region.


Ou encore les attributs personnalisés (vous en avez 15 pour faire ce que vous voulez !)


(Onglet General > Attributs personnalisés)

Maintenant comment mettre cela en place rapidement ?

2 méthodes :

Si vous avez une faible population de personnes vous pouvez mettre à jours les attributs à la main.

Si vous avez un nombre d’utilisateurs important, ou que vous aimez gagner du temps ! PowerShell est là 🙂 il faudra sélectionner les bon utilisateurs (grâce aux OU) puis mettre à jour les attributs

Get-Mailbox -OrganizationalUnit ‘NomDeLOU’ | Set-User -Company ‘CeQueVousVoulez’

Get-Mailbox -OrganizationalUnit ‘NomDeLOU’ | Set-User -Department ‘CeQueVousVoulez’

Simple non ? 🙂 Ici nous avons pris tous les objets mail enabled de l’OU NomDeLOU et nous avons changé l’attribut Société (company) ou encore le Service (department) avec le nom de la société que vous voulez

Petite différence pour les attributs personnalisés nous utiliserons Set-Mailbox (avec CustomAttributeX ou X est compris entre 1 et 15)

Get-Mailbox -OrganizationalUnit ‘NomDeLOU’ | Set-Mailbox -CustomAttribute1 ‘CeQueVousVoulez’

Il vous reste à répéter le process pour toutes les sociétés que vous voulez mettre en place.

Maintenant nous avons un attribut ou des attributs nous permettant de filtrer nos utilisateurs.

La deuxième étape va consister à créer les AL (Address List), les GAL (Global Address List) et les OAB (Offline Address Book)

Ici il est recommandé d’utiliser des vrai filtres LDAP donc PowerShell uniquement pas de EMC (la console) possible :p (l’exemple est sur une installation française, il faudra adapter « -Container » en fonction de votre langue d’installation)

On commence par les AL Classique, nous allons créer :

1 AL pour tous les Utilisateurs et les Listes de distribution

New-AddressList -Name « AL_Societe1_Users_DGs » -RecipientFilter {(((RecipientType -eq ‘UserMailbox’) -or (((RecipientType -eq ‘MailUniversalDistributionGroup’) -or (RecipientType -eq ‘MailUniversalSecurityGroup’) -or (RecipientType -eq ‘MailNonUniversalGroup’) -or (RecipientType -eq ‘DynamicDistributionGroup’))))) -and (Company -eq ‘Societe1’)} -Container ‘\Tous les utilisateurs’ -DisplayName ‘Tous les utilisateus Societe1’

Update-AddressList ‘AL_Societe1_Users_DGs’

1 AL pour les contacts

New-AddressList -Name « AL_Societe1_Contacts » -RecipientFilter {((RecipientType -eq ‘MailContact’) -and (Company -eq ‘Societe1’))} -Container ‘\Tous les contacts’ -DisplayName ‘Tous les contacts Societe1’

Update-AddressList ‘AL_Societe1_Contacts’

1 AL pour les salles (mailbox de type ressource) obligatoire si vous n’en avez pas il faudra en créer une blank !

Pour la version vide

New-AddressList -Name AL_BlankRoom -RecipientFilter {((Alias -ne $null) -and ((RecipientDisplayType -eq ‘ConferenceRoomMailbox’) -or (RecipientDisplayType -eq ‘SyncedConferenceRoomMailbox’)))} -Container ‘\Toutes les salles’ -DisplayName ‘Toutes les salles Societe1’

Update-AddressList ‘AL_BlankRoom’

Pour la version non vide

New-AddressList -Name « AL_Societe1_Rooms » -RecipientFilter {(Alias -ne $null) -and (Company -eq ‘Societe1’) -and (RecipientDisplayType -eq ‘ConferenceRoomMailbox’) -or (RecipientDisplayType -eq ‘SyncedConferenceRoomMailbox’)} -Container ‘\Toutes les salles’ -DisplayName ‘Toutes les salles Societe1’

Update-AddressList ‘AL_Societe1_Rooms’

1 GAL

New-GlobalAddressList -Name « Global Address List Societe1 » -RecipientFilter {(Company -eq ‘Societe1’)}     

1 OAB

New-OfflineAddressBook -Name « OAB_Societe1 » -AddressLists « Global Address List Societe1 »

Il vous reste à répéter le process pour toutes les sociétés que vous voulez mettre en place.

La troisième étape va consister à créer les ABP (Address Book Policies)

Pour la version sans room

New-AddressBookPolicy -Name « ABP_Societe1 » -AddressLists « AL_Societe1_Users_DGs », »AL_Societe1_Contacts » -OfflineAddressBook « \OAB_Societe1 » -GlobalAddressList « \Global Address List Societe1 » -RoomList « \Toutes les salles\AL_BlankRoom »

Pour la version avec room

New-AddressBookPolicy -Name « ABP_Societe1 » -AddressLists « AL_Societe1_Users_DGs », »AL_Societe1_Contacts » -OfflineAddressBook « \OAB_Societe1 » -GlobalAddressList « \Global Address List Societe1 » -RoomList « \Toutes les salles\AL_Societe1_Rooms »

Il vous reste à répéter le process pour toutes les sociétés que vous voulez mettre en place.

Et la quatrième et dernière étape va consister a appliquer la policy aux utilisateurs

Get-Mailbox -OrganizationalUnit ‘NomDeLOU’ | Set-Mailbox -AddressBookPolicy « ABP_Societe1 »

Il vous reste à répéter le process pour toutes les sociétés que vous voulez mettre en place.

Pour verifier :

Get-Mailbox -OrganizationalUnit ‘NomDeLOU’ | fl Name,AddressBookPolicy

Il faudra ensuite fermer le client de l’utilisateur s’il est en train d’utiliser Outlook !

TRES IMPORTANT : Cela ne fonctionne pas si votre serveur exchange fait aussi DC et sur tout Global Catalogue car à ce moment-là c’est Name Service Provider Interface (NSPI) et non Microsoft Exchange Address Book service qui est utilisé pour les recherches ! (NSPI passe au-dessus des ABP)

EDIT (09/12/11) : suite au message de Julien Ohayon qui m’a remonté un problème de typo due à la réinterprétation du code par WordPress du code PowerShell je vous joint une capture d’écran et un fichier txt avec les commandes.



Le fichier texte

https://skydrive.live.com/redir.aspx?cid=2baad2dff0402075&resid=2BAAD2DFF0402075!1024&parid=2BAAD2DFF0402075!114

Pour toutes questions n’hésitez pas.

Anthony COSTESEQUE

Posted in 1-EXCHANGE 2010, Exchange 2010 SP2, Exchange Server 2010 | 14 Comments »

Exchange Server 2010 SP2 : la Segmentation est de retour !

Posted by David PEKMEZ sur décembre 7, 2011


Bonjour,

Avec l’arrivée du service pack 2 d’Exchange Server 2010, revient le principe de segmentation des listes d’adresses, mais par la grande porte 😉

Le nouveau principe mis en place par les équipes produit est d’une simplicité et d’une efficacité redoutable !

En effet cette segmentation repose sur deux principes :

  • La création de listes d’adresses, Global Address list, OAB filtrés pour ne contenir que les utilisateurs désirés)
  • L’application d’une stratégie aux utilisateurs, permettant de se voir affecter les objets contenus dans la stratégie.

Le schéma ci-dessous représente un des scénarios cibles possible à savoir deux sociétés hébergées sur la même infrastructure mais totalement hermétiques l’une de l’autre, en termes de partage de données (Listes d’adresses etc …)

Ce besoin peut être appliqué à d’autres scénarios tel que :

  • Au sein de la même société filtrer qui voit telle ou telle liste d’adresses, segmenter pour des raisons pratiques, légales, ou de sécurité
  • Bien entendu cette nouvelle fonctionnalité répond parfaitement aux besoins des hébergeurs, pouvant ainsi très simplement proposer un environnement Exchange hermétique et pourtant mutualisé


Les règles d’application reposent sur une stratégie, contenant les objets devant être vus de l’utilisateur, appliquée à tel ou tel utilisateur


L’opération de mise en place va donc consister en :

  • La création des objets Exchange GAL, Address lists, OAB …)
  • La création des Address Book Policy
  • L’application de la stratégie aux utilisateurs

Création des Objets Exchange

Exemple de création ci-dessous des objets Exchange (GAL, Address lists, OAB …)


Création des stratégies

Exemple de création de la stratégie contenant les objets de la société « Contoso »

  • Renseignement des éléments
    • Global Address list
    • Offline Address Book
    • Room list
    • Address lists


Exemple de création de la stratégie contenant les objets de la société « Fabrikam »

  • Renseignement des éléments
    • Global Address list
    • Offline Address Book
    • Room list
    • Address lists


Puis application des paramètres à un
/ des
utilisateur(s) à l’aide du paramètre « Address Book Policy » disponible en mode graphique ou par cmdlet Powershell


En commande powershell, filtrage sur la paramètre AddressBookPolicy.


Un nouvel onglet dans la console Exchange nous présente ces stratégies, au niveau Organisation, dans l’onglet « Address Book Policies »


Dans Active Directory ce nouveau conteneur se trouve juste en dessous de l’organisation Exchange, ici « INTRA »


Résultat dans OWA de la segmentation pour le plaisir J et vue des bonnes listes d’adresses, ici pour la société « Contoso »

Conclusion

Nul doute que cette nouvelle fonctionnalité va faire fureur chez les clients, peu importe le but (hosting, legal, autres besoins de segmentation), il y a des chances que cela réponde parfaitement à toutes les solutions de déploiement d’Exchange. Belle avançée et depuis le nombre de version ou cette fonctionnalité apparaissait puis disparaissait et dans tous les cas était assez complexe à mettre en place, voici une implémentation simple et bien pensée de l’équipe produit ! ABP Rocks J

PS : petit bémol mais qui ne pouvait pas être contourné, les clients LDAP ne se verront affectés par ces stratégies.. les clients Entourage par exemple

Bons déploiements !

David Pekmez

Posted in Exchange 2010 SP2, Exchange Server 2010 | 2 Comments »

Exchange Server 2010 SP2 – Prérequis

Posted by Anthony Costeseque sur décembre 5, 2011


Bonjour,

Suite à la mise à disposition du SP2 d’exchange voici les prérequis nécessaires pour une installation sans douleurs 🙂

Si vous êtes en SP1 :

Comme l’a montré David dans son billet précèdent une nouvelle Feature pour IIS est requise du côté du rôle CAS !


Vous pouvez utiliser son script powershell disponible ici : https://skydrive.live.com/redir.aspx?cid=deb7bf8a12d36694&resid=DEB7BF8A12D36694!413&parid=DEB7BF8A12D36694!252

Ou encore ajouter la feature à la main dans une session powershell :

Import-module ServerManager

Add-WindowsFeature Web-WMI

Note : Plutôt intéressant comme changement cela permet de fournir les interfaces de scripts WMI (Windows Management Instrumentation) permettant de gérer et d’automatiser des tâches par programmation pour IIS 7.5 en utilisant un jeu de scripts que vous créez dans le fournisseur WMI. Vous pouvez gérer des sites avec ce service en utilisant les outils WMI CIM Studio, WMI Event Registration, WMI Event Viewer et WMI Object Browser.

Ensuite pour les personnes qui utilisent le rôle UM vous allez devoir désinstaller les Pack de langues pour pouvoir aller plus loin !!


Et là attention 😉 pas de powershell ! Il faut lancer la commande dans un CMD (je vous aurez prévenu) !

Et de plus il faudra utiliser le setup.com de votre DVD d’origine (ou ISO) RTM ou SP1 (je l’ai fait avec l’iso de la SP1 : en_exchange_server_2010_sp1_x64_dvd_587827.iso)


Il vous suffira de lancer la commande :

Setup.com /RemoveUmLanguagePack:<VosPacks>

Exemple : Setup.com /RemoveUmLanguagePack:fr-FR,ja-JP

Si vous êtes en version RTM il vous faudra en plus installer les prérequis pour le SP1 !


Les prérequis ne poseront ensuite plus aucun problèmes 🙂

Bonne mise à jour.

Anthony COSTESEQUE

Posted in 1-EXCHANGE 2010, Exchange 2010 SP2, Mise-a-jour-2010 | Leave a Comment »

Exchange Server 2010 SP2 : Mise à jour du script d’installation des prés requis

Posted by David PEKMEZ sur décembre 5, 2011


Bonjour !

Suite à l’annonce de la mise à disposition du Service Pack 2 d’Exchange Server 2010

J’ai mis à jour le script d’installation des prés requis

Concernant l’installation :

  • Soit vous ne disposez pas d’Exchange Server et vous installer les prés requis avec les options de rôles de serveur de 1 à 7
  • Soit vous avez un serveur Exchange 2010 et vous n’avez qu’à mettre à jour les fonctionnalités Windows en sélectionnant l’option 11



Vous trouverez le script en téléchargement via le lien : https://skydrive.live.com/redir.aspx?cid=deb7bf8a12d36694&resid=DEB7BF8A12D36694!413&parid=DEB7BF8A12D36694!252

Rien de plus simple !

Bonnes installations

David Pekmez

Posted in Exchange Server 2010, Powershell-2010, script | 2 Comments »

Microsoft Exchange 2010 SP2: Disponible

Posted by Teruin laurent sur décembre 5, 2011


Les équipes de Microsoft Exchange viennent de mettre à disposition le service pack 2 pour Microsoft Exchange 2010


Pour le récupérer voici le lien : http://www.microsoft.com/download/en/details.aspx?id=28190

Pour l’instant par d’autre info. Nous allons l’installer rapidement et vous tiendrons informé

Cordialement

Laurent Teruin

Posted in 1-EXCHANGE 2010, Mise-a-jour-2010 | Leave a Comment »

Exchange et le Stockage – Partie 11

Posted by Anthony Costeseque sur décembre 4, 2011


Bonjour,

Dans la prochaine série de billet sur le stockage dans Exchange, nous verrons les bonnes pratiques chez chaque constructeur de stockage « intelligent ».

Et nous allons commencer aujourd’hui avec EMC².

Chacun d’entre vous pourra trouver les repères dont il a besoin en fonction du constructeur avec qui il travaillera 🙂

Par conséquent nous n’expliquerons pas ce qui se passe derrière chaque concept (nom technique) des technologies propres à chaque constructeur.

Pour toute questions ou point qui ne vous ne semblerez pas clair n’hésitez pas à laisser des commentaires.

  1. Commençons par le commencement le type de la baie !

Il est évident que le model sera conditionné par la taille de votre future infrastructure : Le nombre d’utilisateurs et la taille des boîtes aux lettres étant les principaux facteurs.

Chez EMC² nous parlerons maintenant de VNX (nouvelle baie unifiées (Block & File)).

Le standard sera une VNX5300 et pour les déploiements plus importants on passera sur un VNX5500 (le plus important étant le nombre maximum de disque supporté)

VNX5300 : 125 disks

VNX5500 : 250 disks

VNX5700 : 500 disks

En règle générale sur un déploiement d’au moins 10000 utilisateurs on a souvent 2 salles (voir 2 sites) pour la Haute Disponibilité et donc 2 VNX5300 font parfaitement l’affaire.

  1. Ensuite vient le type de disque

Les VNX supportent FC/SAS/NL-SAS/SATA/Flash(SSD)

Nous l’avons vu dans les précédents billets, Exchange est optimisé du côté des IO permettant l’utilisation de disque 7200tr/m donc la règle est la suivante :

Faible IOs requis et large capacité de boîtes aux lettres (2Go) -> On utilisera du NL-SAS (ou encore du SATA) 7200 tr/m

Important IOs requis et faible capacité de boites aux lettres (<1Go) -> On utilisera du FC ou du SAS 10000 tr/m voir 15000 tr/m (si besoin)

Jusqu’à maintenant j’ai toujours vu du NL-SAS 7200 tr/m de 2To pour les déploiements que j’ai fait.

Je ne parle pas ici de Flash(SSD) nous en parlerons plus tard 🙂

  1. Puis le type de RAID

Attention cette étape est très importante.

Sur les VNX nous pouvons choisir entre RAID 1/0 (striping + mirroring), RAID 5 (striping + parity), and RAID 6 (striping + double parity), une fois de plus dans les précédents billets nous en avons déjà parlé (performance/pénalité RAID/Ratio Data utile/Data parité/etc)

Nous choisirons dans 95% des cas du RAID 10 pour éviter une pénalité RAID forte en écriture et fournir les IOs nécessaires pour soutenir les bases de données ainsi que les logs !

  1. Le type de connexion

Stockage « intelligent » donc pas de DAS que du SAN en FC ou iSCSI.

Je vous recommande du FC pour les 8Gb/s de bande passante (2 ports FC de 4Gb/s en roud robin)
ainsi que la faible latence !

L’iSCSI est bien aussi mais demande tout de même des switch dédiés pour le trafic stockage (optimisés iSCSI si possible) mais le problème vient surtout de la bande passante disponible ! De façon classique nous avons 2Gb/s (2 ports Ethernet de 1Gb/s en roud robin) qui peuvent vite représenter un goulot d’étranglement sur des infrastructures importantes ! (rappelez-vous le background database maintenance (BDM) et son besoin en bande passante !). Les ports iSCSI 10Gb/s existent pour les VNX et peuvent représenter une alternative intéressante mais vos switch Ethernet devront les supporter !

Si vous pensez mettre en place une infrastructure FCoE (10Gb) alors pas de problèmes du moment que toute la chaine est prévue pour ! (switch Nexus etc).

  1. Enfin les recommandations générales

Si votre baie est multi usage (pas uniquement Exchange) :

  • Taille des pages du cache 8KB
  • Utiliser un set de disques uniquement pour exchange (pas de mix avec des luns pour d’autres applications)
  • Commencer par vérifier les IOs nécessaires avant la capacité nécessaire
  • Si vous n’utilisez pas de système de réplication, ne placer pas une database et ses logs sur le même set de disques !
    • Le but ici sera de placer des databases avec les logs d’autre databases (de façon croisée)
  • Si vous utiliser un DAG ou autre système de réplication (non recommandé) vous pouvez mettre database et ses logs sur le même set de disques
  • Attention rappel ! sans DAG vous ne pouvez pas utiliser de bases > à 200Go
  • Les copies des databases dans le DAG ne doivent pas être sur le même set de disques (pour une même base)
  • Bien repartir la charge sur les Storage Processor des baies
  • Windows NTFS file système formaté en taille d’unité d’allocation de 64KB
  • Si RAID 5 est utilisé, ne pas utiliser de metaLUNs sur plusieurs RAID Group !!

Si votre baie est à usage unique pour Exchange :

  • Taille des pages du cache 16KB
  • Le reste pareil
  1. Un exemple de découpage


10000 utilisateurs à 1,5Go de boîte aux lettres (principe de séparation des bases de données et des logs)

  1. Considérations particulière VNX

Parlons un peu du Flash (SSD), EMC² utilise le Flash avec 2 concepts : FAST Cache & FAST VP

Est-ce que FAST Cache améliore les performances pour Exchange 2010 ?

Et bien non ! FAST Cache n’a pas d’impacts sur Exchange (ni bonne ni mauvaise)

Si vous voulez tout de même l’utiliser, activer le uniquement sur les LUNs des bases de données (pas sur les logs).

De plus ça n’aidera pas sur le passage des tests Jetstress ! :p

Et maintenant est ce que FAST VP a un intérêt pour Exchange ?

Et bien non aussi ! Et même qu’ici il a un mauvais effet sur la technologie ! tout cela à cause de background database maintenance (BDM) (encore lui 😉 ) qui fausse les statiques pour le déplacement des chunk de 1Go dans le pool.

Donc à éviter !!

Est-ce que les Thin LUNs peuvent être utilisées ?

Ce n’est pas recommandé pour le moment (les thin LUN ne sont pas recommandés lorsque l’on recherche des performances !)

Si vous voulez des informations sur le design dans des baies VMAX ou encore VPLEX, envoyez moi un mail.

Documents de références disponibles sur PowerLink :

h8127-deployment-exchange-unified-wp.pdf

h8888-Exchange2010-EMC-storage-best-practices-wp.pdf

h8849-VNX5300-20Kusers-Exchange2010.pdf

Bonne lecture

Anthony COSTESEQUE

Posted in Exchange 2010 Service Pack 1, Exchange Server 2010, Performance-2010, Stockage-2010 | 1 Comment »

PowerGui 3.1.0

Posted by David PEKMEZ sur décembre 2, 2011


Bonjour,

Un petit post pour vous donner une news sympa (d’Octobre) je la poste un peu tard mais c’est important tout de même étant un amateur de ces outils !

PowerGui est disponible en version 3.1.0 !

Nouveauté que je trouve excellente : la possibilité d’avoir PowerGui sur une clé USB !

La suite des informations sur le site de Dmitry Sotnikov

http://dmitrysotnikov.wordpress.com/2011/10/14/powergui-3-1-released/

Et sur le site PowerGui

http://powergui.org/index.jspa

Bons downloads !

David Pekmez

Posted in Outils-2010 | Leave a Comment »