Update-StoreMailboxState  
	此 cmdlet 仅适用于本地 Exchange。
使用 Update-StoreMailboxState cmdlet 可以将 Exchange 邮箱存储中的邮箱的邮箱状态与对应的 Active Directory 用户帐户的状态同步。
有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法。
语法
Default (默认值)
Update-StoreMailboxState
    -Database <DatabaseIdParameter>
    -Identity <StoreMailboxIdParameter>
    [-Confirm]
    [-WhatIf]
    [<CommonParameters>]
说明
Update-StoreMailboxState cmdlet 强制将 Exchange 存储中的邮箱存储状态与 Active Directory。 在有些情况下,邮箱的存储状态会变得与对应的 Active Directory 用户帐户的状态不同步。 这可能是 Active Directory 复制延迟造成的。 例如,在 Active Directory 中禁用了一个启用邮箱的用户帐户,但未在 Exchange 邮箱存储中将其标记为已禁用。 在这种情况下,运行 Update-StoreMailboxState 会将邮箱存储状态与 Active Directory 用户帐户的状态同步,并在邮箱存储中将邮箱标记为禁用。 当邮箱的存储状态意外或怀疑存储状态与相应 Active Directory 帐户的状态不同时,可以使用此命令排查可能导致的问题。
您必须先获得权限,然后才能运行此 cmdlet。 尽管本文列出了 cmdlet 的所有参数,但如果某些参数未包含在分配给你的权限中,则可能无法访问这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet。
示例
示例 1
Update-StoreMailboxState -Database MDB01 -Identity 4a830e3f-fd07-4629-baa1-8bce16b86d88
此示例将更新位于邮箱数据库 MDB01 上并且 GUID 为 4a830e3f-fd07-4629-baa1-8bce16b86d88 的一个邮箱的邮箱状态。
示例 2
Get-MailboxStatistics -Database MDB02 | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false }
此示例将更新邮箱数据库 MDB02 上所有邮箱的邮箱状态。
示例 3
Get-MailboxStatistics -Database MDB03 | Where { $_.DisconnectReason -ne $null } | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false }
此示例将更新邮箱数据库 MDB03 上所有已断开连接的邮箱的邮箱状态。
参数
-Confirm
适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019
Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 造成的影响取决于在你继续操作之前 cmdlet 是否需要确认。
- 破坏性 cmdlet(例如 Remove-* cmdlets)内置有暂停,可强制要求先确认命令,然后再继续操作。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false。
- 其他大多数 cmdlet(例如 New-* 和 Set-* cmdlet)都没有内置暂停。 对于这些 cmdlet,指定不含值的 Confirm 开关会引入暂停,从而强制要求你先确认命令,然后再继续操作。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | cf | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Database
适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019
Database 参数指定包含该邮箱的邮箱数据库。 可以使用任何能够唯一标识此数据库的值。 例如:
- 名称
- 可分辨名称 (DN)
- GUID
参数属性
| 类型: | DatabaseIdParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | True | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-Identity
适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019
Identity 参数指定要更新的邮箱。 使用邮箱 GUID 作为此参数的值。
运行以下命令以获取组织中所有邮箱的邮箱 GUID 和其他信息:Get-MailboxDatabase |Get-MailboxStatistics |Format-List DisplayName,MailboxGuid,Database,DisconnectReason,DisconnectDate。
参数属性
| 类型: | StoreMailboxIdParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
参数集
(All)
| Position: | Named | 
| 必需: | True | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
-WhatIf 
		适用:Exchange Server 2013、Exchange Server 2016、Exchange Server 2019
WhatIf 开关模拟命令操作。 可以使用此开关在不实际应用将会发生的更改的情况下预览这些更改。 不必为此开关指定值。
参数属性
| 类型: | SwitchParameter | 
| 默认值: | None | 
| 支持通配符: | False | 
| 不显示: | False | 
| 别名: | 无线 | 
参数集
(All)
| Position: | Named | 
| 必需: | False | 
| 来自管道的值: | False | 
| 来自管道的值(按属性名称): | False | 
| 来自剩余参数的值: | False | 
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
Input types
若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。
输出
Output types
若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。
备注
如果将邮箱移动到另一个数据库,则会立即禁用该邮箱。 有 24 小时的延迟,允许复制。
在这种情况下,Update-StoreMailboxState 可能不会立即更新 Get-MailboxStatistics 输出中的 DisconnectState 和 DisconnectReason 属性。 值在移动后大约 24 小时更新。