PI Services

Le blog des collaborateurs de PI Services

EXCHANGE 2010 SP2 - Gestion des boîtes déconnectées

Le passage du SP2 apporte une correction à certains problèmes mais apporte

également son lot de disfonctionnement tel que celui-ci.

Pour certains besoins il est parfois nécessaire de reconnecter une boîte aux

lettres à un compte. Avant le passage du SP2 la boite est fonctionnelle dès

sa reconnexion à un compte utilisateur.

Après le passage du SP2 vous pourrez obtenir cette erreur détectable

lorsqu’on envoie un message à la boite présente dans la GAL:

Échec de la remise pour ces destinataires ou groupes :
Dupont Jean (jean.dupont@bug.fr) <mailto:jean.dupont@bug.fr>
La boîte aux lettres du destinataire pose un problème. Essayez de renvoyer ce message. Si le problème persiste, contactez le support technique de votre organisation.
Informations de diagnostic pour les administrateurs :
Serveur de génération : SERV01.bug.fr
jean.dupont@bug.fr
#554-5.2.1 mailbox disabled 554 5.2.1 STOREDRV.Deliver.Exception:AccountDisabledException.MapiExceptionMailboxDisabled; Failed to process message due to a permanent exception with message Cannot open mailbox /o=MSG/ou=Exchange Administrative Group

On ne peut pas également déplacer la boîte de banque !

On constate également que la boite a toujours le statut “disabled”

PS C:\Windows\system32> Get-MailboxStatistics JDUP | fl

AssociatedItemCount     : 67

DeletedItemCount        : 2010

DisconnectDate          : 16/02/2012 08:54:26

DisconnectReason        : Disabled

Réalisez les mêmes tests le lendemain matin et vous observerez que tout est

rentré dans l’ordre. La nuit porte conseille…..

Par défaut Exchange effectue une maintenance nocturne planifiée.

Les processus réalisés diffèrent de la maintenance de type “background”.

image

Durant cette maintenance nocturne une vérification des banques d’informations et

particulièrement des objets supprimés est réalisée.

C’est cette mécanique qui rend de nouveau la boîte opérationnelle.

Microsoft apportera cette correction dans le RU3 pour Exchange 2010 SP2, il faut

donc patienter quelques mois, incident mineure pour Microsoft….

Dans l’attente de ce correctif il faut donc réaliser un nettoyage de la banque

après avoir reconnecté la boite (clean-mailboxdatabase).

Forefront TMG 2010 & Exchange 2010

En Novembre 2009 Microsoft sortait TMG 2010 pour la sécurisation des accès depuis Internet vers son réseau interne pour succéder à ISA Server 2006.

Microsoft annonçait également que TMG 2010 pouvait piloter la configuration des serveurs Exchange 2010 Edge. Malheureusement cela c’est avéré pas très opérationnel.

Le support de Microsoft avait donc annoncé que le SP1 apporterait la réponse à ces problèmes. Ce ne fût pas le cas et il fût annoncé que cela serait pris en compte par le SP2.

Malheureusement, le support de Microsoft a annoncé que la correction ne serait pas encore disponible, le SP2 porte sur d’autres priorités.

On peut  en déduire que le déploiement du couple TMG 2010/Exchange 2010 soit peu fréquent, d’ou le peu d’entrain de Microsoft à corriger le tir.

D’autre part le développement de TMG 2010 va s’arrêter vraisemblement.On peut voir que sur le “Maqic Quadrant for Secure Web Gateways” du rapport Gartner que TMG 2010 n’est pas mentionné.

 

image

On trouve également cette information:

“Microsoft has informed Gartner that it does not plan to ship another full version release of its SWG product, the Forefront Threat Management Gateway (TMG). The product is effectively in sustaining mode, with Microsoft continuing to ship Service Pack (SP) updates; the next one, SP2, is planned for 3Q11. Microsoft will also continue to support TMG for the standard support life cycle — five years of mainstream support and five years of extended support. In the SWG category, TMG will become less competitive over time, since Microsoft’s goal is not to compete head-to-head with other vendors in that space. We believe that Microsoft will repurpose TMG technologies in other products and services as part of its overall cloud strategy.”

On peut donc conclure que cette “fusion passionnelle” entre TMG 2010 et Exchange 2010 n’ira pas plus loin.

Exchange 2010 SP1 – Récupération d’éléments supprimés.

Après avoir supprimé des messages, on peut avoir besoin de les récupérer.

Le “dumpster” (version 2) d’Exchange 2010 a été amélioré.

clip_image002

“Dumpster” des versions précédentes.

clip_image002[5]

“Dumpster” 2.0.

Vérifions ce “dumpster”:

get-mailbox "dumpster test" | Get-MailboxFolderStatistics -FolderScope RecoverableItems | Sort-Object FolderSize -Descending | FT Identity,ItemsInFolder,FolderSize,FolderType -Wrap

