Loading

Script de restauration Exchange

none


Le script suivant permet de restaurer une boîte aux lettres pour un utilisateur à partir d’une sauvegarde réalisée. Il mérite toutefois quelques explications complémentaires. Le script de restauration n’utilise pas comme destination la boîte aux lettres de l’utilisateur, mais une boîte de restauration (par exemple : recovery@societe.com)

que vous devrez créer dans la console d’administration MOAC. La raison est que la restauration de l’image remet l’état de la boîte aux lettres telle qu’elle était au moment de sa sauvegarde et qu’il n’est pas possible de récupérer uniquement le dossier ou le message que vous souhaitez restaurer.

#
# Microsoft BPOS Script
#
# NAME: Restore-MSOnlineUserMailbox.ps1
#
# AUTHOR: Arnaud Alcabez
# DATE : 20/07/2010
#
# COMMENT: Use this script to restore a backup user mailbox into a temporary mailbox
#
#
#
==============================================================================================
cls
# Enlarge the console to display location results
mode con cols=180
# Load the Exchange Transporter Cmdlets if there are not loaded
$ExCmd = $False
$Modules = Get-PSSnapIn
ForEach ($_.Name in $Modules) {if ($_.Name -eq "Microsoft.Exchange.Transporter") { $ExCmd = $True
}}
If ($ExCmd -eq $False) {Add-PSSnapin Microsoft.Exchange.Transporter}
If ($ExCmd -eq $False) {Write-Host "Note: Exchange Online Cmdlets loaded..."}
Write-Host

Write-Host '┌─────────────────────────────────────────────────┐'
-ForegroundColor white -BackgroundColor darkred
Write-Host '│ │' -ForegroundColor white -BackgroundColor darkred
Write-Host '│ Enter your Exchange Online Admin ID account │' -ForegroundColor white
-BackgroundColor darkred
Write-Host '│ │' -ForegroundColor white -BackgroundColor darkred
Write-Host '└─────────────────────────────────────────────────┘'
-ForegroundColor white -BackgroundColor darkred
Write-Host

# Get the login ID for the BPOS admin account
$Credlogin = Read-Host 'Administrator Login ID'
$Credpwd = Read-Host 'Password' -AsSecureString
Write-Host

# Form the BPOS encrypted credential information and store it in a variable to be passed to upcoming commands
$Cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $Credlogin, $Credpwd
Write-Host

Write-Host '┌─────────────────────────────────────────────────┐'
-ForegroundColor white -BackgroundColor darkblue
Write-Host '│ │' -ForegroundColor white -BackgroundColor darkblue
Write-Host '│ Restore service for mailbox users on the │' -ForegroundColor white -BackgroundColor
darkblue
Write-Host '│ EMEA Datacenter for Microsoft Online Services │' -ForegroundColor white
-BackgroundColor darkblue
Write-Host '│ │' -ForegroundColor white -BackgroundColor darkblue
Write-Host '└─────────────────────────────────────────────────┘'
-ForegroundColor white -BackgroundColor darkblue
Write-Host

#Enter the usermailbox or (none) to check all mailboxes
$BkpFile = Read-Host 'Enter the path and the backuped file name to restore'
Write-Host
$RstMbx = Read-Host 'Enter the restore mailbox name (FQDN) - The restored mailbox should be active'
$RstPwd = Read-Host 'Enter a new password for the restore mailbox'
$BkpUser = Read-Host 'Enter the user name (FQDN) to give access to the restored mailbox'
Write-Host
Write-Host 'INFO: Username and Backup File verification...'
Write-Host

#Verify Backup File Path and user address
$FileExists = Test-Path $BkpFile
if ($FileExists -eq $false) {
Write-Host 'WARNING: The backup file' $Bkpfile 'doesn''t exist' -ForegroundColor white
-BackgroundColor darkred
Write-Host
Break
}
Else {
Write-Host 'INFO: The backup file' $Bkpfile 'is checked'
Write-Host
}

