Get-CsAdminRole

 

トピックの最終更新日: 2012-03-23

組織内で使用される役割ベースのアクセス制御 (RBAC) の役割に関する情報を戻します。RBAC の役割を使用すると、ユーザーが実行できる管理タスクを指定したり、そのタスクを実行できるスコープを決定することができます。

構文

Get-CsAdminRole [-Identity <String>] [-LocalStore <SwitchParameter>]

Get-CsAdminRole [-Sid <String>] [-LocalStore <SwitchParameter>]

Get-CsAdminRole [-Filter <String>] [-LocalStore <SwitchParameter>]

解説

役割ベースのアクセス制御 (RBAC) を使用すると、管理者は Microsoft Lync Server 2010 で特定の管理タスクの制御を委任できます。たとえば、ヘルプ デスクに完全な管理者特権を付与する代わりに、これらの従業員に次のような非常に限定された権限を付与できます。ユーザー アカウントのみを管理する権限、エンタープライズ VoIP コンポーネントのみを管理する権限、アーカイブと アーカイブ サーバー のみを管理する権限。また、これらの権限の範囲を次のように制限できます。Redmond サイトのみでエンタープライズ VoIP を管理する権限を付与したり、財務組織単位 (OU) にユーザー アカウントがあるユーザーのみを管理する権限を付与したりできます。

RBAC の Lync Server 2010 実装は、次の 2 つの主要要素に基づいています。Active Directory セキュリティ グループと Windows PowerShell コマンドレットです。Lync Server 2010 をインストールすると、CsAdministrator、CsArchivingAdministrator、CsViewOnlyAdministrator などの多数のユニバーサル セキュリティ グループが作成されます。これらのユニバーサル セキュリティ グループには RBAC の役割が 1 対 1 対応で設定されています。つまり、CsArchivingAdministrator セキュリティ グループ内のすべてのユーザーは、CsArchivingAdministrator の RBAC の役割に対するすべての権限が付与されます。一方、RBAC の役割に付与されている権限は、その役割に割り当てられているコマンドレットに基づいています (コマンドレットは複数の RBAC の役割に割り当てることができます)。たとえば、ある役割が次のコマンドレットに割り当てられているとします。

Get-ArchivingPolicy

Grant-ArchivingPolicy

New-ArchivingPolicy

Remove-ArchivingPolicy

Set-ArchivingPolicy

Get-ArchivingConfiguration

New-ArchivingConfiguration

Remove-ArchivingConfiguration

Set-ArchivingConfiguration

Get-CsUser

Export-CsArchivingData

Get-CsComputer

Get-CsPool

Get-CsService

Get-CsSite

上記のリストは、仮定の RBAC の役割が割り当てられたユーザーが Windows PowerShell のリモート セッションで実行できるコマンドレットのみを表します。ユーザーが Disable-CsUser コマンドレットを実行しようとすると、そのコマンドは失敗します。仮の役割が割り当てられたユーザーが Disable-CsUser を実行する権限を持っていないためです。このことは、Lync Server コントロール パネル にも同様に当てはまります。たとえば、Lync Server コントロール パネル は RBAC の役割に従うため、アーカイブ管理者は Lync Server コントロール パネル を使用してユーザーを無効にすることができません (Lync Server コントロール パネル でコマンドを実行するたびに、実際には Windows PowerShell コマンドレットを呼び出しています)。Disable-CsUser の実行が許可されていない場合、Windows PowerShell のリモート セッションからこのコマンドレットを直接実行するか、Lync Server コントロール パネル からこのコマンドレットを間接的に実行するかは関係なく、コマンドは失敗します。

RBAC が適用されるのはリモート管理に対してのみです。Lync Server 2010 を実行しているコンピューターにログオンして Lync Server 管理シェル を開いた場合、RBAC の役割は適用されません。代わりに、主に RTCUniversalServerAdmins、RTCUniversalUserAdmins、および RTCUniversalReadOnlyAdmins の各セキュリティ グループを通じてセキュリティが適用されます。

Lync Server 2010 をインストールすると、セットアップによって、組み込みの RBAC の役割が複数作成されます。これらの役割には、音声管理、ユーザー管理、応答グループ管理などの一般的な管理領域が含まれます。これらの組み込みの役割を変更することはできません。これらの役割にコマンドレットを追加したり削除することも、役割を削除することもできません (組み込みの役割を削除しようとすると、エラー メッセージが返されます)。ただし、組み込みの役割を使ってカスタムの RBAC の役割を作成できます。これらのカスタムの役割は、管理スコープを変更することによって変更できます。たとえば、特定の Active Directory OU でユーザー アカウントを管理する役割を制限することができます。

Get-CsAdminRole コマンドレットは、組織内で使用できるすべての RBAC の役割に関する情報を戻します。

このコマンドレットを実行できるユーザー: 既定では、次のグループのメンバーは Get-CsAdminRole コマンドレットのローカル実行を承認されています。RTCUniversalUserAdmins、RTCUniversalServerAdmins、RTCUniversalReadOnlyAdmins。このコマンドレットの割り当て先になっている、RBAC のすべての役割 (自分で作成したあらゆるカスタム RBAC の役割を含む) から成る一覧を戻すには、Windows PowerShell プロンプトから次のコマンドを実行します。

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Get-CsAdminRole\b"}

