Set-SCUserRole

修改现有 VMM 用户角色的设置。

语法

Set-SCUserRole
   [-UserRole <UserRole>]
   [-VMMServer <ServerConnection>]
   [-Name <String>]
   [-JobGroup <Guid>]
   [-AddMember <String[]>]
   [-RemoveMember <String[]>]
   [-Permission <SelfServicePermission[]>]
   [-UserRoleDataPath <String>]
   [-RemoveLibraryStoreSharePath]
   [-ShowPROTips <Boolean>]
   [-AddScope <ClientObject[]>]
   [-RemoveScope <ClientObject[]>]
   [-Description <String>]
   [-VMNetworkMaximum <UInt16>]
   [-VMNetworkMaximumPerUser <UInt16>]
   [-RemoveVMNetworkMaximum]
   [-RemoveVMNetworkMaximumPerUser]
   [-VPNConnectionMaximum <UInt16>]
   [-VPNConnectionMaximumPerUser <UInt16>]
   [-RemoveVPNConnectionMaximum]
   [-RemoveVPNConnectionMaximumPerUser]
   [-NATConnectionMaximum <UInt16>]
   [-NATConnectionMaximumPerUser <UInt16>]
   [-RemoveNATConnectionMaximum]
   [-RemoveNATConnectionMaximumPerUser]
   [-VMNetworkVPNMaximumBandwidthInKbps <UInt64>]
   [-VMNetworkVPNMaximumBandwidthOutKbps <UInt64>]
   [-RemoveVMNetworkVPNMaximumBandwidthIn]
   [-RemoveVMNetworkVPNMaximumBandwidthOut]
   [-RunAsynchronously]
   [-PROTipID <Guid>]
   [-JobVariable <String>]
   [-OnBehalfOfUser <String>]
   [-OnBehalfOfUserRole <UserRole>]
   [<CommonParameters>]

说明

Set-SCUserRole cmdlet 修改现有 Virtual Machine Manager (VMM) 用户角色的设置。 可以修改的设置取决于 VMM 用户角色的类型。

用户角色的类型如下所示:

VMM 管理员(管理员)

可以向管理员用户角色添加成员或删除成员。 不能限制此角色的成员可以管理的对象的范围。

委派管理员(DelegatedAdmin)

可以向委派的管理员用户角色添加成员以及从中删除成员。 可以扩展或限制委派的管理员用户角色的范围。 可以授予此用户角色的成员权限,以管理私有云和主机组中的所有对象。 可以允许用户管理存储在库服务器上的所有对象。 在该框架中,不能限制委派的管理员用户角色的成员可以执行的操作。

Read-Only 管理员(ReadOnlyAdmin)

可以将成员添加到 Read-Only 管理员用户角色并从中删除成员。 可以扩展或限制 Read-Only 管理员用户角色的范围。 但是,用户角色的成员只能查看其分配范围内对象的属性、状态和作业状态。 它们无法修改任何对象。

Self-Service 用户(SelfServiceUser)

可以向 Self-Service 用户角色添加成员或删除成员。 可以扩展或限制 Self-Service 用户角色的成员的范围和操作。 可以授予 Self-Service 用户角色成员管理私有云中的所有对象的权限。 可以授予创建虚拟机的权限、将虚拟机存储在虚拟机所存储的云中的虚拟机路径的权限,以及使用模板对象创建虚拟机的权限。 在该框架中,可以授予自助服务用户可以执行的 Self-Service 用户角色操作的成员。 还可以通过设置适用于每个用户或所有用户的配额来限制自助服务用户可以创建的虚拟机数。

可以授予自助服务用户的操作包括:

  • AllowLocalAdmin。 授予虚拟机上的用户本地管理员权限。
  • 作者。 创作虚拟机和服务模板。
  • CanShare。 与其他 Self-Service 用户共享资源。
  • CanReceive。 接收来自其他 Self-Service 用户的资源。
  • 检查站。 创建和管理虚拟机检查点。
  • CheckpointRestoreOnly。 只能还原检查点。
  • 创造。 仅从模板创建虚拟机和服务。
  • CreateFromVHDOrTemplate。 从虚拟硬盘(VHD)文件或模板创建虚拟机和服务。
  • PauseAndResume。 暂停和恢复虚拟机和服务。
  • RemoteConnect。 远程连接到虚拟机。
  • 删除。 删除虚拟机和服务。
  • 救。 保存虚拟机和服务。
  • 关闭。 关闭虚拟机。
  • 开始。 启动虚拟机和服务。
  • 停。 停止虚拟机和服务。
  • 商店。 将虚拟机存储在库中。

