Set-CsAdminRole
上次修改主題的時間: 2012-03-26
修改現有的角色存取控制 (RBAC) 角色。RBAC 角色可用來指定允許使用者執行的管理工作,並決定允許使用者執行這些工作的範圍。
語法
Set-CsAdminRole -Identity <String> [-ConfigScopes <PSListModifier>] [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-UserScopes <PSListModifier>] [-WhatIf [<SwitchParameter>]]
詳細描述
RBAC 可讓系統管理員委派控制 Microsoft Lync Server 2010 中的特定管理工作。例如,您可以不授予組織服務台完整的系統管理員權限,而是給予這些員工非常特定的權限:只管理使用者帳戶的權限;只管理 Enterprise Voice 元件的權限;只管理封存和封存伺服器的權限。此外,這些權利可限制在以下範圍:可提供某些人管理 Enterprise Voice 的權限,但僅限於 Redmond 站台;也可提供其他人管理使用者的權限,但僅限於那些帳戶屬於 Finance 組織單位 (OU) 的使用者。
RBAC 的 Lync Server 2010 實作根據以下兩個重要元素:Active Directory 安全性群組與 Windows PowerShell 指令程式。當您安裝 Lync Server 2010 時,系統會為您建立一些萬用安全性群組,例如 CsAdministrator、CsArchivingAdministrator 及 CsViewOnlyAdministrator。這些萬用安全性群組具有一個含 RBAC 角色的一對一對應;這表示任何位於 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
上述清單代表唯一的指令程式,該指令程式允許在遠端 Windows PowerShell 工作階段中執行指派某假設 RBAC 角色的使用者。如果使用者嘗試執行 Disable-CsUser 指令程式,該命令將會失敗;這是因為指派假設角色的使用者並不具有執行 Disable-CsUser 的權限。這也可以套用至 Lync Server 控制台。例如,封存系統管理員無法使用 Lync Server 控制台 來停用使用者,因為 Lync Server 控制台 遵守 RBAC 角色 (執行 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 中,將角色限制在管理使用者帳戶。
任何您所建立的自訂角色都必須以下列範本為依據:現有的 RBAC 角色。例如,若要建立 Dial-In Conferencing Administrator 角色,您必須有效地複製現有的 RBAC 角色 (例如,可能會以現有的 Voice Administrator 角色來做為 Dial-In Conferencing Administrator 角色的依據)。在建立自訂的角色之後,接著可以使用 Set-CsAdminRole 來修改該新角色的屬性。
誰可以執行此 Cmdlet:下列群組的成員預設會獲授權可以在本機上執行 Set-CsAdminRole Cmdlet:RTCUniversalServerAdmins。若要傳回已指派此 Cmdlet 的所有 RBAC 角色的清單 (包括您自行建立的任何自訂 RBAC 角色),請在 Windows PowerShell 提示字元中執行下列命令:
Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Set-CsAdminRole"}
參數
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
Identity |
必要 |
字串 |
要修改之 RBAC 角色的唯一識別碼。RBAC 角色的 Identity 必須和與該角色相關聯之 Active Directory 萬用安全性群組的 SamAccountName 相同。例如,Help Desk 角色具有等於 CsHelpDesk 的 Identity;CsHelpDesk 也是與該角色相關聯之 Active Directory 萬用安全性群組的 SamAccountName。 |
ConfigScopes |
選用 |
PS 清單修改程式 |
限制指令程式在指定站台內對於組態設定的範圍。若要將指令程式範圍限制在單一站台,請使用類似下列的語法:-ConfigScopes site:Redmond。您可以使用以逗號分隔的清單來指定多個站台:-ConfigScopes "site:Redmond, "site:Dublin"。您也可以將 ConfigScopes 屬性設定為 "global"。 指派值給 ConfigScopes 參數時,您必須使用 "site:"前置字元後面要加上站台之 SiteId 屬性的值;SiteId 不一定與站台的 Identity 或站台的 DisplayName 有相同的值。若要決定指定站台的 SiteId,您可以使用類似下列的命令: Get-CsSite "Redmond" | Select-Object SiteId 您必須為 ConfigScopes 或 UserScopes 屬性 (或兩者) 指定值。 |
UserScopes |
選用 |
PS 清單修改程式 |
限制指令程式在指定 OU 內對於使用者管理活動的範圍。若要將指令程式範圍限制在單一 OU,請使用類似下列的語法:-UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com"。您可以使用以逗號分隔的清單來指定多個 OU:-UserScopes "OU:ou=Redmond,dc=litwareinc,dc=com", "OU:ou=Dublin,dc=litwareinc,dc=com"。若要從角色新增範圍 (或移除現有範圍),請使用 Windows PowerShell 清單修飾詞語法。如需詳細資料,請參閱本說明主題中的<範例>一節。 您必須為 ConfigScopes 或 UserScopes 屬性 (或兩者) 指定值。 |
Force |
選用 |
切換參數 |
隱藏顯示當執行命令時可能發生的任何非嚴重錯誤訊息。 |
WhatIf |
選用 |
切換參數 |
描述執行命令後的結果,但無須實際執行命令。 |
Confirm |
選用 |
切換參數 |
執行命令前先要求您確認。 |
輸入類型
無。
傳回類型
Set-CsAdminRole 不會傳回值或物件。反之,指令程式會設定 Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role 物件的執行個體。
範例
-------------------------- 範例 1 ------------------------
Set-CsAdminRole -Identity "RedmondVoiceAdministrators" -UserScopes @{Add="OU:ou=Portland,dc=litwareinc,dc=com"}
上述命令會針對 RBAC 角色 RedmondVoiceAdministrators,在 UserScopes 屬性中新增 OU (Portland)。為達成此目的,命令會包含 UserScopes 屬性和下列參數值:@{Add="OU:ou=Portland,dc=litwareinc,dc=com"}。此語法會將辨別名稱為 "ou=Portland,dc=litwareinc,dc=com" 的 OU 新增至已經存在於 UserScopes 屬性中的 OU。
-------------------------- 範例 2 ------------------------
Set-CsAdminRole -Identity "RedmondVoiceAdministrators" -UserScopes @{Remove="OU:ou=Portland,dc=litwareinc,dc=com"}
範例 2 所示的命令會從 RBAC 角色 RedmondVoiceAdministrators 中移除 Portland OU。為達成此目的,命令會包含 UserScopes 屬性和下列參數值:@{Remove="OU:ou=Portland,dc=litwareinc,dc=com"}。此語法會從已經存在於 UserScopes 屬性中的 OU 集合刪除辨別名稱為 "ou=Portland,dc=litwareinc,dc=com" 的 OU。
-------------------------- 範例 3 ------------------------
Set-CsAdminRole -Identity "RedmondVoiceAdministrators" -ConfigScopes @{Add="site:Redmond"}
在範例 3 中,系統會針對 RBAC 角色 RedmondVoiceAdministrators,將新站台 (有 SiteId Redmond 的站台) 新增至 ConfigScopes 屬性。為達成此目的,命令會包含 ConfigScopes 屬性和下列參數值:@{Add="OU:ou=Portland,dc=litwareinc,dc=com"}。此語法會將 Redmond 站台新增至已存在於 ConfigScopes 屬性中的任何項目。
-------------------------- 範例 4 ------------------------
Set-CsAdminRole -Identity "RedmondVoiceAdministrators" -ConfigScopes @{Remove="siteRedmond"}
範例 4 所示的命令會從 RBAC 角色 RedmondVoiceAdministrators 中移除 Redmond 站台。為達成此目的,命令會包含 ConfigScopes 屬性和下列參數值:@{Remove="site:Redmond"}。此參數會從 ConfigScopes 屬性中的現有項目集合刪除 Redmond 站台。請注意,如果 Redmond 站台是 ConfigScopes 屬性中的唯一站台,則此命令會失敗。如果您只要移除 ConfigScopes 屬性中的站台,應使用與此類似的命令,此類命令會以 Global 屬性取代 ConfigScopes 中的所有項目:
Set-CsAdminRole -Identity "RedmondVoiceAdministrators" -ConfigScopes @{Replace="Global"}