$UsrExist = $False
$Colusers = Get-MSOnlineUser -Credential $cred -Enabled -ResultSize 10000
ForEach($User in $Colusers){
If ($User.Identity -eq $BkpUser) {$UsrExist = $True}
}
If ($UsrExist -eq $False) {
Write-Host 'WARNING: The username doesn''t exist' -ForegroundColor white -BackgroundColor darkred
Write-Host
Break
}
Else {
Write-Host 'INFO: The username' $BkpUser 'is checked'
Write-Host
}

$RstExist = $False
$Colusers = Get-MSOnlineUser -Credential $cred -Enabled -ResultSize 10000
ForEach($User in $Colusers){
If ($User.Identity -eq $RstMbx) {$RstExist = $True}
}
If ($RstExist -eq $False) {
Write-Host 'WARNING: The restore mailbox doesn''t exist or is inactive' -ForegroundColor white
-BackgroundColor darkred
Write-Host
Break
}
Else {
Write-Host 'INFO: The restore mailbox' $RstMbx 'is checked'
Write-Host
}

#Create Give Access Permission on the Restore Mailbox
Add-MSOnlineMailPermission -Identity $RstMbx -TrustedUser $BkpUser –GrantFullAccess:$True
-Credential $Cred | Out-File ".\ChangePassword.log"
Set-MSOnlineUserPassword -Quiet -Identity $RstMbx -Password $RstPwd
-ChangePasswordOnNextLogon:$false -Credential $cred | Out-File ".\ChangePassword.log"
Remove-Item '.\ChangePassword.log'
Write-Host
Write-Host 'INFO: The restore mailbox' $RstMbx 'is now enabled for the user' $BkpUser
Write-Host

Read-Host 'INFO: Appuyez sur [Entrée] pour démarrer la restauration de la boîte aux lettres'
Import-TransporterBinary -Quiet -Sourcefilename $BkpFile | Add-XsExchangeOnlineItem -identity
$RstMbx -Credential $Cred

#Paramètres du serveur SMTP
$SMTPServer = "smtp.societe.com"
$SMTPCred = "admin@societe.com"
$SMTPPwd = "Password"

$MailFrom = "admin@societe.com"
$Subject = 'MESSAGE: Votre boîte de restauration est disponible...'
$Body = 'Pour accéder à votre boîte d''archives, veuillez quitter Outlook. Ouvrez votre profil de
messagerie ' + $BkpUser + ' (Panneau de configuration / Courrier), sélectionnez votre profil Microsoft Online Services, cliquez sur Modifier et indiquez dans l''onglet Avancé / Ouvrir ces boîtes aux lettres supplémentaires / Ajouter / ' + $RstMbx + '. Ouvrez à nouveau Outlook et sélectionnez les éléments à récupérer de la boîte de restauration vers votre boîte aux lettres de messagerie en faisant glisser les éléments entre les deux boîtes.'
$mail = new-object Net.Mail.MailMessage
$mail.From = new-object Net.Mail.MailAddress($MailFrom)
$mail.To.Add($BkpUser)
$mail.Subject = $Subject
$mail.Body = $Body
$smtp = new-object Net.Mail.SmtpClient($SMTPserver)
$smtp.Credentials = new-object Net.NetworkCredential($SMTPCred,$SMTPPwd)
$smtp.Send($mail)

Write-Host 'INFO: La restauration est terminée. Un message a été adressé à l''utilisateur' $BkpUser 'pour l''informer de sa disponibilité.'
Write-Host

Le script de restauration utilise donc une boîte aux lettres spécifique, puis donne les droits à l’utilisateur d’ouvrir cette boîte et enfin, lui envoie un message pour lui expliquer comment accéder à sa boîte de recouvrement. Afin de lui envoyer un message, vous devrez adapter les arguments indiqués en rouge de manière à ce qu’ils s’appliquent à votre environnement. Il s’agit des informations correspondant à l’emplacement du service SMTP et des informations d’authentification vous permettant d’envoyer un message. La dernière valeur $MailFrom contient l’identité du champ De: du message qui sera envoyé à l’utilisateur.

