电子邮件修复

如何使用Get-MailboxDatabase Cmdlet?

简介:Get-MailboxDatabase是用于从Exchange Server检索邮箱数据库信息和对象的几个Exchange Server PowerShell cmdlet之一。在本文中,我们详细讨论了cmdlet,以及如何有效地使用它来管理和管理数据库、发现问题并修复它们。

Windows版免费下载
Windows版免费下载

微软在Exchange 2010 SP1发布时引入了Exchange Server PowerShell (Exchange Management Shell)。它是一个功能强大的基于命令行的实用程序,允许管理员执行各种管理任务。使用Exchange Management Shell (EMS) cmdlet,管理员可以分析和管理邮箱、数据库和Exchange Server的其他各个方面。

您可以使用Get-MailboxDatabase cmdlet来收集关于组织中某个特定服务器或多个服务器上的数据库的信息。您还可以使用cmdlet从组织中的特定数据库检索信息,这些信息可以帮助您分析数据库、找出问题并相应地修复它们。

在本文中,您将了解如何以及何时在内部部署的Exchange Server中使用Get-MailboxDatabase cmdlet,使用各种开关和参数来检索所需的信息并分析邮箱数据库。

在Exchange Server中使用Get-MailboxDatabase Cmdlet

使用Get-MailboxDatabaseCmdlet时,用户必须具有所需的角色和权限。要了解并分配所需的角色和权限,请执行以下步骤:

  • 开放Exchange Management Shell并执行以下命令以列出运行Get-MailboxDatabase

$Perms = Get-ManagementRole -Cmdlet Get-MailboxDatabase

$Perms | foreach {Get-ManagementRoleAssignment -Role $_。Name - delegate $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}

一旦分配了角色和权限,就可以在Exchange Management Shell中不带任何参数地运行Get-MailboxDatabase cmdlet。但是,运行不带参数的cmdlet将显示关于Exchange Server或组织中所有邮箱数据库的信息。

要检索关于Exchange组织中特定服务器上所有数据库的信息,必须使用-server参数并指定邮箱服务器名称。

例如,

Get-MailboxDatabase -server Exchange19 |格式列表

Get-MailboxDatabase服务器cmdlet

Get-MailboxDatabase -server Exchange19 | Format-list Name,Mounted,GUID,DistinguishedName

获取邮箱数据库服务器exchange19格式列表名称挂载guid distinguhedname

类似地,您可以使用身份参数获取关于特定数据库的详细或特定信息。例如,

Get-MailboxDatabase -Identity MBXDB01 |格式列表

get-MailboxDatabase身份

Format-Table Name,GUID,DistinguishedName

获取邮箱数据库标识名称- guid区分名称

Get-MailboxDatabase -Identity MBXDB01 | Format-list Name,GUID,DistinguishedName

名称guid区分名称获取邮箱数据库标识格式列表

使用地位通过交换机,您可以收集特定服务器上数据库的全部或部分相关信息、数据库根目录下可用空闲空间、备份进度、挂载状态、在线维护进度等信息。

例如,

|格式列表

获取邮箱数据库状态格式列表

Get-MailboxDatabase -Status | ft name,server,BackupInProgress,Mounted,OnlineMaintenanceInProgress

获取邮箱数据库名称服务器备份

类似地,你可以使用各种参数来获取特定的细节或值,例如:

  • CircularLoggingEnabled
  • EdbFilePath
  • DatabaseCopies
  • MountedOnServer
  • DeletedItemRetention
  • AvailabileNewMailboxSpace
  • LogFilePrefix
  • IsMailboxDatabase
  • IsPublicFolderDatabase
  • 身份
  • IndexEnabled
  • IssueWarningQuota

还有更多。

何时使用Get-MailboxDatabase Cmdlet?

Get-MailboxDatabaseCmdlet用于检查数据库状态和信息。通过执行该命令接收到的信息,您可以检查数据库是否已挂载并正在工作,或者是否存在问题。方法可以执行适当的操作来修改、修复或管理数据库交易所管理中心(EAC)或EMS中的其他PowerShell cmdlet。

中修复已卸载的数据库肮脏的关闭状态或未挂载的数据库,您可以使用可扩展存储引擎实用程序(EseUtil)来修复损坏的数据库,使其处于干净的关闭或可挂载状态,然后使用EAC或Mount-Databasecmdlet

您可以使用Eseutil / r命令运行'疲弱的经济复苏,它会在不一致或损坏的数据库上重播事务日志。这将向数据库提交未提交的更改,并可能将数据库带到干净的关闭状态。要验证数据库状态,可以使用EseUtil / mh databasepathwithname。教育局/ databasepathwithname.edb在Exchange服务器上的命令提示符或EMS中执行命令。

例如,

eseutil /mh C:\mbx01\mbx01.edb

Eseutil mh命令脏关机

如果数据库仍然处于“肮脏关闭”状态,则可以继续执行'硬恢复'使用EseUtil / p命令.但可能导致数据丢失。因此,请自行承担风险。

硬恢复直到警告

为避免数据丢失并从受损数据库中完整地恢复所有邮箱,可以使用Exchange恢复软件,例如Stellar Repair for Exchange。该软件可以帮助您修复严重损坏或损坏的数据库,并将邮箱保存为单独的pst。您还可以将邮箱直接导出到Office 365租户或活跃的Exchange服务器。

一旦修理和安装,使用Get-MailboxDatabase - id databasename | fl /databasename命令,查看数据库详细信息。要查看特定的信息,您还可以使用以下命令:

Get-MailboxDatabase -Status | ft名称,服务器,已挂载

检查数据库挂载状态

此外,建议将邮箱从已修复的数据库移动到新的或现有的正常数据库,并避免使用已修复的数据库。

结论

在本文中,您已经学习了如何使用Get-MailboxDatabasePowerShell cmdlet检索与Exchange Server上的一个或多个数据库相关的信息。cmdlet帮助管理员分析数据库状态、检测问题,并采取适当的操作来解决各种问题。您可以使用cmdlet通过使用各种参数检索与数据库相关的详细信息或特定信息。此外,如果需要修复数据库,可以使用EseUtil命令或Exchange恢复软件。该软件可以从损坏的数据库中提取所有邮箱,并直接将它们恢复到活动Exchange服务器上的健康数据库。

进步
80% 的人认为这篇文章有帮助