在 SharePoint Server 中分配或删除服务应用程序的管理员

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SharePoint Server 服务应用程序的管理员必须是场管理员组的成员,才能为该服务应用程序分配或删除其他管理员。 服务应用程序管理员被授予对 SharePoint 管理中心网站的安全修整访问权限,可以管理与服务应用程序相关的设置,但必须是服务器场管理员组的成员,才能添加和删除其他服务应用程序管理员。

注意

[!注意] 默认情况下,服务器场 Administrators 组的成员还具有管理所有服务应用程序的权限。

可以使用 SharePoint 管理中心网站或使用 PowerShell Microsoft分配或删除服务应用程序管理员。

使用管理中心分配或删除服务应用程序的管理员

  1. 确认执行此过程的用户帐户是 服务器场管理员 组的成员。

  2. On the Central Administration Home page, in the Application Management section, click Manage service applications.

  3. 在"管理服务应用程序"页面上,选择包含您向其添加或从其删除管理员的服务应用程序的行。 功能区将变为可用。

  4. On the ribbon, click Administrators.

  5. 添加管理员:

    • In the first text box on the page, type the user accounts or groups that you want to add. You can click the People icon to validate a name. You can click the Address book icon to search for users to add. You can add multiple administrators into the text box.
    • After you have added the administrators, click OK.
  6. 若要删除管理员,请执行以下操作:

    • 在页面上的第二个文本框中,选择要删除的管理员。 此步骤不会从系统中删除用户,只会撤销用户对所选服务应用程序的管理权限。
    • 单击“删除”
    • After you have finished removing administrators, click OK.

使用 PowerShell 向服务应用程序分配或从其中删除管理员的具体步骤

  1. 确认满足以下最低要求:

    • 您必须对 SQL Server 实例具有 securityadmin 固定服务器角色的成员资格。

    • 您必须具有对所有要更新的数据库具有 db_owner 固定数据库角色的成员资格。

    • 必须属于在其上运行 PowerShell cmdlet 的服务器上的管理员组。

    注意

    如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员以请求这些权限。

    有关 PowerShell 权限的详细信息,请参阅 权限Add-SPShellAdmin

  2. 启动 SharePoint 命令行管理程序。

  3. 若要创建声明主体,请在 PowerShell 命令提示符处,键入以下命令:

    $principal = New-SPClaimsPrincipal "<contoso\jane>" -IdentityType WindowsSamAccountName
    
    

    其中 contoso\jane 是要为其分配管理权限的用户名。 用户名应以 或 contoso\jane 格式jane@contoso.com输入。 新的声明主体存储在 $principal 变量中。

  4. 要检索服务应用程序,请键入以下命令:

    $spapp = Get-SPServiceApplication -Name "<ServiceApplicationDisplayName>"
    

    其中 ServiceApplicationDisplayName 是服务应用程序的显示名称。 服务应用程序标识存储在 $spapp 变量中。

    重要

    [!重要说明] 显示名称必须用引号括起来,且必须与服务应用程序显示名称完全匹配。 这包括大写。 如果您具有多个显示名称相同的服务应用程序(我们不建议这样做),您可以使用 Get-SPServiceApplication cmdlet 查看所有服务应用程序。 然后您可以按其 GUID 识别服务应用程序。 有关详细信息,请参阅 Get-SPServiceApplication

  5. 要检索服务应用程序的管理员安全对象,请键入以下命令:

    $security = Get-SPServiceApplicationSecurity $spapp -Admin
    

    检索到的管理员安全对象存储在 $security 变量中。

    警告

    [!警告] 使用此命令时请务必附加 -Admin 参数。

  6. 若要为在) 此过程的步骤 6 中创建的新声明主体 $principal (标识的用户分配或撤销管理权限,$security此过程的步骤 8) 中 获取的服务应用程序 管理员安全对象 ($security,请使用以下示例所示的相应命令:

    • 要分配管理权限,请键入以下命令:
    Grant-SPObjectSecurity $security $principal "Full Control"
    
    
    • 要恢复管理权限,请键入以下命令:
    Revoke-SPObjectSecurity $security $principal
    
  7. 若要 将更新$security 安全对象分配给服务应用程序,请键入以下命令:

    Set-SPServiceApplicationSecurity $spapp $security -Admin
    

    警告

    [!警告] 使用此命令时请务必附加 -Admin 参数。

  8. 要确认服务应用程序的安全对象相应地更新,请键入以下命令:

    (Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules
    
    

示例

在以下示例中,服务帐户用户“contoso\jane”已添加到名为“Contoso Visio Graphics”的服务应用程序中。

$principal = New-SPClaimsPrincipal "contoso\jane" -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso Visio Graphics"
$security = Get-SPServiceApplicationSecurity $spapp -Admin
Grant-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $spapp $security -Admin
(Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules

在以下示例中,服务帐户用户"contoso\jane"将从名为"Contoso Visio Graphics"的服务应用程序的管理员安全对象中删除。

$principal = New-SPClaimsPrincipal "contoso\jane" -IdentityType WindowsSamAccountName
$spapp = Get-SPServiceApplication -Name "Contoso Visio Graphics"
$security = Get-SPServiceApplicationSecurity $spapp -Admin
Revoke-SPObjectSecurity $security $principal "Full Control"
Set-SPServiceApplicationSecurity $spapp $security -Admin
(Get-SPServiceApplicationSecurity $spapp -Admin).AccessRules

有关详细信息,请参阅以下 Microsoft PowerShell 文章:

注意

[!注意] 我们建议您在执行命令行管理任务时使用 Windows PowerShell。 Stsadm 命令行工具已被弃用,仍然包含该工具是为了支持与之前产品版本的兼容性。