示例

示例 1:将用户添加到 VMM 管理员用户角色

PS C:\> $UserRole = Get-SCUserRole -Name "Administrator"
PS C:\> Set-SCUserRole -UserRole $UserRole -AddMember "Contoso\User01","Contoso\User02"

第一个命令获取名为 Administrator 的用户角色对象,然后将该对象存储在$UserRole变量中。

第二个命令将 User01 和 User02 添加到管理员用户角色。 这两个用户都是 Contoso.com 域的成员。

示例 2:使用管道将用户添加到管理员角色

PS C:\> Get-SCUserRole -VMMServer "VMMServer01.Contoso.com" | where { $_.Profile -eq "Administrator" } | Set-SCUserRole -AddMember "Contoso\User03"

此命令从 VMMServer01 获取所有用户角色对象,选择其配置文件为管理员的用户角色对象,然后将 User03 添加到管理员用户角色。

示例 3:通过将云添加到其范围来修改现有 Self-Service 用户角色

PS C:\> $Cloud = Get-SCCloud -Name "Cloud02"
PS C:\> $UserRole = Get-SCUserRole -Name "ContosoSelfServiceUsers"
PS C:\> Set-SCUserRole -UserRole $UserRole -AddScope $Cloud

第一个命令获取名为 Cloud02 的云对象,然后将该对象存储在$Cloud变量中。

第二个命令获取名为 ContosoSelfServiceUsers 的用户角色对象,然后将该对象存储在$UserRole配置文件中。

最后一个命令通过将存储在$Cloud中的云添加到其范围来修改存储在$UserRole中的用户角色的范围。

示例 4:从管理员用户角色中删除指定用户

PS C:\> $UserRole = Get-SCUserRole -Name "Administrator"
PS C:\> Set-SCUserRole -UserRole $UserRole -RemoveMember "Contoso\User01"

第一个命令获取名为 Administrator 的用户角色对象,然后将该对象存储在$UserRole变量中。

第二个命令从管理员用户角色中删除 User01。 User01 是 Contoso.com 域的成员。

示例 5:将云添加到 Self-Service 用户角色的范围

PS C:\> $Cloud = Get-SCCloud -Name "Cloud03"
PS C:\> Get-SCUserRole -Name "ContosoSelfServiceUsers" | Set-SCUserRole -AddScope $Cloud

第一个命令获取名为 Cloud03 的云对象,然后将该对象存储在$Cloud变量中。

第二个命令获取名为 ContosoSelfServiceUsers 的用户角色对象,然后将该用户角色对象传递给当前 cmdlet。 此 cmdlet 将存储在$Cloud中的云添加到用户角色。

示例 6:修改 Self-Service 用户角色的成员在其虚拟机上可以执行的操作

PS C:\> $UserRole = Get-SCUserRole -VMMServer "VMMServer01.Contoso.com" -Name "ContosoSelfServiceUsers"
PS C:\> Set-SCUserRole -UserRole $UserRole -Permission "Create,PauseAndResume,Stop,AllowLocalAdmin,Store"

第一个命令获取 VMMServer01 上名为 ContosoSelfServiceUsers 的用户角色对象,然后将该对象存储在$UserRole变量中。

第二个命令修改存储在 $UserRole 中的用户角色的成员的权限,以允许创建、PauseAndResume、Stop、AllowLocalAdmin 和 Store 权限。

参数

-AddMember

指定此 cmdlet 添加到具有成员概念的对象(如组)的成员数组。 例如,此 cmdlet 可以将一个或多个 Active Directory® 域服务域用户或组添加到用户角色。 使用以下格式指定成员:

  • 域\用户
  • 用户
  • User@Domain
  • Domain\LabGroupAlias
  • LabGroupAlias

实验室组别名是 Active Directory 域服务安全组,而不是电子邮件别名。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-AddScope

指定此 cmdlet 添加到此用户角色成员可以管理的对象范围的范围数组。

