Set-CsUserDatabaseState
トピックの最終更新日: 2012-03-27
1 つまたは複数の 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 コマンドレットを使用すると、1 つまたは複数のユーザー データベースの状態を変更できます。このコマンドレットを使用して、データベースをオフラインにしたり、無効化されていたデータベースをオンラインに戻したりできます。
既定では、Lync Server 2010 の Standard Edition のインストール時に、SQL Server Express のファイアウォールの例外が有効にはならないので注意してください。つまり、Windows PowerShell のリモート インスタンスから Set-CsUserDatabaseState を実行できないということです。このコマンドを実行しても、ファイアウォールを通過して SQL Server Express データベースにアクセスできないためです。このコマンドレットをローカルで (つまり Standard Edition サーバー自体で) 実行することはできます。ただし、Set-CsUserDatabaseState をリモートで実行するには、SQL Server Express のファイアウォールの例外を手動で有効にする必要があります。
このコマンドレットを実行できるユーザー:既定では、次のグループのメンバーが、Set-CsUserDatabaseState コマンドレットのローカル実行を承認されています。RTCUniversalServerAdmins。このコマンドレットが割り当てられているすべての役割ベースのアクセス制御 (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 には、更新するユーザー データベースの ID を示す文字列値を入力できます。
戻り値の種類
なし。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 コマンドレットにパイプ処理し、Online プロパティが False に等しいデータベースだけを抽出します。次に、フィルター処理済みのコレクションを ForEach-Object コマンドレットにパイプ処理し、コレクション内の各データベースを取り出し、Online プロパティに True を設定します。オフライン データベースのコレクションは、Set-CsUserDatabaseState ではなく ForEach-Object へのパイプ処理が必要であることに注意してください。これは、Set-CsUserDatabaseState コマンドレットがパイプライン処理された情報を直接受け入れることができないためです。