パラメーター

パラメーター 必須かどうか 説明

Identity

省略可能

文字列

戻す RBAC の役割の一意の識別子です。RBAC の役割の ID は、その役割に関連付けられた Active Directory ユニバーサル セキュリティ グループの SamAccountName と同じである必要があります。たとえば、ヘルプ デスクの役割の Identity は CsHelpDesk と同じです。CsHelpDesk は、その役割に関連付けられている Active Directory セキュリティ グループの SamAccountName でもあります。

Filter

省略可能

文字列

ワイルドカードを使用して、戻す RBAC の役割 (複数も可) を指定できます。たとえば、Identity に文字列値 "Redmond" を含むすべての役割を戻すには、次の構文を使用できます。-Filter "*Redmond*" です。

Sid

省略可能

セキュリティ識別子

セキュリティ識別子 (SID) を使用して、取得する RBAC の役割を指定できます。SID は、RBAC の役割を作成するときに Lync Server 2010 によって割り当てられ、次のように表示されます。S-1-5-21-1573807623-1597889489-1765977225-1145 です。

この同じ SID は、対応する Active Directory セキュリティ グループでも見つけることができます。

LocalStore

省略可能

スイッチ パラメーター

中央管理ストア 自体からではなく、中央管理ストア のローカル レプリカから RBAC データを取得します。

入力の種類

なし。

戻り値の種類

Get-CsAdminRole を実行すると、Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role オブジェクトのインスタンスが戻されます。

-------------------------- 例 1 ------------------------

Get-CsAdminRole

例 1 に示すコマンドは、組織内で使用するよう構成されたすべての RBAC の役割に関する情報を戻します。Get-CsAdminRole をパラメーターなしで呼び出すことで、これを実行しています。

-------------------------- 例 2 ------------------------

Get-CsAdminRole -Identity "CsHelpDesk"

例 2 は、単一の RBAC の役割を戻します。この役割の ID は CsHelpDesk です。

-------------------------- 例 3 ------------------------

Get-CsAdminRole -Filter "*Voice*"

上記のコマンドは、Identity の中に文字列値 "Voice" を含むすべての RBAC の役割 (たとえば、CsVoiceAdministrator、RedmondVoiceAdministrators) を戻します。これを行うため、Get-CsAdminRole に Filter パラメーターを指定して呼び出しています。フィルター値 "*Voice*" を使用し、戻すデータを、Identity の中に文字列値 "Voice" を含む RBAC の役割に限定しています。

-------------------------- 例 4 ------------------------

Get-CsAdminRole | Where-Object {$_.IsStandardRole -eq $False}

例 4 は、組織内で使用するよう作成されているすべてのカスタムの RBAC の役割を戻します。このタスクを実行するため、まず Get-CsAdminRole を使用して、現在使用されているすべての RBAC の役割のコレクションを戻しています。次に、このコレクションを Where-Object コマンドレットにパイプ処理し、IsStandardRole プロパティが False に等しい役割のみを選択しています。定義上、この条件を満たすすべての役割は、カスタムの RBAC の役割です。

-------------------------- 例 5 ------------------------

Get-CsAdminRole | Where-Object {$_.Cmdlets -match "Set-CsUser\b"}

例 5 に示すコマンドは、Set-CsUser コマンドレットを含むすべての RBAC の役割を戻します。これを行うため、まず Get-CsAdminRole をパラメーターなしで呼び出し、組織内のすべての RBAC の役割のコレクションを戻しています。次に、このコレクションを Where-Object にパイプ処理し、Cmdlets プロパティに文字列値 "Set-CsUser\b" を含むすべての役割を抽出しています (\b は、"Set-CsUser" が文字列値全体を表していることを示すワード境界マーカーです)。

-------------------------- 例 6 ------------------------

Get-CsAdminRole | Where-Object {$_.UserScopes -match "OU: ou=Redmond,dc=litwareinc,dc=com"}

例 6 は、UserScopes プロパティ内に指定した OU (ou=Redmond、dc=litwareinc、dc=com) を含むすべての RBAC の役割に関する情報を戻します。このタスクを実行するため、まず Get-CsAdminRole を呼び出し、現在使用するため構成されているすべての RBAC の役割のコレクションを戻しています。次に、このコレクションを Where-Object にパイプ処理し、UserScopes プロパティに "OU:ou=Redmond,dc=litwareinc,dc=com" という文字列値を含む役割をすべて選択しています。

-------------------------- 例 7 ------------------------

Get-CsAdminRole -Identity "CsVoiceAdministrator" | Select-Object -ExpandProperty Cmdlets

上記のコマンドは、CsVoiceAdministrator の役割に含まれるすべてのコマンドレットの一覧を戻します。これを行うため、まず Get-CsAdminRole を使用して CsVoiceAdministrator のすべてのプロパティとプロパティ値を戻しています。次に、この情報を Select-Object コマンドレットにパイプ処理し、ExpandProperty パラメーターを使用して Cmdlets プロパティに含まれている項目をすべて表示しています。