clip_image002[9]

Paramètre par défaut :

get-mailbox -Identity "dumpster test" | fl SingleItemRecoveryEnabled

clip_image002[11]

Je dispose d’une boîte avec 8 messages dans la boîte de réception.

Je supprime deux messages qui vont donc dans la corbeille.

image

On contrôle de “dumpster”:

clip_image002[13]

Il n’y a rien. C’est logique la corbeille appartient à la boîte aux lettres.

Vidons la corbeille:

image

Vérifions le “dumpster”:

clip_image002[15]

On voir que le dossier “RecoverableItemsDeletions” contient les deux éléments supprimés.Ce dossier correspond à ce que l’utilisateur voit lorsqu’il clique sur Récupérer les éléments Supprimés. C’est le « dumpster ». Les éléments dans ce dossier ne sont pas comptabilisé dans la taille de la boite aux lettres et par défaut à un taille maxi de 30 GB(RecoverableItemsQuota).Les éléments restent présents en fonction de la durée de rétention fixée.

image

Supprimons ces deux éléments:

clip_image002[17]

Contrôlons le “dumpster”:

clip_image002[19]

Tous les dossiers sont vides.

Ces éléments sont définitivement supprimés. Microsoft annonce pourtant que la sauvegarde n’est plus nécessaire…….

Pour améliorer cette “mécanique” il faut activer un paramètre sur la boîte aux lettres:

set-mailbox -Identity "dumpster test" -SingleItemRecoveryEnabled $true

clip_image002[21]

Patientons comme indiqué.

clip_image002[23]

Supprimons deux messages:

image

Puis supprimons ces deux messages depuis le menu “Récupérer les éléments supprimés”. Pour rappel c’est le dossier “RecoverableItemsDeletions” du “dumpster

clip_image002[25]

Vérifions le “dumpster” de cette boîte:

clip_image002[27]

On constate maintenant que les deux éléments supprimées sont présent, mais dans un autre dossier, “RecoverableItemsPurges”.

Ce dossier n’est pas accessible par l’utilisateur.

Faisons un recherche avec la console RBAC:

clip_image002[29]

Affichons le résultat de la recherche:

image

Les éléments supprimés sont récupérés.On constate que les éléments supprimés sont avec les éléments actifs.Dans cet exemple il n’y a avait plus que 6 éléments (4 actifs et deux supprimés).

Il a été très facile de les retrouver.Dans la réalité, il y a souvent des milliers de messages.Si l’utilisateur n’est pas précis dans sa demande, sa deviendra vite un casse-tête.Pire, si un utilisateur supprime un dossier, le dossier n’est plus présenté c’est un “Dumpster” à « plat ». Donc c’est comme rechercher “une aiguille dans une botte de Foin”.

Le discours commercial de Microsoft insiste sur le fait que la sauvegarde n’est plus nécessaire avec Exchange 2010, le travail est encore long pour atteindre cet objectif et particulièrement dans le cas de restauration d’élément individuel.

Exchange 2010 – Truc & Astuce Outlook Web App

On peut  parfois être surpris par l’aspect de l’affichage d’Outlook Web App après

son ouverture malgré le choix de ne pas utiliser le mode “Web App Light”

 image

image

L’aspect fait fortement penser que l’on a coché la version limité.

Il s’agit tout simplement de la configuration de la fonction “accessibilité”

image

Décochez cette option et enregistrez. Relancer le client .

image

Et voilà.

Exchange 2010 – Erreur lors de l’installation du SP1.

Lors de la mise à jour d’un serveur Exchange 2010 avec le SP1, l’installation peut

échouée sur un problème de service désactivé. Dans l’exemple ci-dessous le service

MSExchangeIS est en cause:

[06/30/2011 13:12:40.0671] [2] Active Directory session settings for 'start-SetupService' are: View Entire Forest: 'True', Configuration Domain Controller: '******', Preferred Global Catalog: '******', Preferred Domain Controllers: '{******* }'

[06/30/2011 13:12:40.0671] [2] Beginning processing start-SetupService -ServiceName:'MSExchangeIS' -MaximumWaitTime:'unlimited'

[06/30/2011 13:12:40.0687] [2] [ERROR] Unexpected Error

[06/30/2011 13:12:40.0687] [2] [ERROR] Service 'MSExchangeIS' is disabled on this server.

[06/30/2011 13:12:40.0702] [2] [ERROR] Cannot start service MSExchangeIS on computer '.'.

[06/30/2011 13:12:40.0702] [2] [ERROR] The service cannot be started, either because it is disabled or because it has no enabled devices associated with it

[06/30/2011 13:12:40.0702] [2] Ending processing start-SetupService

