Add-SPShellAdmin

向指定数据库的 SharePoint_Shell_Access 角色添加用户。

语法

Add-SPShellAdmin
   [-UserName] <String>
   [-AssignmentCollection <SPAssignmentCollection>]
   [-Confirm]
   [-database <SPDatabasePipeBind>]
   [-WhatIf]
   [<CommonParameters>]

说明

在运行此 cmdlet 以将用户添加到 SharePoint_Shell_Access 角色中时,您必须拥有 SQL Server 实例上 securityadmin 固定服务器角色和所有受影响数据库上 db_owner 固定服务器角色中的成员身份,并且在本地计算机上必须拥有本地管理权限。

此 cmdlet 仅用于使用 Windows 身份验证的数据库。 使用 SQL 身份验证的数据库不必使用此 cmdlet;如果使用可能会发出错误消息。

按照以下操作,使用 Add-SPShellAdmin cmdlet 将用户添加到 SharePoint_Shell_Access 角色中:

--如果您仅指定用户,用户将添加到服务器场配置数据库的角色中。

--如果您使用 database 参数,用户将添加到服务器场配置数据库、管理中心内容数据库和指定数据库的角色中。 由于大多数管理操作都需要访问管理中心内容数据库,因此使用 database 参数是首选的方法。

在将用户添加到 SharePoint_Shell_Access 角色后,该用户将添加到所有 Web 服务器上的 WSS_Admin_WPG 组中。 如果目标数据库没有 SharePoint_Shell_Access 角色,则会自动创建该角色。

若要将 Windows PowerShell用于 SharePoint 产品,用户必须是配置数据库中SharePoint_Shell_Access角色的成员,并且必须是安装 SharePoint 产品的计算机上的 WSS_ADMIN_WPG 本地组的成员。

但是,运行此 cmdlet 的结果是,使用 UserName 参数指定的用户将在受影响的数据库上具有 SPDataAccess 角色(如果存在),或者db_owner角色(如果 SPDataAccess 角色不存在)。如上所述。 因此,您应该仔细规划向哪些用户授予此访问权限。

因此,您应该仔细规划向哪些用户授予此访问权限。

有关 SharePoint 产品Windows PowerShell的权限和最新信息,请参阅 中的https://go.microsoft.com/fwlink/p/?LinkId=251831联机文档。

示例

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

Add-SPShellAdmin -UserName CONTOSO\User1

此示例将名为 User1 的新用户仅添加到服务器场配置数据库中的 SharePoint_Shell_Access 角色,同时确保将该用户添加到服务器场的每台服务器上的 WSS_Admin_WPG 本地组。

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

Add-SPShellAdmin -UserName CONTOSO\User1 -database 4251d855-3c15-4501-8dd1-98f960359fa6

此示例通过将数据库 GUID 传递到 cmdlet,从而将名为 User1 的新用户同时添加到指定内容数据库和配置数据库的 SharePoint_Shell_Access 角色中。

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

Get-SPDatabase | Where-Object {$_.WebApplication -like "SPAdministrationWebApplication"} | Add-SPShellAdmin CONTOSO\User1

此示例将名为 User1 的新用户同时添加到指定管理中心内容数据库和配置数据库的 SharePoint_Shell_Access 角色。

-------------------示例 4-------------------------

Get-SPDatabase | ?{$_.Name -eq "WSS_Content"} | Add-SPShellAdmin -Username CONTOSO\User1

此示例通过将数据库名称传递到 cmdlet,从而将名为 User1 的新用户同时添加到指定内容数据库和配置数据库的 SharePoint_Shell_Access 角色中。

参数

-AssignmentCollection

管理对象以便正确进行处理。 使用 SPWeb 或 SPSite 等对象可能会耗用大量内存,而且在 Windows PowerShell 脚本中使用这些对象需要正确管理内存。 通过使用 SPAssignment 对象,可以将对象分配给变量,然后在不需要这些对象时对它们进行处理,以释放内存。 在使用 SPWeb、SPSite 或 SPSiteAdministration 对象时,如果不使用分配集合或 Global 参数,则会自动处理这些对象。

在使用 Global 参数时,所有对象均包含在全局存储中。 如果未立即使用对象,或未通过使用 Stop-SPAssignment 命令来处理对象,则可能会发生内存不足的情况。

Type:SPAssignmentCollection
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server 2010, SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019

-Confirm

执行命令前,看到确认提示。 有关详细信息,请键入以下命令:get-help about_commonparameters

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server 2010, SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019

-database

指定要向其添加用户的 SharePoint_Shell_Access 角色所属的数据库或数据库对象的 GUID。 如果未指定 database 参数,则使用配置数据库。 将始终包含服务器场配置数据库,即使指定了其他数据库也是如此。

Type:SPDatabasePipeBind
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False
Applies to:SharePoint Server 2010, SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019

-UserName

指定要添加到目标数据库的 SharePoint_Shell_Access 角色的用户名。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server 2010, SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019

-WhatIf

显示一条描述命令作用的消息,而不执行命令。 有关详细信息,请键入以下命令:get-help about_commonparameters

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:SharePoint Server 2010, SharePoint Server 2013, SharePoint Server 2016, SharePoint Server 2019