Archive

Archives pour la catégorie ‘Exchange 2007’

Afficher le chemin des DB et SG Exchange 2007.

Permet d’afficher rapidement l’emplacement des Databases et Storage Groups.

Databases:
Afficher la liste complète des Databases:

Get-MailboxDatabase | ft Name,Identity,EdbFilePath

Filter la liste pour certains lecteurs:

Get-MailboxDatabase | where-object { $_.EdbFilePath -match "i:" } | ft Name,Identity,EdbFilePath

Storages Groups:
Afficher la liste complète des Storage Groups:

Get-StorageGroup | ft Identity,Name,LogFolderPath,SystemFolderPath

Filter la liste pour certains lecteurs:

Get-StorageGroup | where-object { $_.LogFolderPath -match "i:" -or $_.SystemFolderPath -match "i:" } | ft Identity,name,LogFolderPath,SystemFolderPath

Exporter la liste des délégations.

Cette commande permet d’exporter la liste des délégations en place sur plusieurs Databases d’un serveur.

Get-Mailbox -Server CCR001 -Resultsize Unlimited | where-object { $_.database -match "DB_Paris" } | Get-MailboxPermission | Where-Object { $_.AccessRights -eq "FullAccess" -and $_.IsInherited -match "false"} | Select-Object Identity,User| Export-Csv -Path rightsonparismb.csv

Categories: Exchange 2007 Tags: , ,

Marquer les boites présentent dans une liste.

Permet de marquer garce aux « Custom Attributes » un liste de boites aux lettres présentent dans un fichier texte.
Cela me permet ensuite de faire des filtres pour des opérations de maintenance.

Import-Csv -Path .\movefromidf_9.txt | foreach {Set-Mailbox -Identity $_.displayname -CustomAttribute4 "movefromidf_9"}

Créer une Database sur un CCR Exchange.

Créer en Powershell une nouvelle Database sur un cluster Exchange 2007 en CCR.
Le cluster CCR impose un Storage Group pour une Database.

Créer le Storage group:

New-StorageGroup -Server CCR001 -Name SG_Paris_02 -SystemFolderPath G:\Log_Paris_02 -LogFolderPath G:\Log_Paris_02

Créer la Database:

New-MailboxDatabase -StorageGroup CCR001\SG_Paris_02 -Name DB_Paris_02 -EdbFilePath G:\Data_Paris_02\DB_Paris_02.edb

Configuration des quotas:

Set-MailboxDatabase -Identity CCR001\DB_Paris_02 -ProhibitSendQuota 500MB -IssueWarningQuota 400MB -ProhibitSendReceiveQuota Unlimited

Monter la Database:

Mount-Database CCR001\DB_Paris_02

Categories: Exchange 2007 Tags:

Désactiver ActiveSync sur plusieurs boites.

Permet de désactiver ActiveSync sur plusieurs boites aux lettres.

Get-Mailbox *christophe* | Set-CASMailbox -ActiveSyncEnabled $false

Categories: Exchange 2007 Tags:

Afficher l’historique des bascules d’un cluster.

Afin d’afficher l’historique des bascule d’un cluster Windows 2003, j’utilise la méthode suivante.
Dans le journal des évènements « System » du serveur.
Filtrer les évènement 1200.

Categories: Exchange 2007 Tags: ,

.NET 3.5 SP1 et 2.0 SP2 avec Exchange 2007 SP1.

C’est pas courant comme problème, mais il existe une incompatibilité de .NET Frameworks 3.5 SP1 et 2.0 SP2 avec Exchange Server 2007 SP1.

J’ai eu le problème semaine dernière sur des CAS.
Le problème a été remonté lorsque les utilisateurs se sont pleins que la gestion de l’absence de bureau ne fonctionnait plus depuis Outlook.
J’ai tenté la désinstallation et le résultat a été désastreux.
Il a fallu que je réinstalle le CAS. (Radical mais efficace)

Microsoft a publié un article sur le problème
http://support.microsoft.com/kb/958934
et a mis à disposition un correctif.
http://support.microsoft.com/kb/952883/
Le correctif marche très bien.
http://connect.microsoft.com/VisualStudio/feedback/details/363175/net-frameworks-3-5-sp1-and-2-0-sp2-incompatible-with-exchange-server-2007-sp1

Categories: Exchange 2007 Tags: ,

Déplacement de boites aux lettres en masse.

J’ai beaucoup de boites aux lettres à déplacer ce soir.
L’opération consiste à déplacer des boites aux lettres de différentes Databases sources vers différentes Databases cibles, je me suis donc prévu un petit plan.
Un fois que j’ai préparé un beau p’tit fichier d’import qui définit qui va où, je positionne un « CustomAttribute » pour définir la Database cible sur les boites aux lettres à traiter.

Import-Csv -Path .\Move_Lundi.txt | Foreach { Set-Mailbox -Identity $_.displayname -CustomAttribute4 $_.target }

Je vérifie que tout est OK.

Import-Csv -Path .\Move_Lundi.txt | Foreach { Get-Mailbox -Identity $_.displayname | ft DisplayName,Database,CustomAttribute4 }

Pour pouvoir lancer plus déplacement en parallèle, je vais traiter les databases sources une par une.

Get-Mailbox -Database SRV001\DB_IDF_2 | Where-Object { $_.CustomAttribute4 -eq "Target_Monday_IDF_7" } | Move-Mailbox -TargetDatabase SRV001\DB_IDF_7

J’en lance plusieurs à la fois.

Get-Mailbox -Database SRV001\DB_IDF_3 | Where-Object { $_.CustomAttribute4 -eq "Target_Monday_IDF_7" } | Move-Mailbox -TargetDatabase SRV001\DB_IDF_5

Voila, c’est parti, j’attends la fin en gardant un oeuil sur les disques de logs.

Sécuriser une liste de distribution par un groupe.

Il est possible de sécuriser les listes de distribution par un groupe.
Les membres de ce groupe pourront utiliser les liste de distribution pour émettre des messages à la différence des autres boites aux lettres.

Il faut créer un groupe:

New-DistributionGroup -name "ACL_BAL_GROUP-Compta-Paris" -OrganizationalUnit "domain.local/Compta-Paris" -SamAccountName "ACL_BAL_GROUP-Compta-Paris" -Type Security

et positionner le groupe sur la liste de distribution:

Set-DistributionGroup -AcceptMessagesOnlyFromDLMembers "ACL_BAL_GROUP-Compta-Paris"

Espace disque libre sur les serveurs de BAL.

Ce script affiche la taille et le pourcentage d’espace disque libre sur tous les volumes montés sur les serveurs de boites aux lettres.

$mbserver = Get-MailboxServer
Foreach ($server in $mbserver) {
	"___________"
	""
	$server.name
	"___________"
	""
	"System                   Volume                             FreeSpace (GB)             PourcentFree"
	"------                   ------                             --------------             ------------"
 
	Get-WmiObject win32_volume -ComputerName $server.name | Sort-Object -Property Name |
	Format-Table -HideTableHeaders 	@{e={$_.systemname};n="" },
					@{e={$_.name};n="" },
					@{ e={[math]::round($_.FreeSpace/1GB,2)};n="" },
					@{ e={[math]::round(($_.FreeSpace*100)/$_.Capacity) };n="" }
	}