[06/30/2011 13:12:40.0702] [1] The following 1 error(s) occurred during task execution:

[06/30/2011 13:12:40.0702] [1] 0. ErrorRecord: Service 'MSExchangeIS' is disabled on this server.

[06/30/2011 13:12:40.0702] [1] 0. ErrorRecord: Microsoft.Exchange.Configuration.Tasks.ServiceDisabledException: Service 'MSExchangeIS' is disabled on this server. ---> System.InvalidOperationException: Cannot start service MSExchangeIS on computer '.'. ---> System.ComponentModel.Win32Exception: The service cannot be started, either because it is disabled or because it has no enabled devices associated with it

--- End of inner exception stack trace ---

at System.ServiceProcess.ServiceController.Start(String[] args)

at Microsoft.Exchange.Management.Tasks.ManageSetupService.StartServiceWorker(ServiceController serviceController, String[] serviceParameters)

--- End of inner exception stack trace ---

[06/30/2011 13:12:40.0718] [1] [ERROR] The following error was generated when "$error.Clear();

start-SetupService -ServiceName MSExchangeIS -MaximumWaitTime "unlimited"

" was run: "Service 'MSExchangeIS' is disabled on this server.".

[06/30/2011 13:12:40.0718] [1] [ERROR] Service 'MSExchangeIS' is disabled on this server.

[06/30/2011 13:12:40.0718] [1] [ERROR] Cannot start service MSExchangeIS on computer '.'.

[06/30/2011 13:12:40.0718] [1] [ERROR] The service cannot be started, either because it is disabled or because it has no enabled devices associated with it

[06/30/2011 13:12:40.0718] [1] [ERROR-REFERENCE] Id=MailboxServiceControlLast___2ed283997a7c481ea45da530c5f608e9 Component=EXCHANGE14:\Current\Release\Shared\Datacenter\Setup

[06/30/2011 13:12:40.0718] [1] Setup is stopping now because of one or more critical errors.

[06/30/2011 13:12:40.0718] [1] Finished executing component tasks.

[06/30/2011 13:12:40.0718] [1] Ending processing Install-MailboxRole

[06/30/2011 13:12:40.0718] [0] The Exchange Server setup operation didn't complete. More details can be found in ExchangeSetup.log located in the <SystemDrive>:\ExchangeSetupLogs folder.

[06/30/2011 13:12:40.0734] [0] End of Setup

[06/30/2011 13:12:40.0734] [0] **********************************************

La solution pour contourner ce problème rentre dans la catégorie “bidouille”,

n’ayant pas de solution de la part de l’éditeur….

Il faut ouvrir la console Services.msc, et faire des “Refresh” afin de contrôler

l’état des services MS Exchange.

Mettez le service Microsoft Exchange Information Store en “Manual”, dès qu’il passe en “Disabled”. Les autres services Exchange restent en Automatique.

Après l’installation, remettez ce service en automatique.

EXCHANGE 2010 SP1 – Exporter une boite aux lettres.

Le SP1 d’Exchange 2010 introduit une nouvelle commande pour exporter une boîte

aux lettres. Il n’y a plus de nécessité d’installer le client Outlook sur le serveur.

La commande New-MailboxExportRequest n’est pas disponible par défaut.

Lancez une console Exchange PowerShell et cherchez cette commande…….

Il faut “activer le rôle “Mailbox Import Export” .

Ce rôle ne peut pas être rajouté à un groupe de rôle prédéfinis (ex: Organization Management).

Il faut donc créer ce rôle. Utilisons la console RBAC qui permet depuis le SP1 de réaliser

ce type d’action.

image

Cliquez sur “Nouveau”

image

image

Entrez un nom, ajoutez le rôle “Mailbox Import Export”, puis les membres.

Cliquez sur “Enregistrer”.

image

Revenons à la console Exchange PowerShell.

Cherchez de nouveau la commande, elle n’est toujours pas disponible !

Fermez et relancez la console, appelez la commande, miracle la voici.

image

Au lancement de cette console il y a une vérification des droits du compte.

Exportons une boite

New-MailboxExportRequest -mailbox Support****** -FilePath "\\SRV\EXPORT-PST\SuppMsg.pst" -name ExportSupMsg

image

Suivons cette requête : Get-MailboxExportRequest

image

Nous pouvons voir que la requête “ExportSupMsg” est en cours de traitement.

image

Quelques secondes plus tard la requête est achevée.

Vérifions plus “finement”

Get-MailboxExportRequestStatistics -Identity Support******\ExportSupMsg

image

Jetons un œil dans le répertoire:

image

Pour aller plus loin : http://technet.microsoft.com/fr-fr/library/ff607299.aspx

ACTIVE DIRECTORY – Création de comptes utilisateurs

On a souvent besoin de créer des comptes utilisateurs “en masse”.

