Script de restauration Exchange

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)
#
# 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.
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é !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
Actualités Informatiques
BYOD : Sécuriser les terminaux mobiles avec Exchange 19/04/2012 | Consumérisation | Exchange Server
Les challenges de la haute disponibilité avec Exchange 2010 16/04/2012 | Haute Disponibilité | Exchange Server
Les points clés d’une architecture Exchange 2010 13/04/2012 | Architecture | Exchange Server
Vade Retro protège les messageries dans le cloud 08/03/2012 | Cloud Computing | Messagerie
WriteThat.name pour Outlook en beta publique 25/01/2012 | Exchange Server | Outlook
A la une d'Exchange Magazine : Consumérisation, Exchange SP2 et Lync 23/01/2012 | Lync | Exchange Server
Exchange Server Service Pack 2 est disponible 07/12/2011 | Cloud Computing | Exchange Server
Exchange 2010 virtualisé sur EMC VNX : Mode d'emploi 30/11/2011 | EMC | Exchange Server
WriteThat.Name arrive sur Outlook 18/11/2011 | Exchange Server | Google
Refresh IT migre les messageries vers Office 365 08/11/2011 | Cloud Computing | Exchange Server
Mise à jour automatique de votre carnet d'adresses avec WriteThat.Name 13/09/2011 | Administrateur | Déploiement
San Francisco adopte Exchange Online 23/05/2011 | Cloud Computing | Exchange Server
Les solutions Radware certifiées Exchange Server 2010 23/05/2011 | Exchange Server | Messagerie
La migration vers Exchange 2010 expliquée par Microsoft 19/05/2011 | Evènement | Exchange Server
ESET renforce son anti-spams pour Exchange 12/05/2011 | Administrateur | Exchange Server
Vidéos Informatiques
Travail Collaboratif Présentation du Dell XPS 13
Travail Collaboratif Premiers déploiements massifs de SharePoint Workspace en 2012
Cloud computing « Le cloud ne doit pas être une aire de non-droit »
Windows Server Du script PowerShell à l’interface web avec Poshboard
Liens Informatiques
Ressources iT Pro
1er Guide thématique dédié à la mise œuvre d’un Cloud PrivéIT Pro Magazine | 12 pages
Guide de protection des environnements Hyper-VITPro Magazine | 4 pages
Guide d’optimisation & synchronisation des données SharePointAvepoint | 18 pages
Booster les performances des plates-formes virtuelles ?Diskeeper | 12 pages
IT Pro Magazine Spécial Windows 8IT Pro Magazine | 60 pages
Le guide du stockage signé IT Pro MagazineIT Pro Magazine | 16 pages
Testez Acronis Backup & Recovery 11 Virtual EditionAcronis | 2 pages





