123
Arnaud Alcabez Arnaud Alcabez - Architecte Solution Senior Office 365
Architecte Solution Senior Office 365 chez Capgemini sur les stratégies d'intégration des nouveaux usages dans 'L'entreprise 2.0'.
 
Blogger sur iTPro.fr ! Nous sommes constamment à la recherche de nouvelles voix et de nouvelles collaboration éditoriales sur iTPro.fr. Si vous êtes intéressés pour blogger ou écrire pour nous, contactez Sabine Terrey, Directrice de la rédaction, iTPro.fr.
Nous sommes ouverts à tous les thèmes portant sur les services, les solutions et les technologies informatiques d'entreprise. Notre seule condition sera la qualité de votre contribution, quel que soit votre thème de prédilection, actualités, annonces, lancements, stratégie, tutoriaux, trucs et astuces, bonnes pratiques... cette liste n'étant pas exhaustive, stay tuned, au plaisir de collaborer.
 
1er Guide dédié à la mise œuvre d’un Cloud Privé !1er Guide dédié à la mise œuvre d’un Cloud Privé !L’objet de ce guide thématique publié par IT Pro Magazine est d’apporter aux responsables informatiques une synthèse technologique précise pour intégrer un Cloud Privé à leur Datacenter. Découvrez, étape par étape, comment transformer votre datacenter en centre de services IT.Découvrez ce 1er guide thématique exclusif !

Ressources Informatiques

1er Guide thématique dédié à la mise œuvre d’un Cloud Privé L’objet de ce 1er guide thématique publié par la rédaction du mensuel IT Pro Magazine est d’apporter aux responsables informatiques une synthèse…
   IT Pro Magazine | 12 pages
Découvrez le 1er Guide dédié à la mise en œuvre d’un Cloud Privé
Guide de protection des environnements Hyper-V La virtualisation pose de nouveaux défis en terme de protection des serveurs et de continuité d'activité. Découvrez comment mettre en œuvre la protection…
   ITPro Magazine | 4 pages
Téléchargez le guide dédié à la protection des environnements Hyper-V !
Guide d’optimisation & synchronisation des données SharePoint L'objet de ce guide est d'aider les administrateurs et responsables d’environnements SharePoint distribués à planifier et mettre en œuvre une stratégie…
   Avepoint | 18 pages
Découvrez les meilleures pratiques d’optimisation et synchronisation des données SharePoint
Booster les performances des plates-formes virtuelles ? Découvrez les meilleures pratiques pour optimiser radicalement les performances de vos environnements virtualisés tout en optimisant le fonctionnement…
   Diskeeper | 12 pages
Téléchargez maintenant ce livre blanc exclusif
IT Pro Magazine Spécial Windows 8 Au programme de cette édition de IT Pro Magazine, un dossier complet sur Windows 8, un aperçu de Hyper-V 3.0, le fonctionnement du Cloud Privé Microsoft,…
   IT Pro Magazine | 60 pages
Téléchargez cette édition gratuitement
Le guide du stockage signé IT Pro Magazine La modernisation de l'infrastructure de stockage ne s'improvise pas. Ce guide exclusif publié par IT Pro Magazine vous fera découvrir les technologies…
   IT Pro Magazine | 16 pages
Téléchargez le Guide des Solutions de Stockage Nouvelle Génération
 

Conseil & Expertise

Bénéficiez de toute l'expertise informatique des magazines,
découvrez les abonnements papiers et leurs compléments
numériques sur Internet via le Club Abonnés.

S'abonner au mensuel IT Pro Magazine pour - 9 € / mois

Déjà abonné à nos magazines informatiques professionnels ?

» Accédez aux services de votre
Club Abonnés sur iTPro.fr