Remove-CsAdminRole

 

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

删除现有的基于角色的访问控制 (RBAC) 角色。RBAC 角色用于指定允许用户执行的管理任务,以及确定允许用户执行这些任务的作用域。

语法

Remove-CsAdminRole -Identity <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Remove-CsAdminRole -Sid <String> [-Confirm [<SwitchParameter>]] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

Remove-CsAdminRole [-Confirm [<SwitchParameter>]] [-Filter <String>] [-Force <SwitchParameter>] [-WhatIf [<SwitchParameter>]]

详细说明

管理员可以使用 RBAC 在 Microsoft Lync Server 2010 中委派特定管理任务的控制。例如,不必为组织的技术支持人员授予完全管理员权限,可以为这些员工授予很具体的权限:仅管理用户帐户的权限;仅管理企业语音组件的权限;以及仅管理存档和存档服务器的权限。此外,还可将这些权限限制在以下作用域:可以给予某人管理企业语音的权限,但仅限于在 Redmond 站点中;可以给予其他人管理用户的权限,但仅当这些用户帐户处于 Finance 组织单位 (OU) 中才能进行管理。

RBAC 的 Lync Server 2010 实现基于两个关键元素:Active Directory 安全组和 Windows PowerShell cmdlet。安装 Lync Server 2010 时,会为您创建很多通用安全组,如 CsAdministrator、CsArchivingAdministrator 和 CsViewOnlyAdministrator。这些通用安全组与 RBAC 角色具有一对一的对应关系;这意味着,处于 CsArchivingAdministrator 安全组中的任何用户都具有授予给 CsArchivingAdministrator RBAC 角色的所有权限。相应地,授予给 RBAC 角色的权限基于分配给该角色的 cmdlet(cmdlet 可以分配给多个 RBAC 角色)。例如,假设为角色分配了以下 cmdlet:

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 的远程会话中运行的 cmdlet。如果用户尝试运行 Disable-CsUser cmdlet,则该命令将失败;这是因为分配了假设性角色的用户无权运行 Disable-CsUser。这同样适用于 Lync Server 控制面板。例如,存档管理员无法使用 Lync Server 控制面板禁用用户,原因是 Lync Server 控制面板遵守 RBAC 角色。(任何时候您在 Lync Server 控制面板中运行命令,实际上都是在调用 Windows PowerShell cmdlet。)如果系统不允许您运行 Disable-CsUser,那么无论是直接从 Windows PowerShell 运行该 cmdlet,还是从 Lync Server 控制面板内间接运行该 cmdlet,实际上没有什么区别:该命令都会失败。)

请注意,RBAC 仅适用于远程管理。如果您已登录到运行 Lync Server 2010 的计算机并打开 Lync Server 命令行管理程序,则不会强制执行 RBAC 角色。而是,将主要通过 RTCUniversalServerAdmins、RTCUniversalUserAdmins 和 RTCUniversalReadOnlyAdmins 安全组强制执行安全性。

安装 Lync Server 2010 时,安装程序会创建若干内置 RBAC 角色,这些角色涵盖常见的管理区域,如语音管理、用户管理和响应组管理。无法通过任何方式修改这些内置角色:无法在这些角色中添加或删除 cmdlet,并且无法删除这些角色。(删除内置角色的任何尝试都将导致产生错误消息。)但是,可以使用内置角色来创建自定义 RBAC 角色。然后,可以通过更改管理作用域来修改这些自定义角色;例如,可以将角色限制为管理特定 Active Directory OU 中的用户帐户。

可以使用 Remove-CsAdminRole cmdlet 删除您创建的任何自定义角色。请注意,Remove-CsAdminRole 不会删除与自定义角色相对应的 Active Directory 安全组,也不会删除已分配给该组的任何成员。此 cmdlet 仅确保不会使用该自定义角色委派 Lync Server 2010 的控制。

删除 RBAC 角色时,Windows PowerShell 将做出响应,询问您是否确实要删除此角色,如果您未响应该提示(或未答复“是”),则不会删除此角色。为避免出现这些确认提示,请使用 Confirm 参数,并将参数值设置为 $False:

Remove-CsAdminRole RedmondAdministrators –Confirm:$False

谁能运行此 cmdlet:默认情况下,以下各组的成员有权在本地运行 Remove-CsAdminRole cmdlet:RTCUniversalServerAdmins。要返回所有已分配此 cmdlet 的 RBAC 角色(包括您自己创建的所有自定义 RBAC 角色)列表,请根据 Windows PowerShell 提示运行以下命令:

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

参数

参数 必需 类型 描述

Identity

可选

字符串

要删除的 RBAC 角色的唯一标识符。RBAC 角色的 Identity 必须与 Active Directory 通用安全组(与该角色关联的通用安全组)的 SamAccountName 相同。例如,Help Desk 角色的 Identity 等于 CsHelpDesk;CsHelpDesk 也是与该角色关联的 Active Directory 安全组的 SamAccountName。

Filter

可选

字符串

使您可以使用通配符指定要删除的自定义 RBAC 角色。例如,要删除 Identity 中包含字符串值“Redmond”的所有自定义角色,您可以使用以下语法:-Filter "*Redmond*"。

Sid

可选

安全标识符

使您可以使用安全标识符 (SID) 指定要删除的 RBAC 角色。SID 由 Lync Server 2010 在创建 RBAC 角色时分配,类似如下内容:S-1-5-21-1573807623-1597889489-1765977225-1145。可以使用 Get-CsAdminRole cmdlet 检索给定 RBAC 角色的 SID。

Force

可选

开关参数

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

WhatIf

可选

开关参数

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

Confirm

可选

开关参数

使您可以绕过在尝试删除 RBAC 角色时出现的确认提示。要绕过该提示,请包含 Confirm 参数,并将参数值设置为 $False:

Remove-CsAdminRole RedmondAdministrators –Confirm:$False

输入类型

Microsoft.Rtc.Management.ADConnect.Schema.ADUser 对象。Remove-CsAdminRole 接受通过管道传递的用户对象的输入。

返回类型

Remove-CsAdminRole 删除 Microsoft.Rtc.Management.WritableConfig.Settings.Roles.Role 对象的现有实例。

示例

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

Remove-CsAdminRole -Identity "RedmondHelpDesk"

示例 1 中显示的命令删除 Identity 为 RedmondHelpDesk 的 RBAC 角色。

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

Remove-CsAdminRole -Filter "*Redmond*"

上述命令删除 Identity 中包含字符串值“Redmond”的所有 RBAC 角色。

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

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

在示例 3 中,此命令删除已创建为在组织中使用的所有自定义 RBAC 角色。为执行此操作,该命令首先调用不带任何参数的 Get-CsAdminRole,以返回 RBAC 角色的集合。然后,将该集合通过管道传递到 Where-Object cmdlet,后者会仅选择 IsStandardRole 属性等于 False 的角色。根据定义,任何满足该条件的角色都是自定义角色。接下来,将这些自定义角色通过管道传递到 Remove-CsAdminRole cmdlet,并由其删除。