Un petit script powershell nous aidera à cette tâche.

Dans cet exemple des utilisateurs seront créés dans l’OU “TEMP\Users”.

clip_image002

Préparons le fichier “utilisateurs” via un fichier CSV:

name;Displayname;GivenName;Surname;SamAccountName;UserprincipalName;Password

Crok Jean;Crok Jean;Jean;Crok;jean.crok;jean.crok@siref.*****.ad;P@ssword1

Delune Claire;Delune Claire;Claire;Delune;claire.delune;claire.delune@siref.******.fr;P@ssword2

                          ***************************************

Préparons maintenant le script (Celui-ci crée un compte actif) :

$Users=import-csv -delimiter ";" -path "c:\admin\users.csv"

foreach ($User in $Users)

{

$ou="OU=Users,OU=TEMP,OU=****,DC=siref,DC=*****,DC=ad"

$pass=$User.Password

New-ADUser -Name $User.name -Displayname $User.Displayname -GivenName $User.GivenName -Surname $User.Surname -SamAccountName $User.SamAccountName -UserprincipalName $User.UserprincipalName -AccountPassword (convertTo-SecureString $pass -AsPlainText -force) -Enabled $true -path $ou

}

============Pour plus d’information sur la commande New-ADUser ============

http://technet.microsoft.com/en-us/library/ee617253.aspx

================================================================

Exécutons le script:

clip_image002[5]

Vérifions le résultat:

clip_image002[7]

 

image

image

Exercez-vous.

EXCHANGE 2010 – Visualiser les files d’attente

L’interface PowerShell permet de visualiser l’ensemble  des files d’attente.

get-transportserver | Get-ExchangeServer | where {$_.AdminDisplayVersion -match "14"} | get-queue

La première commande permet de sélectionner les serveurs Exchange ayant le rôle “Transport”.

La seconde partie permet d’intérroger uniquement les serveurs Exchange 2010, dans le cadre d’une organisation mixte (version antérieure).

image

Pour visualiser les versions:

Get-ExchangeServer | fl name,edition,admindisplayversion

image

Version 8.x: Exchange 2007

Version 14.x: Exchange 2010

Revenons à nos files d’attente…..

On peut par exemple filtrer sur un nombre de messages en attente:

get-transportserver | Get-ExchangeServer | where {$_.AdminDisplayVersion -match "14"} | get-queue | where {$_.MessageCount -gt "10"}

image

Sur le statut:

get-transportserver | Get-ExchangeServer | where {$_.AdminDisplayVersion -match "14"} | get-queue | where {$_.Status -match "Active"}

image

Ready   Le message se trouve dans la file d’attente et est prêt à être traité

Active   Si le message figure dans une file d’attente de remise, il est remis à sa destination. Si le message se trouve dans la file d’attente de soumission, il est traité par le catégoriseur.

Voici un lien sur les flux:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6eb8c09a-6ea4-442a-9faa-de33265ceb84&displaylang=en

EXCHANGE 2010 – Audit de certaines ressources

Afin de connaître rapidement l’utilisation d’Exchange 2010, voici des commandes

PowerShell qui donneront des informations  souvent bien utiles.

  • Connaître la taille des banques de boîtes aux lettres:

Get-MailboxDatabase -Status | select Name,DatabaseSize | sort-object Name

image

  • Connaître la taille des banques publiques:

Get-publicfolderdatabase -status | select server, Name, databasesize

image

  • Connaître l’espace à récupérer des banques de boîtes aux lettres :

Get-MailboxDatabase -Status | FL Name, AvailableNewMailboxSpace

image

  • Connaître l’espace à récupérer des banques publiques:

Get-PublicFolderDatabase -status | FL Name, AvailableNewMailboxSpace

image

  • Connaître le nombre d’utilisateurs par banque de boîtes aux lettres:

Get-mailboxdatabase | get-mailbox -resultsize unlimited | group-object -property:Database | select-object Name,Count | sort-object Name | ft –autosize

image

  • Connaître la taille des boîtes sur d’une banque:

Get-MailboxStatistics -Database 'DBNAME' | select-object  DisplayName, TotalItemSize, TotalDeletedItemSize | sort-object TotalItemSize -descending | ft -autosize | more

image

EXCHANGE 2010 – Rechercher les boites aux lettres récemment créées.

On peut retrouver facilement les boites créées selon une période donnée.

Dans cet exemple nous recherchons les boites créées depuis l’heure courante

jusqu’à 5 jours en arrière.

image

La commande PowerShell est la suivante:

Get-mailbox -resultsize unlimited | where {$_.WhenCreated -gt (get-date).adddays(-5)}

ft Name,whenCreated, Database -Autosize

Pour information la valeur renvoyé par l’expression (get-date).adddays(-5), renvoie une valeur

basée sur l’heure courante:

image