Set-CsUserDatabaseState

 

上一次修改主题: 2012-03-27

启用或禁用一个或多个 Microsoft Lync Server 2010 用户数据库。

语法

Set-CsUserDatabaseState -Online <$true | $false> -RegistrarPool <Fqdn> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Set-CsUserDatabaseState -Identity <String> -Online <$true | $false> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

详细说明

Lync Server 2010 使用用户数据库(也称为用户存储)来维护 Lync Server 用户的状态信息和路由信息。Set-CsUserDatabaseState cmdlet 提供了一种方法,用于更改一个或多个用户数据库的状态:您可以通过此 cmdlet 使数据库脱机,也可以使禁用的数据库重新联机。

请注意,在默认情况下,当安装标准版本的 Lync Server 2010 时,不会对 SQL Server Express 启用防火墙例外。反过来,这意味着您无法从 Windows PowerShell 的远程实例运行 Set-CsUserDatabaseState。这是因为命令无法遍历防火墙和访问 SQL Server Express 数据库。您仍可以在本地运行该 cmdlet(即在标准版本服务器本身上)。然而,要远程运行 Set-CsUserDatabaseState,需要手动对 SQL Server Express 启用防火墙异常。

谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 Set-CsUserDatabaseState cmdlet:RTCUniversalServerAdmins。要返回分配了此 cmdlet 的所有基于角色的访问控制 (RBAC) 角色列表(包括您自己创建的任何自定义 RBAC 角色),请从 Windows PowerShell 提示符处运行以下命令:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsUserDatabaseState"}

参数

参数 必需 类型 描述

Identity

可选

字符串

要修改联机状态的用户数据库的唯一标识符。例如:-Identity "UserDatabase:atl-sql-001.litwareinc.com"。

不能在同一个命令中同时使用 Identity 和 RegistrarPool,也不能对任一参数使用通配符。

Online

必需

布尔值

设置为 True ($True) 时,将使数据库可以联机。设置为 False ($False) 时,将使数据库脱机。

RegistrarPool

可选

字符串

托管要修改联机状态的用户数据库的注册器池的完全限定域名 (FQDN)。例如:-RegistrarPool atl-cs-001.litwareinc.com。

不能在同一个命令中同时使用 –Identity 和 –RegistrarPool,也不能对任一参数使用通配符。

Force

禁止显示运行此命令时可能出现的任何非严重错误消息。

WhatIf

描述如果执行命令会发生什么情况(无需实际执行命令)。

Confirm

在执行命令之前提示您进行确认。

输入类型

字符串。Set-CsUserDatabaseState 接受一个字符串值,代表要更新的用户数据库的标识。

返回类型

无。Set-CsUserDatabaseState 会修改 Microsoft.Rtc.Management.Xds.UserStoreState 对象的现有实例。

示例

-------------------------- 示例 1 --------------------------

Set-CsUserDatabaseState -Identity "UserDatabase:atl-sql-001.litwareinc.com" -Online $False

示例 1 中显示的命令将用户数据库 UserDatabase:atl-sql-001.litwareinc.com 脱机。这是通过将 Online 属性设置为 $False 实现的。

-------------------------- 示例 2 --------------------------

Set-CsUserDatabaseState -RegistrarPool atl-cs-001.litwareinc.com -Online $False

在示例 2 中,将使注册器池 atl-cs-001.litwareinc.com 中的所有用户数据库脱机。

-------------------------- 示例 3 --------------------------

Get-CsUserDatabaseState | Where-Object {$_.Online -eq $False} | ForEach-Object {Set-CsUserDatabaseState -Identity $_.Identity -Online $True}

上述示例查找当前处于脱机状态的所有用户数据库,然后使这些数据库重新联机。为执行此操作,该命令首先调用不带任何参数的 Get-CsUserDatabaseState,以便返回组织中所有用户数据库的集合。然后,将该集合通过管道传递到 Where-Object cmdlet,后者将仅挑选出 Online 属性等于 False 的数据库。然后,将筛选出的集合通过管道传递到 ForEach-Object cmdlet,后者会选取集合中的每个数据库,并将 Online 属性设置为 True。请注意,必须将脱机数据库集合通过管道传递到 ForEach-Object,而不是 Set-CsUserDatabaseState。这是因为后一个 cmdlet 无法直接接受通过管道传递的信息。