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 |
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 |
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 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 |

Permet de désactiver ActiveSync sur plusieurs boites aux lettres.
Get-Mailbox *christophe* | Set-CASMailbox -ActiveSyncEnabled $false |
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.
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
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.
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" |
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="" }
} |