Skip to content

Instantly share code, notes, and snippets.

@hermesthecat
Forked from maestropanel2/ResoteRecoveryDB.ps1
Created January 10, 2022 12:06
Show Gist options
  • Select an option

  • Save hermesthecat/5dd568c86cf9f419602ffa2534273d29 to your computer and use it in GitHub Desktop.

Select an option

Save hermesthecat/5dd568c86cf9f419602ffa2534273d29 to your computer and use it in GitHub Desktop.
Exchange Server 2013 Restore Recovery Mailbox Database Script
<#
.SYNOPSIS
Bu script Recovery Mailbox Database'indeki mailbox'lara göre yeni kullanıcı oluşturur ve Restore isteği gönderir.
.DESCRIPTION
Başka bir sunucu üzerinden kurtarılmış ve yeni bir sunucuya Mount edilmiş Mailbox Database içindeki kullanıcı tipindeki Mailbox'ları listeler ve bunlara göre aktif Veritabanı üzerinde kullanıcılar oluşturur. Oluşturulan kullanıcılar için eski veritabanından Restore isteği gönderir.
.NOTES
File Name : ResoteRecoveryDB.ps1
Author : Oğuzhan YILMAZ ([email protected])
Prerequisite : Exchange Server 2013
.LINK
http://wiki.maestropanel.com
#>
$RecoveryDatabaseName = "RecoveryDB" #Veritabanının İsmi
$TempPassword = Read-Host "makara24!" -AsSecureString #Geçici parola, Kullanıcı açmak için
$UPNSuffix = "salla.com"; #Sunucu üzerindeki geçerli suffix
foreach($ritem in Get-MailboxStatistics -Database $RecoveryDatabaseName | ?{($_.DisplayName -notlike "*HealthMailbox*") -AND ($_.DisplayName -notlike "*Microsoft*") -AND ($_.DisplayName -notlike "*SystemMailbox*") -AND ($_.DisplayName -ne "Administrator")}) {
New-Mailbox -DisplayName $ritem.DisplayName -Name $ritem.DisplayName -Password $TempPassword -UserPrincipalName "$($ritem.Identity)@$($UPNSuffix)"
New-MailboxRestoreRequest -SourceDatabase RecoveryDB -SourceStoreMailbox $ritem.Identity -TargetMailbox $ritem.DisplayName -AllowLegacyDNMismatch
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment