L’objectif est d’enlever les boites aux lettres de moins de 400MB d’un groupe qui sert à mettre en place des exclusions de quotas.
La suite de Ajoute de boites aux lettres dans un groupe.
$group = "GR_EXCEPTION_QUOTA"
Get-QADGroupMember -Identity $group | foreach {
$user = $_.UserPrincipalName
$userlt400 = Get-MailboxStatistics -Identity $user -ErrorAction silentlycontinue
if ( $userlt400.totalitemsize -lt 400MB ) {
Remove-QADGroupMember -Identity $group -Member $userlt400.LegacyDN
}
} |
Ce script permet de d’appliquer un marquage sur les attributs personnalisés des boites dont le compte AD est désactivé.
Il est ensuite possible d’appliquer plus facilement un filtre afin de déplacer toutes ces boites aux lettres.
Get-Mailbox -Database ccr03\is_paris_10 | foreach {
$user = Get-QADUser -Identity $_.alias
if ($user.AccountIsDisabled -eq "true"){
$user
Set-Mailbox -Identity $user.UserPrincipalName -CustomAttribute4 "Disabled_on_Paris_10"
}
} |
Ce Script automatise l’exportation d’une boite aux lettres dans un fichier PST.
Pour rappel, il y a des pré-requis pour faire des exportations de boites aux lettres.
1- OS 32bits (XP ou Windows Server) (Pas testé sur Seven)
2- Client Outlook. (Outlook 2003 SP2 Minimum)
3- Exchange 2007 Management Tools
$mbal = Read-Host "Please enter the mailbox"
$musr = [Environment]::UserName
Add-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr
$pst = "I:\PSTDATA\" + $mbal +".pst"
Export-Mailbox -Identity $mbal -PSTFolderPath $pst -Confirm:$false
Remove-MailboxPermission -Identity $mbal -AccessRights FullAccess -InheritanceType All -User $musr -Confirm:$false |
Permet d’importer une adresse SMTP secondaire sur une liste de boites aux lettres.
Import-Csv -Path .\import_secondary_smtp.csv | foreach {
$mailbox = $_.identity
$secsmtp = $_.sec_smtp
$temp = Get-Mailbox -Identity $mailbox
$temp.emailaddresses.add($secsmtp)
Set-Mailbox -Instance $temp
} |
Cette commande permet de retrouver les boites qui contiennent un dossier spécifique.
Get-Mailbox -resultsize unlimited -Server CCREX003 | Get-MailboxFolderStatistics | where-object {$_.Name -eq "Private" } | ft Identity |
Exporter toutes les boites aux lettres où a accès un utilisateur.
Get-Mailbox -Server CCR002 -Resultsize Unlimited | where-object { $_.database -match "SCO" } | Get-MailboxPermission | Where-Object { $_.AccessRights -eq "FullAccess" -and $_.IsInherited -match "false" -and $_.user -match "bluteau" } | Select-Object Identity,User| Export-Csv -Path rightsonmb.csv |
Ensuite supprimer ces délégations.
Import-Csv -Path .\rightsonmb.csv | foreach { Remove-MailboxPermission -Identity $_.identity -AccessRights FullAccess -User $_.user } |
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 |