类型:ClientObject[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Description

指定用户角色的说明。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-JobGroup

指定一系列命令的标识符,这些命令在包含同一作业组标识符运行的最后一个命令之前作为集运行。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-JobVariable

指定在其中跟踪和存储作业进度的变量。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Name

指定用户角色的新名称。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NATConnectionMaximum

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-NATConnectionMaximumPerUser

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-OnBehalfOfUser

指定用户名。 此 cmdlet 代表此参数指定的用户运行。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-OnBehalfOfUserRole

指定用户角色。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。 此 cmdlet 代表此参数指定的用户角色运行。

类型:UserRole
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Permission

指定 Self-Service 用户角色的成员可以在其虚拟机或服务上执行的操作数组。 有效值为:

  • AllowLocalAdmin
  • 作者
  • CanShare
  • CanReceive
  • 检查站
  • CheckpointRestoreOnly
  • 创造
  • CreateFromVHDOrTemplate
  • PauseAndResume
  • RemoteConnect
  • 删除
  • 关闭
  • 开始
  • 商店

如果授予 CreateFromVHDOrTemplate 权限,则还授予“创建”权限。 如果授予检查点权限,则还会授予 CheckpointRestoreOnly 权限。

类型:SelfServicePermission[]
别名:VMPermission
接受的值:Create, PauseAndResume, Start, Stop, AllowLocalAdmin, RemoteConnect, Remove, Shutdown, Checkpoint, Store, Save, Author, CanShare, CanReceive, CreateFromVHDOrTemplate, CheckpointRestoreOnly, AuthorVMNetwork, CreateShielded
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PROTipID

指定触发此操作的性能和资源优化提示(PRO 提示)的 ID。 此参数允许你审核 PRO 提示。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveLibraryStoreSharePath

指示此 cmdlet 清除自助服务用户的用户角色数据路径。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveMember

指定此 cmdlet 从具有成员身份概念的 VMM 对象中删除的成员数组,例如组。 例如,此 cmdlet 可以从用户角色中删除一个或多个 Active Directory 域服务域用户或组。 使用以下格式指定成员:

  • 域\用户
  • 用户
  • User@Domain
  • Domain\LabGroupAlias
  • LabGroupAlias

实验室组别名是 Active Directory 域服务安全组,而不是电子邮件别名。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveNATConnectionMaximum

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveNATConnectionMaximumPerUser

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveScope

指定要从此用户角色的成员可以管理的对象范围中删除的 VMM 对象的数组。

类型:ClientObject[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVMNetworkMaximum

指示此 cmdlet 删除虚拟机网络最大设置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVMNetworkMaximumPerUser

指示此 cmdlet 删除每个用户设置的虚拟机网络最大值。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVMNetworkVPNMaximumBandwidthIn

指示此 cmdlet 删除传入连接的虚拟专用网络(VPN)最大带宽设置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVMNetworkVPNMaximumBandwidthOut

指示此 cmdlet 删除传出连接的 VPN 最大带宽设置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVPNConnectionMaximum

指示此 cmdlet 删除 VPN 连接最大设置。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RemoveVPNConnectionMaximumPerUser

指示此 cmdlet 删除每个用户设置的最大 VPN 连接数。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

指示作业以异步方式运行,以便控件立即返回到命令行界面。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ShowPROTips

指示是否显示 PRO 提示。 此参数仅适用于 Self-Service 用户角色。

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UserRole

指定此 cmdlet 修改的用户角色对象。 若要获取用户角色,请使用 Get-SCUserRole cmdlet。

类型:UserRole
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

-UserRoleDataPath

指定库共享的路径,Self-Service 用户角色的成员可用于上传数据。 以以下格式指定路径:\LibraryServerName\LibraryShareName。

类型:String
别名:LibraryStoreSharePath
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMMServer

指定此 cmdlet 修改用户角色的 VMM 服务器。

类型:ServerConnection
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMNetworkMaximum

指定用户角色的最大虚拟机网络数。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMNetworkMaximumPerUser

指定用户的最大虚拟机网络数。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMNetworkVPNMaximumBandwidthInKbps

指定 VPN 传入流量的最大带宽(千比特/秒)。

类型:UInt64
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VMNetworkVPNMaximumBandwidthOutKbps

为 VPN 的传出流量指定每秒的最大带宽(千比特/秒)。

类型:UInt64
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VPNConnectionMaximum

指定 VPN 的最大连接数。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-VPNConnectionMaximumPerUser

指定 VPN 每个用户的最大连接数。

类型:UInt16
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输出

UserRole

备注

  • 若要列出可为自助服务用户指定的所有可用权限,请键入以下命令:

PS C:\> [enum]::GetValues([Microsoft.VirtualManager.Remoting.SelfServicePermission])